信息泄露(Information Exposure)挖掘及实战案例全汇总
- 2019 年 10 月 10 日
- 筆記

1、漏洞理解
信息泄露(InformationExposure)漏洞是有意或无意地向未明确授权访问该信息的行为者披露信息。信息泄露是最为常见和普遍的漏洞之一,漏洞出现的位置、造成的危害有很大的差异性,以下列出的是Acunetix在扫描时列为范围内的漏洞,同一漏洞评级差距极大。

实际的测试过程中,信息泄露有时作为一种“手段”,有时作为一种“结果“,不一而论。
2、漏洞类型
从场景上可分为业务层敏感数据和系统层数据:
1)业务层数据包括:密码、信用卡、证书、社会保障号码、健康信息、个人身份信息及其他业务层面的数据。
2)系统层数据包括:版本号、源代码、文件名/路径、系统文件、报错信息等
从信息处理上可分为信息存储和传输:
1) 存储的数据:主要讨论的攻击方式,在数据到达终端时获取的数据;
2) 传输的数据:主要的攻击方式是中间人攻击方式“MITM”,涉及协 议、加密、证书等。
3、实战案例:
1)XSS窃取token
补充一个css注入的案例:
https://chaturbate.com/embed/admin/?bgcolor=%7D*%7Bbackground:red&tour=nvfS&disable_sound=0&campaign=iNSGX触发点在bgcolor处,可插入css:

从而可通过注入css实现xss窃取csrf token。
2)Referer泄露token
如,在论坛回复处通过包含<img>标签,向攻击者的服务器发送请求,用户一旦访问将泄露Oauth token。或存在跳转链接,可将令牌泄露给第三方站点(通过Referer泄露token是一个经典问题,通常在密码重置等功能处)。

3)硬编码:
白盒测试中的典型问题,如代码中将用户名口令硬编码:
private static final java.lang.String CONFIG ="cloudinary://434762629765715:xxx@reverb";
可登录系统查看敏感信息:

在第三方代码托管网站(GitHub)或配置文件、源码中常存在此类问题。
4)IDOR($7560)
https://vine.co/api/users/profiles/<UserId>端点处泄露IP地址/电话号码/电子邮件等,通过修改id可查看任意用户数据:

IDOR应该算是用户敏感信息泄露的最常见的漏洞。
5)Web Cache Deception Attack
使用CDN、反向代理、负载均衡的环境可以尝试缓存欺骗:

6)源代码泄露
补充一个文件包含案例,调用文件名处未作校验,导致读取配置文件及源码。典型的文件包含功能:

修改文件名,跨目录读取配置文件:

成功读取配置文件,进一步可读取所有后台代码:

7)异常操作泄露日志文件
使用超长参数值多线程访问发起长请求导致access.log过大,将一些部分转储到响应中,泄露用户的ip地址,请求时间和url路径。

测试此类泄露服务器信息的漏洞,常使用的方法是增删参数值、构造畸形数据、超长数据等使服务器报错(404/500),报错信息可能泄露服务器绝对路径、版本号、代码层信息、数据库信息等。
8)其他
信息泄露的案例很多,通常是其他漏洞的危害结果,之前分享过漏洞几乎都可以和信息泄露挂钩,当然还有其他姿势,如APP测试,通过content provider客户端调试:
adbshell content query –uri content://org.nextcloud/file读取文件等。总之,信息泄露的类型、表现和挖掘方式丰富,需要多挖多总结。
4、最后
渗透测试实战系列完结,其他漏洞未涉及到可能在当下的测试环境里确实不太常见。另外计划下面另开一系列,暂时定为“Java代码审计挖洞系列”、”移动安全测试系列”、“安全建设专题系列”,”实战安全工具汇总系列”中一个,哪个对你来说更有用?