1、免责声明
本文提供的工具、教程、学习路线、精品文章均为原创或互联网收集,旨在提高网络安全技术水平为目的,只做技术研究,谨遵守国家相关法律法规,请勿用于违法用途。
2、内容速览
敏感数据包括但不限于:口令、密钥、证书、会话标识、License、隐私数据(如短消息的内容)、授权凭据、个人数据(如姓名、住址、电话等)等。
在程序文件、配置文件、日志文件、备份文件及数据库中都有可能包含敏感数据。主要分为由版本管理软件导致的泄露, 文件包含导致的泄露和配置错误导致的泄露.
1、检测形式多样,工具爬虫扫描得到敏感文件的路径,从而找到敏感数据,主要是还是通过关键词爆破。
2、手工挖掘,根据web容器或者网页源代码的查看,Github,找到敏感信息。
http://[ip]/test.php
http://[ip]/phpinfo.php
http://[ip]/test.php.swp
http://[ip]/test.php.bak
http://[ip]/test.jsp.old
http://[ip]/cgi~
http://[ip]/.git/config
http://[ip]/CVS/Entriesp
http://[ip]/.svn/entriesp
http://[ip]/basic/index.php
http://[ip]/login.php
http://[ip]/admin.php
http://[ip]/manager.php
http://[ip]/admin_login.php
泄露邮箱及分机号码可被社工、也可生成字典。
mysql错误、php错误、暴露cms版本等
DNS域传送漏洞运维监控系统弱口令、网络拓扑泄露、zabbix弱口令、zabbix sql注入等
github上源码、数据库、邮箱密码泄露
https://github.com/ring04h/weakfilescan https://github.com/lijiejie/BBScan whatweb dnsenum github
漏洞在于,错误信息给的太详细了。以BurpSuite的在线实验室为例:Information disclosure in error messages 1:随意打开一个页面
2:使用SQL注入中用到的报错注入,在目标URL中添加一个'
即可
出于调试目的,许多网站生成自定义错误消息和日志,其中包含有关应用程序行为的大量信息。虽然此信息在开发过程中是有用的,但如果在生产环境中泄露,它对攻击者也非常有用。调试消息有时可能包含用于开发的重要信息,包括:
以BurpSuite的在线实验室为例:Information disclosure on debug page
1:打开页面,F12找到debug
2:BurpSuite找到刚才访问的站点
3:站点地图中找到信息泄露出的页面,发送到重放模块中
4:根据提示,在重放结果中搜索目标
5:结果搜索出来两个,试一下哪个是答案
6:答案提交成功
漏洞成因,如标题所示 以BurpSuite的在线实验室为例:Source code disclosure via backup files
1:BurpSuite抓包,然后打开页面
2:网站给出的提示信息如下
3:根据页面的URL,从站点地图中找出目标 我这里,除了点意外,经核查,正常情况下URL栏中应该出现一个/robots.txt
的URL,但是我这里没出现,那就直接使用结果吧
4:在访问的页面后面添加/backup
,会发现网站存在备份文件泄露
5:点开文件,复制答案
6:提交答案
实验室的管理界面具有身份验证旁路漏洞,详情参见实验室描述 以BurpSuite的在线实验室为例:Authentication bypass via information disclosure
1:打开页面,长这个样子
2:根据提示信息,我们去找访问根目录的那条请求
3:将其发送到重放模块中
4:拿到如下结果
5:设置如下代理,Burp 代理将在每次发送的请求中添加此标题:X-Custom-IP-Authorization: 127.0.0.1
6:回到页面,点击我的账户
7:随便输入一个账密,然后留意页面变化,出现了管理员面板
8:把Carlos用户删除掉,过关
致远OA A6 initDataAssess.jsp 用户敏感信息泄露
致远OA A6 initDataAssess.jsp 存在用户敏感信息泄露 感信息泄露 可以通过得到的用户名爆破用户密码进入后台进一步攻击
fofa搜索:title=“致远A8+协同管理软件.A6”
访问下列URL泄露用户信息
http://xxx.xxx.xxx.xxx/yyoa/assess/js/initDataAssess.jsp
完全防止信息披露是棘手的,因为它可能发生的方式种类繁多。但是,你可以遵循一些一般的最佳实践,以最大限度地降低此类漏洞渗透到你自己的网站的风险。
更进一步的说明:
1、禁止在代码中存储敏感数据:禁止在代码中存储如数据库连接字符串、口令和密钥之类的敏感数据,这样容易导致泄密。用于加密密钥的密钥可以硬编码在代码中。
2、禁止密钥或帐号的口令以明文形式存储在数据库或者文件中:密钥或帐号的口令必须经过加密存储。例外情况,如果Web容器的配置文件中只能以明文方式配置连接数据库的用户名和口令,那么就不用强制遵循该规则,将该配置文件的属性改为只有属主可读写。
3、禁止在cookie中以明文形式存储敏感数据:cookie信息容易被窃取,尽量不要在cookie中存储敏感数据;如果条件限制必须使用cookie存储敏感信息时,必须先对敏感信息加密再存储到cookie。
4、禁止在隐藏域中存放明文形式的敏感数据。
5、禁止用自己开发的加密算法,必须使用公开、安全的标准加密算法。
6、禁止在日志中记录明文的敏感数据:禁止在日志中记录明文的敏感数据(如口令、会话标识jsessionid等),防止敏感信息泄漏。
7、禁止带有敏感数据的Web页面缓存:带有敏感数据的Web页面都应该禁止缓存,以防止敏感信息泄漏或通过代理服务器上网的用户数据互窜问题。
8、应根据业务特点定义出系统存储的敏感信息。
9、敏感信息在存储、传输、显示时应进行安全处理,可采用的处理方式为加密或脱敏。
10、敏感信息不应使用GET方式提交到服务器。
11、用户密码为最高级别的敏感信息,在存储、传输、显示时都必须加密。
12、需要选择可靠的加密算法,优先选择不对称加密算法,不得使用BASE64等编码方式进行“加密”
13、对于一些系统默认报错页面应重新进行设计自定义报错页面,以免暴露系统敏感信息。
[20]Information disclosure in error messages:https://portswigger.net/web-security/information-disclosure/exploiting/lab-infoleak-in-error-messages
[21]Information disclosure on debug page:https://portswigger.net/web-security/information-disclosure/exploiting/lab-infoleak-on-debug-page
[22]Source code disclosure via backup files:https://portswigger.net/web-security/information-disclosure/exploiting/lab-infoleak-via-backup-files
[23]Authentication bypass via information disclosure:https://portswigger.net/web-security/information-disclosure/exploiting/lab-infoleak-authentication-bypass
[24]Information disclosure vulnerabilities:https://portswigger.net/web-security/information-disclosure
[25]How to find and exploit information disclosure vulnerabilities:https://portswigger.net/web-security/information-disclosure/exploiting
[26]PortSwigger Academy | Information disclosure vulnerabilities : 信息泄漏漏洞:https://blog.csdn.net/qq_42942594/article/details/112487172
[27]敏感信息泄露实战:https://www.freebuf.com/articles/web/228033.html
[28]Information disclosure on debug page (Video solution):https://www.youtube.com/watch?v=pVvKZrfHeuE
[29]Source code disclosure via backup files (Video solution):https://www.youtube.com/watch?v=EHMPZE21vZE