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发包.
访问
发现可以直接上传
访问
提示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)
上边这个是不停的进行访问,其实这里不必开启多线程访问,因为上传文件和访问满足一个多线程就行了。
多说一句,现在条件竞争好像很受欢迎,在护网杯和刚结束的山东省赛都出现了。
MOTCF 没时间解释了 条件竞争漏洞的更多相关文章
- Linux C:access()时间条件竞争漏洞
access()函数用来检查调用进程是否可以对指定的文件执行某种操作. ================================================================ ...
- MySQL/MariaDB/PerconaDB-提权条件竞争漏洞
背景 2016年11月01日,国外安全研究员Dawid Golunski在 MySQl, MariaDB 和 PerconaDB 数据库中发现条件竞争漏洞,该漏洞允许本地用户使用低权限(CREATE/ ...
- iOS多线程开发之NSOperation - 快上车,没时间解释了!
一.什么是NSOperation? NSOperation是苹果提供的一套多线程解决方案.实际上NSOperation是基于GCD更高一层的封装,但是比GCD更加的面向对象.代码可读性更高.可控性更强 ...
- 条件竞争(race condition)
条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的,因此,如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生. 参考了一些资料,发现一个比较能说明问 ...
- [原题复现]2018HCTF WEB admin(session伪造、unicode漏洞、条件竞争)
简介 原题复现:https://github.com/woadsl1234/HCTF2018_admin 考察知识点:session伪造.unicode漏洞.条件竞争 线上平台:https:// ...
- burp通过条件竞争上传文件
一·何为条件竞争 现代框架更能抵御此类攻击.他们通常不会将文件直接上传到文件系统上的预期目的地.相反,他们采取了预防措施,例如首先上传到临时的沙盒目录并随机命名以避免覆盖现有文件.然后,他们对这个临时 ...
- HCTF2018-admin[条件竞争]
附上网上师傅的wp 学习链接: https://www.jianshu.com/p/f92311564ad0 按照师傅的wp复现一下: 源代码审计,去看路由里的login函数和change函数都在没 ...
- WEB安全新玩法 [10] 防范竞争条件支付漏洞
服务器端业务逻辑,特别是涉及数据库读写时,存在着关键步骤的时序问题,如果设计或代码编写不当就可能存在竞争条件漏洞.攻击者可以利用多线程并发技术,在数据库的余额字段更新之前,同时发起多次兑换积分或购买商 ...
- crontab定时时间解释
用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下: minute hour day mo ...
随机推荐
- 当您在 64 位 Windows 上运行 Regsvr32.exe 时出现错误信息
尝试运行 Regsvr32.exe 注册在 64 位版本的 Windows 32 位动态链接库 (DLL) 时您会收到以下错误消息: 若要解决此问题,从 %SystemRoot%\Syswow64 文 ...
- Android商城开发系列(十三)—— 首页热卖商品布局实现
热卖商品布局效果如下图: 这个布局跟我们上节做的推荐是一样的,也是用LinearLayout和GridView去实现的,新建一个hot_item.xml,代码如下所示: <?xml versio ...
- Python风格规范-FYI
Python风格规范 分号 Tip 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 行长度 Tip 每行不超过80个字符 例外: 长的导入模块语句 注释里的URL 不要使用反斜杠连接行. Py ...
- 可以使用可用的服务和参数调用在“eWorld.WCFImplement.ServiceImplement.ImageArchiveService”类型上使用“Autofac.Core.Activators.Reflection.DefaultConstructorFinder”找到的构造函数: 无法解析参数'eWorld.WCFBLL.ImageArchive.IDocumentOperation
可以使用可用的服务和参数调用在“eWorld.WCFImplement.ServiceImplement.ImageArchiveService”类型上使用“Autofac.Core.Activato ...
- Angular2--显示数据
1.插值表达式 要显示组件的属性,最简单的方式就是通过插值表达式来绑定属性名.要使用插值表达式,就把属性名包裹在双花括号里放进视图模板,如 {{}} eg: <h1>{{ name }}& ...
- python基础一 day17 复习
# 迭代器# 生成器进阶 # 内置函数 # 55个 # 带key的 max min filter map sorted # 思维导图上红色和黄色方法必须会用 # 匿名函数 # lambda 参数,参数 ...
- vue中created、mounted等方法整理
- sublime package control以及常用插件
一.package Control安装 1.sublime 3 import urllib.request,os; pf = 'Package Control.sublime-package'; ip ...
- 用css去除chrome、safari等webikt内核浏览器对控件默认样式
有这么一个webkit的私有属性: -webkit-appearance:none; /*去除input默认样式*/ 添加该样式,并且值为'none'时即可取消浏览器对于控件的默认样式. 另外这个属性 ...
- Solr7部署报错:java.lang.NoSuchMethodError: javax.servlet.ServletInputStream.isFinished()Z
错误信息: Servlet.service() for servlet [default] in context with path [/solr] threw exception [Filter e ...