目录
一、信息泄露示例
1、示例:
二、泄露方式
1、原理:
三、泄露危害
1、危害:
四、泄露挖掘
1、爬虫文件
2、目录信息
3、越权访问
4、开发注释、js文件
5、错误提示
6、调试信息
7、备份等目录文件
8、配置不安全
9、版本控制历史
五、用户信息泄露
1、评论处
2、转账处
3、搜索处
4、个人页面处
5、客服处
6、上传、数据更新处
7、任意账号重置
8、接口参数处
9、弱口令
10、第三方平台(如GitHub)
11、未删除的敏感文件
六、服务器信息泄露
1、XML文件
2、上传文件
3、中间件
4、报错信息
一、信息泄露示例
1、示例:
查看其他用户私密数据、个人身份信息等敏感数据
有关网站技术细节/架构(如源代码等)
robots.txt泄露网站隐藏目录,文件
站点的备份文件未删除导致的泄露
在错误消息中泄露数据库表,字段等敏感数据
泄露在源代码中泄露数据库账号密码等
(GitHub)网站某些程序的细微差别提示是否存在某些资源、相似的程序的套用
……
二、泄露方式
1、原理:
1、敏感数据不慎泄露给浏览该网站信息用户
2、攻击者通过恶意的交互从网站获得数据
3、第三方存储机构
4、历史信息
5、社工
三、泄露危害
1、危害:
1、利于攻击者进行下一步的攻击
2、数据被非法处理
3、……
四、泄露挖掘
1、爬虫文件
1、如/robots.txt, /sitemap.xml
会列出特定目录不让爬虫爬取(在bp的sitemap里可能找不到,需手动测试)
2、Sitemap 使用XML格式来记录整个网站的信息并供Google读取(哪些网页最重要,以及更改频率),是对原来robots.txt的扩展,使搜索引擎能更快更全面的收录网站的内容
2、目录信息
1、由于网站存在配置缺陷,存在目录可浏览,致使网站很多隐私文件与目录泄露(如备份文件、配置文件等),攻击者可对此进一步的利用
2、自动目录列表/索引是一个Web 服务器功能,如果正常的基本文件(index.html/home.html/默认)列出请求目录中的所有文件。Web服务器隐藏默认情况下文件夹的内容。如果没有index.html或 index.php文件,则会显示“403 Forbidden”错误
3、证明存在此漏洞方法:①访问Web应用存在的一些目录,如果返回文件列表信息②web扫描器③body:index of
3、越权访问
1、个人中心、个人资料、我的帐户等页面会包含敏感信息(如email,电话号码等)
当存在逻辑缺陷时,可能使攻击者可以越权访问其他用户的数据
2、如:GET /user/personal-info?user=
修改user参数,越权访问
4、开发注释、js文件
F12:测试阶段,可能在HTML中写有关敏感信息的注释(如测试账号),部署到生成文件前,通常会删除
JS文件:可能包含目录文件、接口文件、秘钥、加密算法等
5、错误提示
1、错误消息,有的会有提示,有的关闭了提示,靠自己分析不同测试时候页面差别(如明显差别就是字节)
2、当有提醒时,可能会提示应该输入什么消息、或数据类型,利于攻击者更加准确进行测试
3、详细的错误消息,可以提供有关网站使用的技术信息(如数据库类型、模板类型、服务器版本号、开源框架信息等),进一步针对相关信息,查找常见配置错误或危险的默认设置
6、调试信息
调试时,许多网站会生成自定义错误消息和日志,包含应用程序行为的大量信息(可能包含用于发起攻击的重要信息,如可控变量的值、中间件的主机名和登录凭据、服务器文件和目录、加密密钥等)
7、备份等目录文件
1、源代码访问权限(源代码中可能有敏感数据,如账号密码、GitHub的开源项目等)
2、使用vim编辑的时候,vim会在被编辑文件同一目录下,创建一个名为filename.swp的文件,记录我们的动作
3、index.phps、.bak、/tz.php等形式
4、/.git(GitHack)
5、/.svn(Seay-SVN)
6、域名解析记录
7、访问/editor
8、数字的临界值
9、查看/db/db.mdb将文件后缀改为txt打开(mdb文件是早期的asp+access架构的数据库文件)
10、备份的sql文件会泄露敏感信息,还提示了backup.sql
8、配置不安全
网站扩展的第三方技术(关注使用的第三方相关的配置权限)
9、版本控制历史
1、简述:
开发一般都是使用某种形式的版本控制系统(如Git、SVN)
一般通过目录扫描发现,或者手动在URL后测试
若配置不当,可能会将.git、.svn文件直接部署上线,从而导致泄露
2、git版本控制
利用工具:GitHack
默认Git项目将其所有版本控制数据存储在.git文件夹中,虽无法获得完整的源代码, 但可以阅读更改的代码段,这仍然可能存在敏感数据
若可直接访问/.git,并下载到本地用Git打开,以访问网站的版本控制历史记录
3、svn版本控制
利用工具:Seay-SVN、dvcs-ripper工具中的rip-svn.pl脚本进行clone
五、用户信息泄露
1、评论处
1、如显示用户手机号或邮箱等,中间的一段数字会被加密(1999********999)
若加密不当,抓包查看返回包,可能直接显示明文,或意外找到其他参数
2、评论区互动交流(如追加评论,商家回复,@功能,搜索引擎的爬虫,及秒杀成功等阶段)
通过抓包进行分析
2、转账处
1、如建行转账时,需要输入对方的姓名,然后在数据库中进行验证
类似的验证地方通过抓包,看是否会泄露用户的其他信息(如电话等)
2、历史转账记录等地方
抓包分析,看是否会泄露
3、搜索处
1、看搜索是否会意外搜索到用户信息
4、个人页面处
1、若存在可以返回敏感的信息,则对参数进行修改,尝试越权访问
5、客服处
1、社工
6、上传、数据更新处
1、常见的有头像上传,查看头像链接,会有一个URL地址(还有上传证件等)
若没有进过特别复制的处理,还是有可能进行任意查看(服务器URL地址泄露)
2、修改资料,如地址等
尝试越权,当权限未处理好,可能有任意用户查看
在最后一步,修改用户名,尝试越权修改
3、子账号等下级处
通过对下级账号处修改ID等参数,可能有任意账户查看
4、如下单处
抓包修改账号参数,可能就可能使用别人账号下单,可能就可以查看别人的用户信息
5、……
7、任意账号重置
明显了,都能任意密码重置了,岂不是可以泄露任意用户信息
8、接口参数处
最容易想到的就是修改ID参数
9、弱口令
都弱口令,还有数据安全可言?
10、第三方平台(如GitHub)
存放着用户的信息等
11、未删除的敏感文件
存放有敏感信息的文件,未被删除就上线了(如.xml、.git、.svn、.txt、.doc、.sql等)
六、服务器信息泄露
1、XML文件
一些XML文件可能未完全删除,可能泄露很多敏感信息
2、上传文件
服务器URL地址信息泄露
3、中间件
Apache Tomcat、Struts2、CMS、zabbix、Nginx等存在的配置等问题
4、报错信息
泄露敏感路径