Fofa绕过查询限制分析
2022-10-13 10:6:2 Author: 渗透师老A(查看原文) 阅读量:21 收藏

文章来源:白帽飙车路

今天在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/[email protected]&key=a30c1dd7ef01722c05f5&qbase64=cG9ydD04MDgxICYmIGJlZm9yZT0yMDIxLTA2LTI5ICYmIGFmdGVyPTIwMjAtMDYtMzA=&size=10000&fields=ip,host,title HTTP/2Host: fofa.soAccept-Encoding: gzip, deflateUser-Agent: Go-http-client/2.0Connection: 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,不过通过时间条件来扩大查询结果,这操作还是骚的。


修复方式:

  1. 限制每个账号每小时对fofa服务器请求次数。(多个账号进行绕过)

  2. 限制同一个IP对fofa服务器请求次数。(代理池绕过)

  3. 取消普通会员及高级会员账号的before、after的条件查询。

声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权否则需自行承担,本公众号及原作者不承担相应的后果.

学习更多渗透技能!供靶场练习技能

扫码领白帽黑客视频资料及工具


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5NzU1MzM5Mw==&mid=2247511691&idx=1&sn=1a42a2735d40bab6a4ce73e9885eda64&chksm=c072e815f70561038108fc56c4b4fb556588c42847e2e81a0d729058a77986eec7514e76e8a8#rd
如有侵权请联系:admin#unsafe.sh