无参RCE

PHP无参RCE实战:从取反绕过到二维数组的完整利用链 本文深入剖析了PHP无参RCE的实战利用技巧,重点介绍了如何通过取反绕过字符过滤来构造函数名,并利用二维数组构建复杂的函数调用链,最终在严格受限的执行环境中实现命令执行。文章结合真实代码场景,为安全研究人员和开发者提供了从原理到自动化利用的完整攻防视角。 阅读详情

无参RCE,就是说在无法传入参数的情况下,仅仅依靠传入没有参数的函数套娃就可以达到命令执行的效果

何时有无参RCE:

if(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['code'])) {    
    eval($_GET['code']);
}

这段代码的核心就是只允许函数而不允许函数中的参数,就是说传进去的值是一个字符串接一个(),那么这个字符串就会被替换为空,如果替换后只剩下;,那么这段代码就会被eval执行。而且因为这个正则表达式是递归调用的,所以说像a(b(c()));第一次匹配后就还剩下a(b());,第二次匹配后就还剩a();,第三次匹配后就还剩;了,所以说这一串a(b(c()));就会被eval执行,但相反,像a(b('111'));这种存在参数的就不行,因为无论正则匹配多少次它的参数总是存在的。(搬自大佬blog)

写在前面:

end() : 将内部指针指向数组中的最后一个元素,并输出
next() :将内部指针指向数组中的下一个元素,并输出
prev() :将内部指针指向数组中的上一个元素,并输出
reset() : 将内部指针指向数组中的第一个元素,并输出
each() : 返回当前元素的键名和键值,并将内部指针向前移动
1.getallheaders()

获取http所有headers信息,然后可以用var_dump打印

同时可以利用类似end的函数取出数组的指定一条,如果是命令还可以将var_dump改成eval来执行语句

ps:中间件为apache

2.get_defined_vars()

更为通用,可获取$_GET $_POST $_FILES $_COOKIE全局变量并以二维数组输出

可用current将二维数组转为一维数组,这个函数的作用是返回数组中的当前单元,而它的默认是第一个单元,然后步骤同上

3.session_id()

把恶意代码写到COOKIE的PHPSESSID中,然后利用session_id()这个函数去读取

session_id()要开启session才能用,所以说要先session_start()

但PHPSESSIID中只能有A-Z a-z 0-9,-,所以说我们要先将恶意代码16进制编码以后再插入进去,而在php中,将16进制转换为字符串的函数为hex2bin

4.php函数直接读取文件
1.localeconv

localeconv() 函数返回一个包含本地数字及货币格式信息的数组

这里的var_dump(localeconv());我们能看见第一个string1就是一个“.”,这个点是由localeconv()产生的

‘.’代表的是当前目录,我们可以利用这个点完成遍历目录的操作,相当于就是linux中的ls指令

既然current()取第一个值,那么current(localeconv())构造一个‘.’,而'.' 表示当前目录,scandir('.') 将返回当前目录中的文件和子目录

最后用highlight_file()返回文件内容

2.scandir

列出目录中的文件和目录

3.current(pos)

pos()函数是current()函数的别名

它的作用就是输出数组中当前元素的值,只输出值而忽略掉键,默认是数组中的第一个值

4.chdir()

这个函数是用来跳目录的,有时想读的文件不在当前目录下就用这个来切换,因为scandir()会将这个目录下的文件和目录都列出来,那么利用操作数组的函数将内部指针移到我们想要的目录上然后直接用chdir切就好了,如果要向上跳就要构造chdir('..')

5.array_reverse()

将整个数组倒过来,有的时候当我们想读的文件比较靠后时,就可以用这个函数把它倒过来,就可以少用几个next()

6.highlight_file()

打印输出或者返回 filename 文件中语法高亮版本的代码,相当于就是用来读取文件的

PHP无参RCE攻防:从取反绕过到二维数组构造的利用链剖析 远程代码执行(RCE)是Web安全领域的核心攻防点,指攻击者通过漏洞在远程服务器上执行任意命令。其原理通常是通过应用层输入点,将恶意代码注入到服务端脚本的执行流程中。该技术的安全价值极高,一旦成功,攻击者能完全控制服务器。在PHP环境中,当常规参数传递被严格过滤时,攻击者会转向更隐蔽的无参RCE手法。这需要深刻理解PHP语言特性,例如利用位运算取反(~)和自增(++)运算符,从空字符串或特定字符(如localeconv()返回的小数点)开始,逐步生成所需的函数名和命令字符。二维数组在此过程中扮演了关键角色, 阅读详情

相关推荐

堆内存管理核心逻辑 超详细复习笔记

本文详细解析了堆内存管理的核心逻辑,包括初始化、分配和释放三个关键环节。系统通过全局堆管理结构体和链表机制实现动态内存管理:初始化时标记整块内存为空闲;分配时遍历链表查找合适空闲块并进行分割;释放时定位内存块头并重新标记为空闲,支持相邻块合并以减少碎片。文章对比了链表式管理和线性分配的优缺点,指出链表式更灵活但实现复杂,线性分配简单但无法释放。最后总结了常见错误(如指针回推错误、碎片问题)和扩展知识(不同内存管理算法)。这套机制是理解嵌入式系统和RTOS内存管理的基础。

2502_92009732的博客 1199

RCE无参数构造

一、RCE无参数构造 无参rce,就是说在无法传入参数的情况下,仅仅依靠传入没有参数的函数套娃就可以达到命令执行的效果,这在ctf中也算是一个比较常见的考点,接下来就来详细总结总结它的利用姿势。 核心的代码 if(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['code'])) { eval($_GET['code']); } 也就是说只能传入函数(),但是()里面能有参数,要是有参数的话最终的返回值不是;就不能进行匹配。例如传入A

nobugnomoney的博客 1905

为什么大语言模型推理要分成 Prefill 和 Decode?深入理解这两个阶段的真正意义

Prefill 阶段是语言模型推理中的第一个步骤,它负责处理你输入的所有上下文内容(prompt),为后续生成打下基础。“请解释一下 Transformer 的原理。这句话会被 tokenizer 编码为一串 token,比如["请", "解释", "一下", "Trans", "##former", "的", "原理", "。"]。然后这些 token 会进入 Transformer 模型进行前向传播。重点来了 👇。

Harry的博客 1万+

无参 RCE

无参rce

snowlyzz的博客 837

解决Visual C++2008安装失败,error 1935

重装系统后Visual C++没了,其他都能装上但VC2008会报这个error 1935。鉴于我把网上所有的解决方法排了一遍错,我也不知道是哪一步起效,所以就都放上来了。特别注意:报error 1935的错误原因可能不尽相同,比如我的报错开头为An error occurred,结尾为HRESULT:0x80070005。80070005 拒绝访问通常是权限问题,安装Visual C++无法写入文件夹或注册表(直接跳转第7步)

weixin_44427808的博客 1万+

节卡Jaka Zu APP编程避坑指南:从频繁通讯错误到稳定Socket交互的调试心得

本文详细解析了节卡Jaka Zu APP编程中常见的通讯错误问题,并提供了从基础排查到高级调试的完整解决方案。通过优化网络配置、固件匹配、心跳机制和数据交互规范,开发者可实现稳定的Socket通讯,有效提升工业机器人操控的可靠性。文章特别针对v1.6.7.3版本的典型问题给出了实用调试技巧。

weixin_42639633的博客 325

无参rce总结

if(';R)?正则表达式 [^\W]+\((?R)?\) 匹配了一个或多个(表示函数名),后跟一个括号(表示函数调用)。其中 (?R) 是递归引用,它只能匹配和替换嵌套的函数调用,而不能处理函数参数。使用该正则表达式进行替换后,每个函数调用都会被删除,只剩下一个分号;,而最终结果强等于;时,payload才能进行下一步。简而言之,无参数rce就是不使用参数,而只使用一个个函数最终达到目的。

weixin_66839513的博客 1445

ZYNQ工业级串口方案:AXI UART 16550扩展RS-485实战(自动方向控制+Linux驱动)

可以轻松扩展出多路工业级串口。但常规方案需要手动控制收发方向(DE/RE引脚),存在实时性差、CPU占用高等痛点。本文从硬件逻辑设计到Linux驱动开发,完整实现了ZYNQ平台的RS-485工业通信方案。,解决了传统方案实时性差的痛点。所有代码均经过实际项目验证,可直接用于生产环境。:尝试将此设计扩展为多协议兼容接口(支持RS-422/RS-232切换)!等特性,依然是现场总线通信的首选。,通过硬件逻辑+Linux驱动协同设计,实现零延迟切换。在工业自动化、能源电力等场景中,RS-485凭借。

QQ_778132974的博客 830

无参数RCE

正则的递归 正则表达式中有一种递归的用法,今天才知道。但是这种递归用法并不是所有语言都支持。它适用于PHP和java等语言。 以下列出几个简单的递归 (?R)? (?0)? \g<0>? 加号 , + 星号 * 问号 ? 一般来说问号也是递归的一种 一般用到最多就是?R。 括号里不能有参数,而有些题中就就会用这种递归的正则来过滤恶意函数,所以我们就用无参的函数像上图中套娃一样注入命令。 无参数RCE 一般情况下的命令执行都是由参数的,比如system函数,eval函数 ...

m0_62422842的博客 1950

2025华为od面试手撕代码【求字符串表达式结果】

2025华为od面试手撕代码【求字符串表达式结果】

MISAYAONE的博客 1353

【异常】OpenClaw提示Message ordering conflict - please try again. If this persists, use /new to start a fr

摘要:OpenClaw助手出现"Message ordering conflict"异常时,表明会话消息排序冲突,主要由消息队列时序错乱、会话同步异常或上下文过载引起。解决方案包括:1)基础重试暂停后单发指令;2)最优方案是发送/new重置会话;3)极端情况下需重启客户端或检查指令格式。预防建议包括避免高频并发指令、定期重置会话及确保网络稳定。该报错属业务层异常,不影响账号安全。

奶爸的编程之路,也就一周冷个三天 424

无参数读文件和RCE

无参数(No-Argument)的概念,顾名思义,就是在PHP中调用函数时,不传递任何参数。我们需要利用仅靠函数本身的返回值或嵌套无参数函数的方式,达到读取文件或远程命令执行(RCE)的目的。这类攻击通常受限于特定的代码环境,例如:只能使用不带参数的函数。传递参数时,必须是另一个函数的返回值。受限于PHP的内置安全机制,如和。

智商不在服务区的博客 1433

【WorkBuddy专栏25】如何选择大模型——积分消耗、用途场景、选型决策全指南

【WorkBuddy专栏25】如何选择大模型——积分消耗、用途场景、选型决策全指南

AI人人懂 940

无参rce

无参rce 前几天比赛中遇到的一道题,get了无参rce的一种新的方法 121.196.32.184:12001 基础绕过 访问./3b8cf4731c36d20776c76e20f9c774c7.php 参考链接https://www.jianshu.com/p/7355a5ab4822 解码提示 访问得到一个php文件 html>$file=$_POST['file'];if($file!="/xxx")die("你需要知道写入的文件名!!!!!我猜你知道到这个文件叫什么,记得加上绝对路径

Love&Share 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

无参函数的RCE

无参函数的RCE 最近遇到挺多rce的题,这里记录一下关于无参函数的rce。 先看看代码: <?php if(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['code'])) { eval($_GET['code']); } else { show_source(__FILE__); } ?> 很明了,...

silence1_的博客 2605

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

RCE无参匹配

或者用readfile、highlight_file(show_source的别名等读文件函数都可以(使用读文件,不会在网页上显示,需要用打印函数)也可读文件,常用于绕过过滤我们添加zflag.php使其排序在index.php后成为最后一个文件(出现报错的原因是PHP5.3以上默认只能传递具体的变量,而不能通过函数返回值传递,没有关系不影响我们读文件,7.3.4不报错)RCE(远程命令执行)目录遍历与文件读取绕过安全限制禁用危险函数:在php.ini中禁用eval()system()等。

qq_58456004的博客 1769

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

深入浅出带你学习无参RCE

最近找到一个VUE的文档,它将VUE的各个知识点进行了总结,整理成了《Vue 开发必须知道的36个技巧》。内容比较详实,对各个知识点的讲解也十分到位。

老司机的后备箱 967

PHP无参读取文件与RCE总结

PHP无参数文件读取与RCE技术总结 本文总结了PHP无参数环境下文件读取和远程代码执行(RCE)的技术要点。核心原理是利用无参函数的嵌套调用,通过正则限制下的函数组合实现功能。文件读取部分重点介绍了构造当前目录(.)和上级目录(..)的多种方法,包括localeconv()、chr()构造、随机哈希等技巧。RCE部分则讲解了利用HTTP头、全局变量、Session和环境变量四种方式获取外部输入并执行代码的技术,提供了详细的Payload示例和适用条件。文章最后附上了核心函数速查表,方便快速查阅关键函数及其

xuehan5205的博客 718

禁止套娃(无参RCE)

不过这道题用命令执行的方法我没有成功,因为getallheaders()和get_defined_vars()函数都被过滤了,用scandir()和session 都没办法传cat flag.执行php。利用crypt()随机生成hash值,第一个字符有概率是'.',可以通过chr(ord())截取得到。x可以通过rand()、 time()、current(localtime(time()))获得。scandir('.')扫描当前目录,得到一个数组,数组里面是当前目录下的所有文件名。没有限制,非常好用。

2301_79806187的博客 864

【Web】无字母/数字/参RCE相关例题wp

话说14号还有一场小比赛嘞,恰逢周末,好好整理一下贴出几篇文章一起学习。

uuzeray的博客 2339

php无参执行RCE

php无参执行RCE一般来说当我们可以控制或自己上传一个木马后,就可以进行任意命令执行,但像上面这样`/[^\W]+\((?R)?\)/`的正则过滤方式,我们不能输入任何参数,这样想绕过的话一个大的思路就是通过套娃,通过让一个函数的返回值作为另一个函数的参数,也就是这样`a(b(c()));`,最终达到rce的效果,下面列几种绕过方法

遇事不决冲冲冲 3403

PHP无参RCE

PHP无参RCE深入解析:通过正则限制下的代码执行技巧。核心思路是利用无参函数嵌套构造payload,主要解法包括:1) 使用getallheaders()获取可控HTTP头(PHP>=7.3支持Nginx);2) 通过get_defined_vars()读取GET参数(全版本通用);3) 纯文件操作如scandir()和readfile()组合读取flag。文章详细解析了正则限制、函数嵌套原理及不同环境下的绕过方法,提供多种payload构造方案,是掌握PHP无参RCE的经典案例。

xuehan5205的博客 602

php无参rce,php中无参函数的RCE

学习一下php中无符号的问题。1.无参数}else{show_source(__FILE__);}?>这里调用函数只能是code(a()) 也就是括号中不能含有参数。http-header传参在session_id中设置我们想要输入的RCE,达到传参的目的,但是第一点需要session_start()开启session会话。payload:code=eval(hex2bin(session_...

weixin_30920907的博客 429

无参RCE实战:PHP取反与二维数组绕过技巧解析

本文深入解析PHP无参RCE实战技巧,重点介绍取反绕过与二维数组绕过的原理与应用。通过详细的技术分析和实战案例,帮助安全研究人员理解如何在不直接传递参数的情况下实现远程代码执行,同时提供有效的防御策略。

weixin_29003437的博客 184
上一篇: 渗透测试信息打点——nmap的使用
下一篇: C++算法
-ALe-
博客等级 码龄2年 530粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值