在MITM交互劫持页面的交互插件,便能够找到我们的多认证综合越权测试插件。目前多认证综合越权测试能够支持基于Cookie与Header Auth认证两种模式。这里使用Vulinbox靶场中的逻辑场景进行插件测试。首先注册两个用户,用户名分别为test1和test2,接着登录test1的账号,获取其cookie为 _cookie:11e0bdd7-c1e2-4fcd-82a6-7a341d5dc54ebr
接着将cookie配置进多认证综合越权测试插件,并启动插件:接着在不退出test1的情况下,使用test2账号进行登录,从MITM流量中的插件是可以看到经过修改的数据包的。如下图,一共有两条数据,第一条为_cookie被移除了,做了一个未授权访问的检测,发现不存在未授权访问。而第二条的_cookie使用的是test1的,并且其返回包的内容与使用test2的_cookie一模一样,因此我们认为其存在水平越权漏洞,并且将该条报文设置成红色,以便其更加显眼。这里只有两条被修改过cookie的报文,那么我们要看原报文如何查看呢?很简单,只要点击MITM便可以了。怎么样?该插件相比之前的交互式插件是不是更"酷"了呢?以上,我们实现了数据包的染色以及tag的添加,以便能够一眼看到哪些报文存在越权漏洞。事实上,对数据包添加tag与染色并不是什么魔法,它只是"简单地"加了一串yaklang的代码,便能够有如此之奇效。所以,在你编写自己的插件的时候,完完全全可以应用这些功能,让你的插件更加的酷炫,更加具有表现力。为了进一步了解其相关原理,我们可以将鼠标悬浮于"多认证越权测试插件"上,查看其代码的实现。其染色与加tag主要逻辑在下方的handleReq中: handleReq = (reqBytes, newValue) => {
poc.HTTP(
reqBytes,
poc.https(https),
poc.saveHandler(response => {
tag= ""
if len(enableResponseKeywordList) > 0 {
if respMatch(response.RawPacket,enableResponseKeywordList...){
tag = "响应内容标志值匹配"
response.Red()
}else {
tag = "响应内容标志值消失"
response.Green()
}
}else{
sim := str.CalcSimilarity(baseResponse, response.RawPacket)
if sim > 0.95 {
response.Red()
} elif sim <= 0.4 {
response.Green()
} else {
response.Grey()
}
showSim = "%.2f" % (sim * 100.0)
tag = f"相似:${showSim}% "
}
if newValue == "" {
tag = f"${tag} 移除 ${isCookieMode? f`Cookie[${key}]`:f`Header[${key}]`}"
}else{
tag = f"${tag} 值: ${newValue}"
}
response.AddTag(tag)
}),
)
}
可以看到,当http数据包要被保存的时候,会调用saveHandler进行相关处理(函数的相关作用可以在yakRunner代码提示中进行查看)。具体逻辑为,如果返回包匹配到了我们手动设置的相关字段,那么就使用response.Red()让该数据染成红色,否则就是绿色。而如果没有手动设置关键字的话,那么就使用str.CalcSimilarity文本相似性算法,计算新的返回包与原来返回包直接的相似性,如果精度达到0.95以上的话就设置为红色。最后使用response.AddTag(tag)进行tag的添加。以下是该交互性插件所需要添加的参数,分别为cookie的key和value。同时还有一个前提URL条件,如果填了前提URL条件,那么就只会改相关URL的cookie。修改cookie的行为本质是调用poc.ReplaceHTTPPacketCookie函数的,因此如果请求包中存在该cookie就会进行修改,不存在的话就会添加这个cookie。启动后,可以发现与百度相关cookie都会被修改了:这里值得注意的是,如果取消选中交互插件,那么页面会默认显示MITM的流量,需要点击插件最右边的按钮才能查看相关插件的流量。
Yak 语言官方教程:
https://yaklang.com/docs/intro/
Yakit 视频教程:
https://space.bilibili.com/437503777
Github下载地址:
https://github.com/yaklang/yakit
Yakit官网下载地址:
https://yaklang.com/
Yakit安装文档:
https://yaklang.com/products/download_and_install
Yakit使用文档:
https://yaklang.com/products/intro/
常见问题速查:
https://yaklang.com/products/FAQ
文章来源: https://mp.weixin.qq.com/s?__biz=Mzk0MTM4NzIxMQ==&mid=2247520992&idx=1&sn=3e52aeb904b05010968cc0532b1214cd&chksm=c2d1ee44f5a66752824fff83124c750ff6aa353e9f05caad7b75bd24c2bac9399cb0861ec3a8&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh