404星链计划即将迎来改版更新啦,我们会在项目展示、奖励计划等方面有所优化调整,同时会新收录几个优秀的开源安全工具。在此之前,让我们一同回顾一下星链计划自2020年8月上线以来我们收录过的部分项目,它们中很多已经为大家熟知,成为日常工作的一部分,有些还有待你去探索新的利用方式~ 今天介绍的项目是pocassist。
另外欢迎加入404星链计划社群,请在文末识别运营同学二维码,添加时备注“星链计划”。
项目名称:pocassist
项目作者:jweny
项目地址:
https://github.com/jweny/pocassist
ants
实例化协程池,复用 goroutine0x01 快速开始
# 启动服务
./pocassist
# 浏览器访问
http://127.0.0.1:1231
config.yaml
的sqlite
项配置路径,有想一块维护poc的师傅也可直接向该项目提PR。0x02 项目框架
poc测试
poc管理
任务管理
并发引擎
任务管理
规则类型
。规则类型将直接决定 rule 如何对原始请求变形。config.yaml
中设置burpsuite代理:proxy: "127.0.0.1:8080"
原始请求路径 + "/" + 规则中定义的path
。host:port/
。因此变形后的请求路径为host:port/
+规则定义的path,请求头、请求body均使用规则定义。https://jweny.top/aaa/bbb.cc.php
,规则中定义的path为 /user/zs.php?do=save
规则运行时变形的请求为https://jweny.top/user/zs.php?do=save
。query string
和post body
中的form data
(json
解析已在计划中)。参数级漏洞检测只需要在前端配置payload
列表,pocassist 将依次将每个参数根据payload
列表进行变形。appendparam
在原参数值后面拼接payload
,例如检测带回显的sql报错注入。replaceparam
将原参数直接替换为payload
?aaa=bbb&ccc=ddd
,payload为'
/ %2527
。appendparam
将那么poc运行时会依次发四个请求:?aaa=bbb'&ccc=ddd
?aaa=bbb%2327&ccc=ddd
?aaa=bbb?ccc=ddd'
?aaa=bbb?ccc=ddd%2327
?aaa=bbb&ccc=ddd
。// tomcat 弱口令
func TomcatWeakPass(args *ScriptScanArgs) (*util.ScanResult, error) {
// 定义报文列表
var respList []*proto.Response
fastReq := fasthttp.AcquireRequest()
defer fasthttp.ReleaseRequest(fastReq)
var rawurl = ConstructUrl(args, "/")
var fl = []string{"Application Manager", "Welcome to Tomcat"}
var wl = []string{"admin:admin", "tomcat:tomcat", "admin:123456", "admin:", "root:root",
"root:", "tomcat:", "tomcat:s3cret"}
var buf bytes.Buffer
buf.WriteString(rawurl)
buf.WriteString("/manager/html")
loginurl := buf.String()
fastReq.SetRequestURI(loginurl)
fastReq.Header.SetMethod(fasthttp.MethodGet)
for _, value := range wl {
authValue := "Basic " + base64.StdEncoding.EncodeToString([]byte(value))
fastReq.Header.Set("Authorization", authValue)
resp, err := util.DoFasthttpRequest(fastReq, true)
if err != nil {
return nil, err
}
if resp.Status == 401 || resp.Status == 403 {
util.ResponsePut(resp)
continue
}
if resp.Status == 404 {
util.ResponsePut(resp)
return &util.InVulnerableResult, nil
}
for _, flag := range fl {
if bytes.Contains(resp.Body, []byte(flag)) {
respList = append(respList, resp)
return util.VulnerableHttpResult(loginurl,"user:pass is"+value, respList), nil
}
}
util.ResponsePut(resp)
}
return &util.InVulnerableResult, nil
}
func init() {
ScriptRegister("poc-go-tomcat-weak-pass", TomcatWeakPass)
}
*ScriptScanArgs
,返回值必须为(*util.ScanResult, error)
。init
方法用来注册脚本,ScriptRegister
方法的第一个参数为规则名称,第二个参数为方法名。go build -o pocassist
。规则内容
。params
等差。因此下载后需人工检查后,方可通过xray运行。常见问题
config.yaml
,引擎启动后实时监控配置文件变化,配置文件修改后无需重启,即热加载404星链计划 | Stowaway : 专为渗透测试工作者制作的多级代理工具
404星链计划 | 蚁剑绕WAF进化图鉴
404星链计划 |GShark:多平台的敏感信息监测工具