网络安全——文件上传竞争条件绕过

文件上传竞争条件绕过

第一步,打开网络拓扑,启动实验虚拟机,分别查看虚拟机IP地址:

Kali Linux

Windows 10

第二步,打开靶机桌面上的Chrome浏览器,在地址栏中输入http://127.0.0.1,进入upload-labs页面中,然后点击左侧的导航栏Pass-17进入关卡17,点击显示源码进行源代码审计,

大致流程为:上传web shell时,不对后缀名php的文件做任何限制,也就是php类型的文件能够正常上传,服务器会先将文件临时存储起来,再执行if语句对文件后缀名和文件类型作判断,执行if(move_uploaded_file($temp_file, $upload_file))移动到新文件夹,那么这里的绕过思路就是利用,代码执行的过程需要消耗时间。在临时webshell文件保存的极端的时间里,去访问websehll获取一些信息。

第三步,通过python来编写一个发送大量包含上传请求的脚本,来完成这个实验,脚本关键内容如下(脚本hackhtpp.py路径位于靶机桌面上的hackhttp-1.0.4)

第38行的range的范围可以根据实验的结果来修改,如本次课程中将range(10000)修改为了range(100000)提高了实验成功的几率。

第四步,进入渗透机Kali Linux使用命令firefox打开浏览器,点击右上角的三条线按钮并选择Preferences,进入设置面板

依次选择Advanced——Network——Settings…

参照下面的案例来设置代理服务器的配置

然后打开桌面上的burpsuitepro,首先保持代理状态为Intercept is on,

在浏览器访问http://172.16.1.100/upload/shell.php抓包 

在数据包空白处点击右键,选择菜单中的Send to Intruder将数据包发送至Intruder爆破器中,第一页参数Target默认即可,直接到第二页的位置参数中修改数据包的payload插入的位置,在数据包末尾添加一个标志位用于填充字典字符内容

使用python脚本生成全部六位数构成的pass6.txt

然后回到burpsuite后将字典设置为pass6.txt

然后Start Attack,同时在Win10或Kali中运行hackhttp.py访问和上传同时进行,本此直接在Win10中运行hackhttp.py

访问成功。

猜你喜欢

转载自blog.csdn.net/qq_48609816/article/details/125938349