进行安全测试前,最重要的一步就是信息探测,即搜集目标资料。
尽量要搜集的资料有:服务器的配置信息和网站信息(所有与目标网站关联的信息)
- 网站注册人
- 目标网站系统
- 目标服务器系统
- 目标网站相关子域名
- 目标服务器所开放的端口
- 服务器存放的网站
1. 搜集子域名
site:域名
e.g. site:baidu.com
2. 搜集 Web 信息
Google Hacking Database (GHDB) 收集了更多搜索语句。
| 语法 | 说明 | 安全测试中的用途 | 示例 |
|---|---|---|---|
site: |
将搜索范围限制在特定的域名或网站内。 | 锁定目标资产,只搜目标站点的页面。 | site:zhihu.com "web安全"(只在知乎搜关于 Web 安全的内容) |
inurl: |
搜索 URL (网址) 中包含特定关键词的页面。 | 发现后台、特定接口或易受攻击的路径。 | inurl:login.php(寻找 URL 中带有 login.php 的登录页面) |
intitle: |
搜索网页 <title> 标签中包含特定关键词的页面。 |
发现后台管理界面、目录遍历漏洞等。 | intitle:"后台管理系统"(寻找标题中包含“后台管理系统”的页面) |
intext: |
搜索网页正文内容中包含特定关键词的页面。 | 查找泄露的敏感信息(如密码、身份证号)。 | intext:"身份证号"(寻找正文中出现身份证号字样的页面) |
filetype: |
搜索特定格式的文件(如 pdf, doc, xls, sql)。 | 挖掘泄露的文档、数据库备份文件等。 | filetype:xls "联系方式"(寻找包含联系方式的 Excel 表格) |
info: |
显示 Google 对该网址的已知信息(缓存、相似网页等)。 | 快速了解目标站点的基本收录情况。 | info:example.com(查看 Google 收录的该站点信息) |
1. 寻找后台地址:
site:target.com intitle:"管理" inurl:login解析: 在 target.com 域名下,寻找标题里有“管理”,且网址里有“login”的页面。 或者intitle:"管理登录" filetype:php等。
2. 寻找 SQL 注入可能点:
inurl:.php?id=解析: 寻找网址中包含.php?id=这种参数结构的页面(典型老式动态网页),这通常是 SQL 注入的高发区。
3. 寻找目录遍历漏洞(Index of):
intitle:"index of" "parent directory"解析: 服务器配置不当时,会直接列出文件目录。这个语法专门用来找这种“裸奔”的文件服务器。
4. 寻找公开的配置文件:
filetype:env "DB_PASSWORD"解析: 搜索泄露的.env环境配置文件,里面常包含数据库密码。
Google 只能查询出蜘蛛爬行过的网页,蜘蛛遵照网站根目录 robots.txt 的约定进行爬取,如果一些敏感目录不希望蜘蛛进行爬行,可以写在网站根目录 robots.txt 中。虽然这样不会被蜘蛛爬行到,但攻击者可以直接访问 robots.txt,得到这些 URL,直接访问。
- 网络蜘蛛
- 要隐藏网站中的敏感信息,应当保证敏感信息不被外部引用,同时要保证敏感信息的名字复杂,否则可能被攻击者扫描出地址。