风炫安全WEB安全学习第四十四节课 敏感信息泄漏

第四十四节课 敏感信息泄漏

敏感信息泄漏

0x01 漏洞简介

敏感数据包括但不限于:口令、密钥、证书、会话标识、License、隐私数据(如短消息的内容)、授权凭据、个人数据(如姓名、住址、电话等)等,在程序文件、配置文件、日志文件、备份文件及数据库中都有可能包含敏感数据。主要分为由版本管理软件导致的泄露, 文件包含导致的泄露和配置错误导致的泄露.

0x02 漏洞原理

由于后台人员的疏忽或者不当的设计,导致不应该被前端用户看到的数据被轻易的访问到。 比如:

  • 通过访问url下的目录,可以直接列出目录下的文件列表;
  • 输入错误的url参数后报错信息里面包含操作系统、中间件、开发语言的版本或其他信息;
  • 前端的源码(html,css,js)里面包含了敏感信息,比如后台登录地址、内网接口信息、甚至账号密码等;

由于网站开发人员或者运维人员疏忽,存放敏感信息的文件被泄露或由于网站运行出错导致敏感信息泄露。

0x03 漏洞利用

漏洞分类

  • phpinfo信息泄漏 (演示)

    /test.php
    /p.php
    /phpinfo.php
    /info.php
    
  • 编辑器备份文件

    .asdad.swp
    .asdasd.bak
    *.old
    
  • 日志文件

    *.log
    /data/mysql_error_trace.inc
    
  • 版本管理工具文件信息泄露

    .git/
    .git/config
    .svn/entriesp
    CVS/Entriesp
    .gitignore
    

    https://github.com/lijiejie/GitHack git源码恢复工具 (演示)

  • 关键功能性地址泄露

    /admin/
    /manage/
    /login.php
    /manage.php
    /phpMyAdmin
    /phpmyadmin
    
  • 网站源码备份文件

    www.rar
    {sitename}.tar.gz
    web.zip/tar.gz/rar
    
    
  • 网站前端HTML源代码信息泄漏

  • Http Header返回头 (演示)

    Server
    Cookie
    中间件的类型、版本
    
  • 报错信息

    • mysql错误
    • php错误 (暴露出网站绝对路径)
    • 暴露cms版本
  • 源码托管平台 (演示)
    源码托管,是公共项目的导致敏感信息泄漏

    • github
    • gitee
  • 其他

    robots.txt
    

相关利用工具

这种类型的漏洞是可以借助基于目录扫描的工具实现自动化探测的

https://github.com/ring04h/weakfilescan

https://github.com/lijiejie/BBScan

whatweb

御剑扫描器

Skipfish

0x04漏洞防御

1、禁止在代码中存储敏感数据:禁止在代码中存储如数据库连接字符串、口令和密钥之类的敏感数据,这样容易导致泄密。用于加密密钥的密钥可以硬编码在代码中。

2、禁止密钥或帐号的口令以明文形式存储在数据库或者文件中:密钥或帐号的口令必须经过加密存储。例外情况,如果Web容器的配置文件中只能以明文方式配置连接数据库的用户名和口令,那么就不用强制遵循该规则,将该配置文件的属性改为只有属主可读写。

3、禁止在cookie中以明文形式存储敏感数据:cookie信息容易被窃取,尽量不要在cookie中存储敏感数据;如果条件限制必须使用cookie存储敏感信息时,必须先对敏感信息加密再存储到cookie。

4、禁止在隐藏域中存放明文形式的敏感数据。

5、禁止用自己开发的加密算法,必须使用公开、安全的标准加密算法。

6、禁止在日志中记录明文的敏感数据:禁止在日志中记录明文的敏感数据(如口令、会话标识jsessionid等),防止敏感信息泄漏。

7、禁止带有敏感数据的Web页面缓存:带有敏感数据的Web页面都应该禁止缓存,以防止敏感信息泄漏或通过代理服务器上网的用户数据互窜问题。

8、上线之前检查网站目录没有其他的备份文件

9、配置Web容器不能访问.开头的文件

0x05 参考

风炫安全WEB安全学习第四十四节课 敏感信息泄漏

猜你喜欢

转载自blog.csdn.net/hyj123480/article/details/112511489