[红日安全]Web安全Day11 - 敏感信息泄露实战
字数 2010 2025-08-25 22:58:46

Web安全实战:敏感信息泄露漏洞详解与防御

0x01 漏洞简介

敏感信息泄露是指由于后台人员的疏忽或不当设计,导致本不该被前端用户访问到的数据被轻易获取的安全漏洞。敏感数据包括但不限于:

  • 认证凭据:口令、密钥、会话标识、License
  • 隐私数据:短消息内容、个人数据(姓名、住址、电话等)
  • 系统信息:证书、配置数据、内部网络信息

泄露途径主要分为三类:

  1. 版本管理软件导致的泄露(如.git、.svn目录)
  2. 文件包含导致的泄露(如备份文件、编辑器临时文件)
  3. 配置错误导致的泄露(如错误页面暴露系统信息)

0x02 漏洞原理与常见形式

常见泄露形式

  1. 目录遍历:通过URL直接访问目录可列出文件列表
  2. 错误信息泄露:错误页面包含操作系统、中间件、开发语言版本等敏感信息
  3. 前端源码泄露:HTML/CSS/JS代码中包含后台地址、内网接口、甚至账号密码
  4. 备份文件泄露
    • 编辑器备份文件:.swp, .bak, .old, ~
    • 源码备份文件:www.rar, sitename.tar.gz, web.zip
  5. 版本控制文件泄露
    • Git:/.git/config
    • SVN:/.svn/entries
    • CVS:/CVS/Entries
  6. 测试文件泄露test.php, phpinfo.php, info.php, test.cgi
  7. 管理后台泄露login.php, admin.php, manager.php, admin_login.php
  8. HTTP认证信息泄露:Basic认证未限制IP导致可暴力破解

0x03 漏洞危害

敏感信息泄露可能造成以下严重后果:

  1. 内网渗透:扫描内网开放服务,攻击内网应用
  2. 直接攻击:利用泄露的凭据直接进行SQL注入、XSS等攻击
  3. DOS攻击:利用泄露的接口发起请求大文件、保持连接等攻击
  4. 协议滥用:利用file、gopher、dict协议读取本地文件、执行命令
  5. 社会工程学攻击:利用泄露的员工邮箱、分机号等信息进行针对性攻击

0x04 测试方法

自动化工具检测

  1. 扫描工具

    • weakfilescan:敏感文件扫描
    • BBScan:敏感信息扫描
    • whatweb:识别Web技术栈
    • dnsenum:DNS信息枚举
  2. 扫描目标

    • 操作系统版本(nmap)
    • 中间件类型/版本(HTTP头、404页面)
    • Web程序类型/版本(whatweb、cms_identify)

手工检测方法

  1. 常见敏感路径探测

    • /robots.txt
    • /phpmyadmin/
    • /phpinfo.php
    • /.git/
    • /.svn/
  2. 源码审计

    • 查看HTML/CSS/JS源码中的敏感信息
    • 检查注释中的开发信息
  3. 第三方信息收集

    • GitHub搜索:smtp 163 password等关键字
    • 百度网盘、QQ群文件泄露
    • 公开的hosts文件(如腾讯内网hosts泄露案例)
  4. 错误处理测试

    • 触发各类错误(如非法输入)
    • 检查错误信息是否暴露系统敏感数据

0x05 实战案例

案例1:敏感文件泄露

腾讯图床站曾暴露内网hosts文件于公网:https://game.gtimg.cn/hosts

案例2:账号密码泄露

通过查看网页源码发现测试账号,成功登录系统

案例3:错误信息泄露

不安全的错误处理暴露系统敏感信息,类似显错注入漏洞

0x06 漏洞修复方案

数据存储安全

  1. 代码中禁止存储敏感数据:如数据库连接字符串、密钥等
  2. 加密存储敏感信息:密钥/口令不得明文存储于数据库或文件
  3. 日志安全:禁止记录明文敏感信息(如口令、session ID)

传输与显示安全

  1. Cookie安全
    • 避免在cookie中存储敏感数据
    • 必须存储时应先加密
  2. 表单安全
    • 禁止在隐藏域存放明文敏感数据
    • 敏感信息不应使用GET方式提交
  3. 缓存控制:带有敏感数据的页面应禁止缓存

技术实现要求

  1. 加密算法
    • 使用公开、安全的标准算法(如AES、RSA)
    • 禁止使用BASE64等编码代替加密
    • 优先选择不对称加密算法
  2. 密码处理
    • 用户密码为最高敏感级别
    • 存储、传输、显示时都必须加密
  3. 错误处理
    • 自定义错误页面替代系统默认页面
    • 避免暴露系统敏感信息

管理规范

  1. 敏感信息定义:根据业务特点明确系统敏感信息范围
  2. 安全处理要求:敏感信息在存储、传输、显示时必须加密或脱敏
  3. 备份文件管理:禁止将备份文件保留在Web可访问目录

附录:常用工具列表

  1. weakfilescan:https://github.com/ring04h/weakfilescan
  2. BBScan:https://github.com/lijiejie/BBScan
  3. whatweb:Web技术栈识别工具
  4. dnsenum:DNS信息枚举工具
  5. nmap:操作系统和服务识别工具
Web安全实战:敏感信息泄露漏洞详解与防御 0x01 漏洞简介 敏感信息泄露是指由于后台人员的疏忽或不当设计,导致本不该被前端用户访问到的数据被轻易获取的安全漏洞。敏感数据包括但不限于: 认证凭据:口令、密钥、会话标识、License 隐私数据:短消息内容、个人数据(姓名、住址、电话等) 系统信息:证书、配置数据、内部网络信息 泄露途径主要分为三类: 版本管理软件导致的泄露(如.git、.svn目录) 文件包含导致的泄露(如备份文件、编辑器临时文件) 配置错误导致的泄露(如错误页面暴露系统信息) 0x02 漏洞原理与常见形式 常见泄露形式 目录遍历 :通过URL直接访问目录可列出文件列表 错误信息泄露 :错误页面包含操作系统、中间件、开发语言版本等敏感信息 前端源码泄露 :HTML/CSS/JS代码中包含后台地址、内网接口、甚至账号密码 备份文件泄露 : 编辑器备份文件: .swp , .bak , .old , ~ 等 源码备份文件: www.rar , sitename.tar.gz , web.zip 等 版本控制文件泄露 : Git: /.git/config SVN: /.svn/entries CVS: /CVS/Entries 测试文件泄露 : test.php , phpinfo.php , info.php , test.cgi 等 管理后台泄露 : login.php , admin.php , manager.php , admin_login.php 等 HTTP认证信息泄露 :Basic认证未限制IP导致可暴力破解 0x03 漏洞危害 敏感信息泄露可能造成以下严重后果: 内网渗透 :扫描内网开放服务,攻击内网应用 直接攻击 :利用泄露的凭据直接进行SQL注入、XSS等攻击 DOS攻击 :利用泄露的接口发起请求大文件、保持连接等攻击 协议滥用 :利用file、gopher、dict协议读取本地文件、执行命令 社会工程学攻击 :利用泄露的员工邮箱、分机号等信息进行针对性攻击 0x04 测试方法 自动化工具检测 扫描工具 : weakfilescan:敏感文件扫描 BBScan:敏感信息扫描 whatweb:识别Web技术栈 dnsenum:DNS信息枚举 扫描目标 : 操作系统版本(nmap) 中间件类型/版本(HTTP头、404页面) Web程序类型/版本(whatweb、cms_ identify) 手工检测方法 常见敏感路径探测 : /robots.txt /phpmyadmin/ /phpinfo.php /.git/ /.svn/ 源码审计 : 查看HTML/CSS/JS源码中的敏感信息 检查注释中的开发信息 第三方信息收集 : GitHub搜索: smtp 163 password 等关键字 百度网盘、QQ群文件泄露 公开的hosts文件(如腾讯内网hosts泄露案例) 错误处理测试 : 触发各类错误(如非法输入) 检查错误信息是否暴露系统敏感数据 0x05 实战案例 案例1:敏感文件泄露 腾讯图床站曾暴露内网hosts文件于公网: https://game.gtimg.cn/hosts 案例2:账号密码泄露 通过查看网页源码发现测试账号,成功登录系统 案例3:错误信息泄露 不安全的错误处理暴露系统敏感信息,类似显错注入漏洞 0x06 漏洞修复方案 数据存储安全 代码中禁止存储敏感数据 :如数据库连接字符串、密钥等 加密存储敏感信息 :密钥/口令不得明文存储于数据库或文件 日志安全 :禁止记录明文敏感信息(如口令、session ID) 传输与显示安全 Cookie安全 : 避免在cookie中存储敏感数据 必须存储时应先加密 表单安全 : 禁止在隐藏域存放明文敏感数据 敏感信息不应使用GET方式提交 缓存控制 :带有敏感数据的页面应禁止缓存 技术实现要求 加密算法 : 使用公开、安全的标准算法(如AES、RSA) 禁止使用BASE64等编码代替加密 优先选择不对称加密算法 密码处理 : 用户密码为最高敏感级别 存储、传输、显示时都必须加密 错误处理 : 自定义错误页面替代系统默认页面 避免暴露系统敏感信息 管理规范 敏感信息定义 :根据业务特点明确系统敏感信息范围 安全处理要求 :敏感信息在存储、传输、显示时必须加密或脱敏 备份文件管理 :禁止将备份文件保留在Web可访问目录 附录:常用工具列表 weakfilescan:https://github.com/ring04h/weakfilescan BBScan:https://github.com/lijiejie/BBScan whatweb:Web技术栈识别工具 dnsenum:DNS信息枚举工具 nmap:操作系统和服务识别工具