freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

固定资产下的快速刷洞:简易POC框架的打造
2021-03-27 18:22:25

HW期间,为防范钓鱼,即日起FreeBuf将取消投稿文章的一切外部链接。给您带来的不便,敬请谅解~

当我们拿到大批资产时,总会想着用脚本快速、批量地去检测目标有无漏洞。像awvs、appscan之类的扫描器过于笨重,不能在短时间内测试完目标。而我们的目的,则是打造一个轻便、简易的poc框架。

简介

“工欲善其事,必先利其器”这句话一点错也没有。既然我们的目的是轻便,那么python则是我们的不二选择。

github上也有很多前辈造的轮子,像poc-t、pocsuite之类的优秀之作。也没必要自己去辛辛苦苦写一份,毕竟重复造轮子效率低下,自己写的也没有前辈好。

这次,我们选择的项目是https://paper.seebug.org/913/

我们要在此的原基础上进行改造,打造属于自己的专属poc框架

原Airpoc项目链接:https://images.seebug.org/archive/airpoc.zip

动手改造

说是改造倒也不算,只是在源代码基础上进行微改

先从主文件下手

可以看出,在原来的Airpoc中,目标地址是被存储在一个list数组中,但这样对我们来说并不方便。我们要实现的是能测试单/多目标,能从文件中批量读取目标地址,也能直接在命令行里接收单个目标。

新建一个attack函数,再往入口点写

相信不解释大家也清楚这是什么意思,能简则简

attack函数具体代码

这样就实现了对单个目标的检测

PS:Content-Type最好设置为application/x-www-form-urlencoded,因为thinkphp类的poc对此有需求,如果没有此类Content-Type,那么poc会失效

main函数中也稍稍修改一下

主文件修改完了,接下来就考虑poc方面了

有关poc

既然是追求刺(qing)激(bian),那就要贯彻到底

从原作者的设计中,可以看出没有考虑过对漏洞结果的储存。本来鄙人是想使用数据库的,但原因大家也知道(其实就是因为懒),写了个超级敷衍人的漏洞存储模块

新建report目录,新建report.py,源码见下

import os
import time

def save(url,pocname,exp):
with open("report/report.html","at") as f:
f.writelines("目标:" + "<a href=" + '"' + url.strip() + '">' + url.strip() + "</a>" + "  " + "POC名称:" + pocname.strip() + "  " + "Exp:" + exp.strip() + '<br />')
f.writelines("------------------------------------------------------------------------------------------------------------" + '<br />')

每个poc在使用report模块时,要提供三个参数,url,pocname以及exp

结果自动存储在report/report.html文件下

最终结果图见上

然后是poc的具体编写,也是很简单的,以ueditor指纹的poc为例

测试

在页面中发现了ueditor的指纹信息,证实了poc的有效性

小试牛刀

这里我们以补天公益厂商为例子,进行测试

补天公益列表存放在target目录下的butian.txt文件中

结果见上

结尾

为了避免大家嫌麻烦,该魔改项目已经上传github

https://github.com/hackerhackrat/R-poc

还有很多很多的玩法,例如连动fofa、zoomeye资产收集引擎,进行批量测试

最主要还是多收集、多写poc

参考

https://paper.seebug.org/913/

# web安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录