这篇文章主要为大家展示了“Google Dork是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Google Dork是什么”这篇文章吧。
工具介绍
这个项目的主要目的是开发一个被动式的Google Dork脚本来收集互联网中存在潜在安全漏洞的Web页面以及应用程序。这个项目由两个部分组成,第一个就是ghdb_scraper.py脚本,该脚本可以检索Google Dork。而第二个就是pagodo.py,该脚本可以直接利用ghdb_scraper.py收集到的信息。
Google Dork是什么?
Google Hacking Database (GHDB) 目前由Offensive Securiy负责维护。其中包含的是Google搜索合集,名叫Dorks,广大研究人员可以利用它来搜索存在安全问题得应用程序,而这些信息都是由Google的搜索Bot收集来的。
工具安装
该工具的所有脚本均基于Python 3.6+开发,广大研究人员可以使用下列命令将项目源码克隆至本地,并完成工具安装:
git clone https://github.com/opsdisk/pagodo.git cd pagodo virtualenv -p python3 .venv # If using a virtual environment. source .venv/bin/activate # If using a virtual environment. pip install -r requirements.txt
如果被Google屏蔽了怎么办?
如果你在工具的使用过程中,收到了HTTP 503错误,那说明Google已经将你检测为了Bot,并且会屏蔽你的IP地址一段时间。解决方案就是使用proxychains,proxychains4的安装命令如下:
apt install proxychains4 -y
通过编辑/etc/proxychains4.conf配置文件,可以将不同的代理服务器串联起来并进行循环查找。在下面的示例中,我们将使用使用不同的本地侦听端口(9050和9051),并设置2个不同的动态socks代理。
vim /etc/proxychains4.conf round_robin chain_len = 1 proxy_dns remote_dns_subnet 224 tcp_read_time_out 15000 tcp_connect_time_out 8000 [ProxyList] socks4 127.0.0.1 9050 socks4 127.0.0.1 9051
在Python脚本中引入proxychains4之后,脚本将通过不同的IP地址来进行信息查询,在这里还可以使用-e参数来设定查询间隔:
proxychains4 python3 pagodo.py -g ALL_dorks.txt -s -e 17.0 -l 700 -j 1.1
ghdb_scraper.py
首先,ghdb_scraper.py需要一个包含当前所有Google Dorks的列表,Google Dorks的时间戳文件以及其他分类Dorks都已经在代码库中了。幸运的是,整个数据库都可以使用ghdb_scraper.py中的GET请求来拉去到本地,我们还可以将所有的Dork导出至一个文件中。
获取所有的Dork:
python3 ghdb_scraper.py -j -s
获取所有的Dork并将它们写入至单独类目中:
python3 ghdb_scraper.py -i
所有的Dork类目如下:
categories = { 1: "Footholds", 2: "File Containing Usernames", 3: "Sensitives Directories", 4: "Web Server Detection", 5: "Vulnerable Files", 6: "Vulnerable Servers", 7: "Error Messages", 8: "File Containing Juicy Info", 9: "File Containing Passwords", 10: "Sensitive Online Shopping Info", 11: "Network or Vulnerability Data", 12: "Pages Containing Login Portals", 13: "Various Online devices", 14: "Advisories and Vulnerabilities", }
pagodo.py
如果包含Google Dork的文件已存在的话,我们就可以使用-g参数将文件传递给pagodo.py并开始收集存在漏洞的应用程序。pagodo.py脚本利用了google Python库来搜索Google站点,比如说:
intitle:"ListMail Login" admin -demo
-d参数可以用来指定一个目标域名:
site:example.com
如果在短时间内向Google发送太多请求的话,Google会将我们判定为机器人,并且会在一段时间内屏蔽我们的IP地址。为了让搜索查询看起来更加人性化,我们还做出了一些改进,以便在Google搜索查询中允许用户代理随机化。这个功能在该工具的v1.9.3版本中可用,允许我们随机选择用于每次搜索的不同用户代理,这将模拟大型企业环境中所使用的不同浏览器。
第二个改进就是每一次搜索查询的随机化间隔时间,我们可以使用-e选项来设定最小的时间间隔,并使用一个随机因子作为间隔时间的增加数量:
# Create an array of jitter values to add to delay, favoring longer search times. self.jitter = numpy.random.uniform(low=self.delay, high=jitter * self.delay, size=(50,))
在后面的脚本中,代码将从抖动数组中选择一个随机时间并添加到延迟中:
pause_time = self.delay + random.choice(self.jitter)
这样一来,Google就不会屏蔽我们的IP地址了。
使用样例
python3 pagodo.py -d example.com -g dorks.txt -l 50 -s -e 35.0 -j 1.1
以上是“Google Dork是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/221708.html