【内容发现】当我们谈论内容发现时,我们指的并非网站上那些显而易见的内容,而是那些并非直接呈现在我们面前,且并非一开始就打算公开访问的内容。这些内容可以是供员工使用的页面或门户、网站的旧版本、备份文件、配置文件、管理面板等。
网站上发现内容的三种主要方法:手动查找、自动查找和开源情报( OSINT )。
手动发现 Manual Discovery
Robots.txt
【功能】robots.txt 文件是一个文档,它告诉搜索引擎哪些页面可以显示在搜索结果中,哪些页面不能显示,文件为我们提供了网站所有者不希望我们这些渗透测试人员发现的网站位置列表。
【实例】访问http://10.48.142.156/robots.txt可以查看不允许用户爬取的网页(dis-allow)
Favicon 网站图标
【功能】当使用框架构建网站时,安装过程中自带的网站图标(favicon)会被保留下来。如果网站开发者没有将其替换为自定义图标,这可以帮助我们判断网站使用的是哪个框架
【实例】 下载网站图标并获取哈希值
curl https://static-labs.tryhackme.cloud/sites/favicon/images/favicon.ico | md5sum
将哈希值在OWSAP网站比对获取框架
Sitemap.xml
【功能】与robots.txt 文件不同, sitemap.xml 文件列出了网站所有者希望在搜索引擎中列出的所有文件。这些文件可能包含网站中一些不太容易访问的区域,甚至包含一些当前网站不再使用但仍在后台运行的旧网页。
【实例】打开http : //10.48.142.156/sitemap.xml即可查看
HTTP表头
【功能】执行命令 curl http://10.48.142.156 -v 查看返回信息即可
框架堆栈
【功能】查看网站框架即可了解更多关于该软件和其他信息,并可能发现更多内容。
OSINT
- Google hacking :利用 Google 的高级搜索引擎功能,例如,可以使用 site: 过滤器筛选特定域名下的搜索结果,并可以将此域名与某些搜索词匹配,例如单词“admin”(site:tryhackme.com admin)。这样,搜索结果将仅包含 tryhackme.com 网站上包含单词“admin”的内容。
- Wappalyzer:( www.wappalyzer.com/ ) 一款在线工具和浏览器扩展程序,可帮助识别网站使用的技术,例如框架、内容管理系统 ( CMS )、支付处理器等等,甚至还可以找到版本号
- Wayback Machine:( archive.org/web/ )一个网站历史存档库,其历史可以追溯到上世纪 90 年代末。可以搜索域名,这项服务可以帮助您找到可能仍然在当前网站上有效的旧页面。
- S3存储桶:是亚马逊 AWS 提供的存储服务,允许用户将文件甚至静态网站内容保存在云端,有时,这些访问权限设置不正确,导致无意中允许访问不应公开的文件。
Automated Discovery
自动化发现:是指使用工具而非手动方式来发现内容。之所以称之为自动化,是因为它通常需要向网络服务器发出成百上千甚至数百万个请求。这些请求会检查网站上是否存在某个文件或目录,从而使我们能够访问之前未知的资源
常用的工具有:
ffuf
ffuf -w /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt -u http://10.48.142.156/FUZZ
dirb
dirb http://10.48.142.156/ /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt
Gobuster
gobuster dir --url http://10.48.142.156/ -w /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt