今天在t00ls上看到有人公开了一个用go写的工具
https://www.t00ls.net/thread-61604-1-1.html
抓包查看
作者虽然没有开源,针对其中fofa查询我们分析看看。原理很简单,咱们直接使用proxifier全局抓包看看
1.设置代理
2.设置rule
3.执行抓包
./goon_amd64_mac -mode fofascan -key port="8081" -num=-1
4.查看结果
burp这里得到了每次的请求
GET /api/v1/search/all?email=@163.com&key=a30c1dd7ef01722c05f5&qbase64=cG9ydD04MDgxICYmIGJlZm9yZT0yMDIxLTA2LTI5ICYmIGFmdGVyPTIwMjAtMDYtMzA=&size=10000&fields=ip,host,title HTTP/2
Host: fofa.so
Accept-Encoding: gzip, deflate
User-Agent: Go-http-client/2.0
Connection: close
包文分析
我们把参数qbase64解码看看
port=8081 && before=2021-06-29 && after=2020-06-30
port=8081 && before=2021-06-29 && after=2021-06-28
通过设置不同的查询语句,来获取结果,结果中会存在重复的数据。
结果分析
我尝试使用高级会员账号进行查询
./goon_amd64_mac -mode fofascan -key port="7001" -num=-1
得到了123W条数据
在sublime中,使用正则截取每行出现的第一个ip
\d*\.\d*\.\d*\d\.\d*\:\d*
符合 ip:port格式的是 122W条数据
再通过去重得到result
在sublime中排序
edit - sort lines
查找目标为
^(.+)$[\r\n](^\1$[\r\n]{0, 1})+
替换为
\1\n
最后得到了70W个结果
由于没有对结果进行处理,所以结果中存在大量重复ip,不过通过时间条件来扩大查询结果,这操作还是骚的。
修复方式:
-
限制每个账号每小时对fofa服务器请求次数。(多个账号进行绕过)
-
限制同一个IP对fofa服务器请求次数。(代理池绕过)
-
取消普通会员及高级会员账号的before、after的条件查询。
「你即将失去如下所有学习变强机会」
学习效率低,学不到实战内容,花几千、上万报机构没有性价比
一顿自助钱,我承诺一定让用户满意,也希望用户能给予我一份信任
【详情下方图片了解】,【扫下方二维码加入】:只做高质量优质精品内容」
免费红队知识库:
免责声明
由于传播、利用本公众号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本公众号及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!