upload labs 17

这关叫做条件竞争 虚拟网卡好像是数据包速率问题反正没试成功过___*(  ̄皿 ̄)/#____

源码这边说后台先把文件保存进文件夹再判断后缀是否合法

那么多线程的情况下就可能出现文件文件夹的文件没处理完就直接绕过了防护

先创建一个’);?>

代码为这个的php文件 意思是当访问这个之后就会创建一个shell2.php的文件并写入一句话木马
fopen()函数的用法
1、fopen() 函数打开一个文件或 URL。
2、如果 fopen() 失败,它将返回 FALSE 并附带错误信息。您可以通过在函数名前面添加一个 ‘@’ 来隐藏错误输出。
“r” (只读方式打开,将文件指针指向文件头)
“r+” (读写方式打开,将文件指针指向文件头)
“w” (写入方式打开,清除文件内容,如果文件不存在则尝试创建之)
“w+” (读写方式打开,清除文件内容,如果文件不存在则尝试创建之)
“a” (写入方式打开,将文件指针指向文件末尾进行写入,如果文件不存在则尝试创建之)
“a+” (读写方式打开,通过将文件指针指向文件末尾进行写入来保存文件内容)
“x” (创建一个新的文件并以写入方式打开,如果文件已存在则返回 FALSE 和一个错误)
“x+” (创建一个新的文件并以读写方式打开,如果文件已存在则返回 FALSE 和一个错误)

burp抓包然后 send to intruder

设置数据包无限重发 payloads那边 payload type选择null payloads 下面的 continue indefinitely选上 然后还要弄个python脚本来检测有没有上传上去

import requests
url = “http://127.0.0.1/upload-labs/upload/aaa.php"
while True:
html = requests.get(url)
if html.status_code == 200:
print(“OK”)
break
else:
print(“NO”) **脚本代码 ** 如果访问的了就会显示ok 然后就会创建 shell.php 的文件

burp attack之前就需要运行这个脚本

然后就可以连接了 菜刀开启

也有不用python脚本的方法手动不断访问http://127.0.0.1/upload-labs/upload/aaa.php

知道访问成功为止

但是呢这我到现在都没成功