moctf 没时间解释了 条件竞争漏洞
条件竞争:
在本题目中,上传文件的时候服务器无条件的接收任何类型的文件,但是你上传之后服务器会给你的文件内容修改为too slow。 比如你上传了一句话木马shell.php,内容<?php @eval($_POST['pass']);?>,可以直接上传,但是马上内容会被修改为too slow
方法:
修改内容会有时间,我们不断的上传这个文件并且不断的访问,会有一次我们正好访问到真正的shell.php
因为服务器修改内容是很快的,所以我们得用脚本开启多线程上传,不过也可以直接用burp intruder模块,线程调到20,然后python用requests模块
循环访问就可以了。
现在来看题目:
打开这个网页和好像什么也干不了,不过细心的话会发现,index2.php,默认的话应该访问index.php。
访问index.php,发现还是打开的index2.php,访问index没有提示404没错了是302。burp抓包拦截一下,repeater发包.
访问
发现可以直接上传
访问
提示Too slow!
猜测:
上传服务器后,服务器先保存然后判断文件,修改内容,就相当于把shell删除了。
思路:
我们一边是不停的发送这个文件,一边不停地访问。
发送:
最简单的方法是burp的intruder模块。 先进行拦截
Send to Intruder
Intruder->Positions->Clear$ Payloads->payload sets->payload type->Null payloads Payloads->Payload options[Null payloads]->Continue indefinitely(持续发送) Options->Number of threads(默认是5)调为20
上边做的是对intruder模块的设置,开启20个线程不断的发送上传文件的操作。
import requests
url="http://119.23.73.3:5006/web2/uploads/863213e3f631b8a5eb1e2ce6c0d7ea9d89b423c4/2.php"
while 1:
print(requests.get(url).text)
上边这个是不停的进行访问,其实这里不必开启多线程访问,因为上传文件和访问满足一个多线程就行了。
原文地址:https://www.cnblogs.com/zaqzzz/p/9923570.html
时间: 2024-10-04 22:39:20