固定资产下的快速刷洞:简易POC框架的打造

2021年4月27日10:20:04 评论 2,557

当我们拿到大批资产时,总会想着用脚本快速、批量地去检测目标有无漏洞。像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文件中

固定资产下的快速刷洞:简易POC框架的打造结果见上

结尾

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

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

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

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

参考

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

高性能云服务器2折起

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: