SRC拒绝服务(DOS)漏洞挖掘思路

 中科至善 2024-08-15 

在进行SRC拒绝服务(DOS)漏洞挖掘时,可以遵循以下思路和技巧:

  1. 信息收集:首先,需要对目标系统进行详尽的信息搜集,包括子域名、开放端口、cms类型等信息。这可以通过搜索引擎、网络空间测绘引擎(如FOFA、Shodan等)来实现。例如,可以使用特定的搜索引擎查询语句或FOFA的查询语句来定位使用特定CMS的站点,这有助于从空间搜索引擎中批量找到目标资产。

  2. 端口扫描与服务识别:对收集到的资产进行端口扫描,识别开放的服务,并尝试访问。这可以通过工具如nmap完成。端口扫描不仅可以帮助识别可访问的服务,还可以发现潜在的漏洞点。

  3. 漏洞测试:根据收集到的信息,使用已知的漏洞利用(POC)进行测试。例如,如果确定了CMS的版本,可以使用该版本已知的漏洞进行测试。如果无法确定版本,可以尝试使用公开的漏洞库进行测试。

  4. WAF绕过:在测试过程中,可能会遇到Web应用防火墙(WAF)的阻碍。这时,需要尝试WAF绕过技术,这可能涉及到构造特殊的请求或利用WAF的配置不当来实现。

  5. 逻辑漏洞挖掘:除了技术层面的漏洞,逻辑漏洞也是SRC挖掘中的重要部分。这包括业务逻辑中的缺陷,如权限控制不当、支付逻辑漏洞等。需要深入理解业务流程,分析可能存在的逻辑缺陷。

  6. 自动化工具辅助:可以使用自动化工具来辅助挖掘,比如使用多线程检测脚本批量检测已知漏洞的站点。这可以大大提高测试的效率。

  7. 持续跟踪与学习:安全领域不断发展,新的漏洞和攻击手法层出不穷。持续关注安全社区、CVE数据库等,学习新的漏洞挖掘技术和案例,不断提升自己的能力。

  8. 遵守规则:在挖掘过程中,要遵守法律法规和道德规范,不要进行未授权的测试,确保测试行为合法合规。

通过上述步骤,可以系统地进行SRC的DOS漏洞挖掘。需要注意的是,挖掘过程中要细致耐心,避免因急躁而遗漏重要信息。同时,由于漏洞挖掘是一个复杂的过程,需要不断学习和实践来提高技能。



下面从黑盒视角搭配实际场景,介绍如何能够快速的挖掘拒绝服务漏洞的方式:

判断拒绝服务攻击(DOS)成功:

修改数据包后观察返回包的响应时间,若多次修改响应时间依次增大即有可能存在拒绝服务漏洞。

值得注意的是:测试拒绝服务漏洞时一定不要一下将参数调得很大,有的系统比较脆弱,可能会将服务器打崩,而src中明确规定不允许对业务产生影响,若打崩服务器会造成不可预知的后果,需谨慎对待。甚至此类漏洞可以只当作学习/在平时内部项目中挖掘,企业src中请谨慎。

1、查询时间更改导致的拒绝服务

具体操作:抓包将两者时间调大,例如开始时间调为1000-6-1,结束时间调整为9000-6-1,看返回包的响应时间即可判断。
漏洞原因:后端逐天/逐次查询时间。

2、修改尺寸大小造成拒绝服务

案例:一般,二维码的长宽可控(例如请求包中携带width、length),若请求包中未携带也可以自己尝试构造:&width=1000&length=1000

将长宽高调大,可以看到系统响应时间随之变长。

漏洞原因:后端接收前端传来的长宽来生成无限大的二维码。

3、退出登录处存在的拒绝服务

例如如下请求包:

POST /api/xxx/login/out HTTP/1.1
Host: xxx.xxx.xxx.xxx
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0
Accept: application/json, text/plain, /
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/json
Origin: https://xxx.xxx.xxx.xxx
Connection: close
Referer: https://xxx.xxx.xxx.xxx/resources

{"userId":"1"}

漏洞原因:没有经过token校验,利用userid来识别用户,那么我们就可以直接遍历userid,让其他用户无法登录系统,从而达到影响业务

4、查询处存在拒绝服务

举例说明,某个项目默认请求接口:
http://1xx.,com/query?current=1&size=10&title=&type=&r=1695

将参数调大后测试:
http://1xx.,com/query?current=1000&size=1000000&title=&type=10000000&r=1695
然后发包,发现服务器的回显时间变得很长。

此时再配合多线程就可以对服务器造成拒绝服务攻击致使服务器瘫痪,对所有用户的使用造成影响

漏洞原因:后端直接接收了前端要查询的数量然后无限去查询数据,此时就算数据库没有数据也会消耗大量计算机资源。

5、忘记密码处恶意锁定他人账户

对于不同行业有不同的特殊拒绝服务场景。
例如:某些系统忘记密码处错误多次会将用户永久锁定,此时若再配合用户名枚举漏洞便可批量永久锁定用户,这样利用链就完整了,永久锁定的情况危害应该就够了,锁定一段时间就自动解锁估计不行。

6、特殊功能点的前台拒绝服务

主要针对特殊系统,思维要发散。
例如:机顶盒系统重启/恢复出厂功能存在未授权访问漏洞,这时未授权+系统重启无限循环就造成了一个前台拒绝服务,危害一下子就上来了。
此处没找到截图,主要是分享思路。

7、Zip炸弹--解压功能处的dos

前提条件:某些功能点后端会对上传的文件进行解压并且可以递归解压。

Zip炸弹--解压功能处的dos

zbsm下载地址:https://www.bamsoftware.com/hacks/zipbomb/zbsm.zip

直接上传zip炸弹观察服务器反应,若服务器很久没返回结果或者变很卡顿,就说明造成拒绝服务。(此思路存在风险性)

漏洞原因:解压zbxl.zip炸弹以后会出现16个压缩包,每个压缩包又包含16个,如此循环5次,最后得到16的5次方个文件,也就是1048576个文件,这一百多万个最终文件,每个大小为4.3GB。

8、小程序登录处逻辑缺陷导致的拒绝服务

这里找不到报告了就简述下思路。

某个小程序登录是要手机号+密码。测试了很久没找到漏洞,然后借朋友手机登录我的账户(账户是登录状态),换个手机登录时不小心输错了密码,然后点击登录后发现原本手机登录态的账户被强制退出了。

经过测试发现当输错密码发送请求包时,会强制账户退出登录。这样用bp一直跑就可以让此账户永远无法登录,一个奇怪的拒绝服务出现了。

漏洞原因:奇怪的代码问题。

9、退出接口配合csrf导致的拒绝服务

头像url可控,更改头像地址成退出接口,在评论区发表评论(任何和用户有交互且显示头像的地方),导致csrf其他人退出登录。

 证书咨询

 电话咨询  在线咨询  预约报名