Skip to content

一款基于WIH(目前)的穷举拼接API并访问从而达成对未授权/敏感信息的获取并尽力获取准确baseurl的工具。

License

Notifications You must be signed in to change notification settings

RongSec/TryAnyPath

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

FindAnyThing

一款基于WIH(目前)的穷举拼接API并访问从而达成对未授权/敏感信息的获取并尽力获取准确baseurl的工具。

下一步将直接实现类似urlfinder等的深度爬取并结合WIH的敏感信息获取与验证的功能,直接一键化使用,目前只有一个初始版本,爬的东西时多时少的。无语子···

我个人觉得信息收集是非常需要细心的,特别是在如今高强度的与设备对抗以及甲方日常化的演练中,自动化的逻辑就那么几个,想要在一轮轮演练之后依旧能取得成果是一件困难的事情,特别是我在最近的一次众测中发现了有一个未授权的路径只有经过拼接才能访问,我翻了翻urlfinder的文档还有我另一个常常使用的工具jjjjjjjjjjjjjs,经过对同一目标的测试都没有成功的复现这个漏洞,经过仔细的理解工具,我发现urlfinder的fuzz功能基于对所有筛选出的根目录的200响应进行拼接,jjjjjjjjjjjjjs则没有这个功能,只能对200的根目录进行swagger等的爆破,可是实际情况是这个根目录直接访问是404。

这款工具的目的就是将让我们从自动化中跳出来,因为我认为自动化应该做的是重复的机械工作而不是替代工作。

流程图

未命名文件

TODO

添加规则判断,对含有info,username等敏感的目录进行筛选提取。

图形化界面/等到功能完善了重构成go。

对访问码200的根目录项进行swagger等api遍历。

想添加异步访问和随机并发,防止被ban。

在web请求结束后再添加一个逻辑,对500等异常馅响应单独重跑去把成功数据覆盖掉失败数据。

工具逻辑

逻辑如下:

假设文件中有3个路径,分别为/a/b/c,/d/e/f,/i/j/k,那么提取出的1级目录就是a,d,i,拼接后的目录就是/d/a/b/c,/d/i/j/k/,/a/d/e/f,/a/i/j/k,/i/a/b/c,/i/d/e/f。

对"/"缺失的情况做了适配,杜绝了提取数据的缺损。

对匹配到的1级目录是文件名的情况进行了删除,防止其被当作1级目录拼接给待测path。

对wih获取的带有参数传递的情况可以进行分类显示。

使用场合

借助WIH等工具提取出了网站url/path后

使用方法

首先使用WIH

./wih -t target.txt -r wih_rules.yml -f -a -c 4 -P 4 -J

image
  1. 创建一个python虚拟环境

python3 -m venv myenv

source myenv/bin/activate

  1. 直接使用fuzz功能在处理完所有数据后会询问用户

python3 FindAnyTHing.py -t target -o result/test.csv //target是存放WIH处理后的所有json文件的目录,result/test.csv是输出的文件,没有就会新建。

image

场景示例

输出结果

  1. 选择了进行fuzz会在终端输出每一个的请求情况。 这里只进行了简单的请求,下一步想添加异步访问和随机并发,防止被ban。
image

访问结束后还会问你要不要继续请求 image 你可以去看csv文件,如果你觉得线程太高了想要重新访问,可以直接重跑。

这里设计的todo是在web请求结束后再添加一个逻辑,对500等异常馅响应单独重跑去把成功数据覆盖掉失败数据。 image

根据不同类型去筛选数据

image

最终的数据如下

image

有效性验证

通过遍历拼接访问到了未授权的下载接口

image image

About

一款基于WIH(目前)的穷举拼接API并访问从而达成对未授权/敏感信息的获取并尽力获取准确baseurl的工具。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages