从0开始学web之信息收集
字数 3247 2025-08-15 21:33:24

Web安全入门:信息收集技术详解

1. 源代码查看技术

1.1 基础源代码查看

  • 右键查看:最简单直接的方法,右键选择"查看页面源代码"
  • 快捷键:Windows/Linux使用Ctrl+U,Mac使用Command+Option+U

1.2 禁用右键时的应对方法

  • URL前缀法:在URL前添加view-source:(如:view-source:http://example.com
  • 开发者工具:使用F12Ctrl+Shift+I打开开发者工具查看
  • 浏览器菜单:通过浏览器菜单栏中的"开发者工具"选项进入

2. HTTP响应头信息收集

2.1 查看HTTP头的方法

  • 浏览器开发者工具:Network标签页查看请求和响应
  • Burp Suite:拦截请求查看完整HTTP头
  • cURL命令curl -I http://example.com只获取头信息

2.2 关键信息点

  • Server头:服务器类型和版本
  • X-Powered-By:后端技术栈信息
  • Set-Cookie:会话管理机制
  • 自定义头:可能包含敏感信息

3. robots.txt协议分析

3.1 robots.txt基础

  • 位置:必须放在网站根目录下(如:http://example.com/robots.txt
  • 语法
    User-agent: *
    Disallow: /private/
    Allow: /public/
    

3.2 安全意义

  • 可能暴露后台路径(/admin/)、敏感目录或文件
  • 即使被Disallow的路径也可能被直接访问
  • 不是安全机制,只是指导搜索引擎的协议

4. 备份文件泄露

4.1 常见备份文件类型

  • 源码备份.zip.tar.gz.rar
  • 版本控制.git/.svn/.hg/
  • 编辑器缓存.swp.swo.swn(vim)、.bak.tmp

4.2 扫描方法

  • 字典爆破:使用工具如DirBuster、dirmap、dirsearch
  • 常见命名
    • www.zipwebsite.tar.gz
    • index.php.bakconfig.php.bak
    • .git/.svn/.DS_Store

5. 版本控制泄露

5.1 Git泄露

  • 信息.git/config.git/HEAD.git/index
  • 利用工具git-dumperGitHack
  • 恢复代码git clone http://example.com/.git/

5.2 SVN泄露

  • 信息.svn/entries.svn/wc.db
  • 利用工具svn-extractordvcs-ripper

6. 编辑器缓存泄露

6.1 Vim缓存文件

  • 命名规则
    • 第一次:.filename.swp
    • 第二次:.filename.swo
    • 第三次:.filename.swn
  • 恢复方法vim -r filename.swp

6.2 其他编辑器

  • Emacsfilename~#filename#
  • Nanofilename.save

7. Cookie信息收集

7.1 Cookie分析

  • 查看方法:开发者工具→Application→Cookies
  • 安全问题
    • 敏感信息明文存储
    • 过长的生存周期
    • HttpOnly和Secure标志缺失

7.2 实战技巧

  • 修改Cookie尝试提升权限
  • 解码Base64或URL编码的Cookie值
  • 检查Cookie中的用户标识是否可预测

8. DNS信息收集

8.1 DNS记录类型

  • A记录:域名到IP的映射
  • CNAME:域名别名
  • MX记录:邮件服务器
  • TXT记录:任意文本信息(常含验证信息)

8.2 查询工具

9. 管理员凭证猜测

9.1 常见凭证来源

  • robots.txt:暴露后台路径
  • 页面注释:HTML源码中的注释
  • 公开信息:页脚、关于我们、文档中的信息
  • 密码重置:安全问题答案可能在公开信息中

9.2 实战技巧

  • 尝试admin/adminadmin/password等弱口令
  • 收集邮箱推测用户名(如admin@example.com→用户名可能是admin)
  • 通过WHOIS信息获取管理员邮箱

10. 编辑器漏洞利用

10.1 常见编辑器漏洞

  • FCKeditor:旧版本存在目录遍历
  • KindEditor:文件上传漏洞
  • UEditor:SSRF漏洞
  • CKEditor:特定版本XSS漏洞

10.2 利用方法

  • 访问/editor/目录
  • 尝试文件上传功能
  • 检查是否有"文件管理"或"图片管理"功能

11. PHP探针利用

11.1 常见探针文件

  • tz.phpphpinfo.phptest.php
  • l.phpi.phpinfo.php
  • x.php1.phpphp.php

11.2 获取的信息

  • PHP配置信息(phpinfo()
  • 服务器环境变量
  • 已加载的PHP模块
  • 文件系统路径

12. 真实IP获取技术

12.1 绕过CDN的方法

  • 历史DNS记录:查看域名解析历史
  • 子域名查询:很多网站只对主站使用CDN
  • 邮件服务器:查看邮件头中的服务器IP
  • SSL证书:通过证书关联IP

12.2 实用工具

13. 前端游戏逆向

13.1 常见破解方法

  • 修改分数:直接修改JavaScript变量
  • 跳过验证:修改条件判断逻辑
  • 模拟请求:分析提交接口直接发送请求

13.2 具体步骤

  1. 打开开发者工具→Sources
  2. 查找游戏主逻辑JS文件
  3. 搜索关键词如"score"、"win"、"flag"
  4. 修改判断条件或直接调用胜利函数

14. POST参数分析

14.1 前端密码安全问题

  • 硬编码凭证:密钥直接写在JS中
  • 弱哈希算法:使用可破解的哈希值
  • 可预测参数:如admin:admin这样的默认凭证

14.2 测试方法

  • 使用Burp Suite拦截修改请求
  • 使用curl发送自定义POST请求:
    curl -X POST -d "username=admin&password=123456" http://example.com/login
    
  • 使用Python requests库构造请求

15. 数据库文件泄露

15.1 MDB文件利用

  • Access数据库.mdb文件包含完整数据库
  • 查看工具
    • Microsoft Access
    • EasyAccess
    • MDB Viewer Plus
    • 文本编辑器直接查看(部分内容可读)

15.2 安全建议

  • 禁止直接访问数据库文件
  • 数据库文件不要放在web目录
  • 使用现代数据库系统如MySQL、PostgreSQL

16. 综合信息收集流程

  1. 基础信息

    • 查看源代码和HTTP头
    • 检查robots.txt
    • 扫描常见备份文件和目录
  2. 深度信息

    • 检查版本控制痕迹(.git/.svn)
    • 查找编辑器缓存和备份文件
    • 分析Cookie和本地存储
  3. 扩展信息

    • DNS记录查询
    • 子域名枚举
    • 真实IP查找
    • 历史记录查询
  4. 凭证测试

    • 默认凭证尝试
    • 密码重置功能利用
    • 公开信息关联测试

17. 防御措施

  1. 文件管理

    • 删除测试文件和备份
    • 禁用目录列表
    • 限制敏感文件访问
  2. 信息控制

    • 最小化HTTP头信息
    • 正确配置robots.txt
    • 禁用不必要的HTTP方法
  3. 开发规范

    • 代码中不包含敏感信息
    • 使用版本控制忽略文件
    • 生产环境禁用调试功能
  4. 监控审计

    • 日志记录异常访问
    • 定期安全扫描
    • 监控公开信息泄露

通过系统化的信息收集,可以全面了解目标系统的结构和潜在弱点,为后续的安全测试奠定基础。同时,作为防御方,了解这些技术有助于更好地保护自己的系统。

Web安全入门:信息收集技术详解 1. 源代码查看技术 1.1 基础源代码查看 右键查看 :最简单直接的方法,右键选择"查看页面源代码" 快捷键 :Windows/Linux使用 Ctrl+U ,Mac使用 Command+Option+U 1.2 禁用右键时的应对方法 URL前缀法 :在URL前添加 view-source: (如: view-source:http://example.com ) 开发者工具 :使用 F12 或 Ctrl+Shift+I 打开开发者工具查看 浏览器菜单 :通过浏览器菜单栏中的"开发者工具"选项进入 2. HTTP响应头信息收集 2.1 查看HTTP头的方法 浏览器开发者工具 :Network标签页查看请求和响应 Burp Suite :拦截请求查看完整HTTP头 cURL命令 : curl -I http://example.com 只获取头信息 2.2 关键信息点 Server头 :服务器类型和版本 X-Powered-By :后端技术栈信息 Set-Cookie :会话管理机制 自定义头 :可能包含敏感信息 3. robots.txt协议分析 3.1 robots.txt基础 位置 :必须放在网站根目录下(如: http://example.com/robots.txt ) 语法 : 3.2 安全意义 可能暴露后台路径( /admin/ )、敏感目录或文件 即使被Disallow的路径也可能被直接访问 不是安全机制,只是指导搜索引擎的协议 4. 备份文件泄露 4.1 常见备份文件类型 源码备份 : .zip 、 .tar 、 .gz 、 .rar 版本控制 : .git/ 、 .svn/ 、 .hg/ 编辑器缓存 : .swp 、 .swo 、 .swn (vim)、 .bak 、 .tmp 4.2 扫描方法 字典爆破 :使用工具如DirBuster、dirmap、dirsearch 常见命名 : www.zip 、 website.tar.gz index.php.bak 、 config.php.bak .git/ 、 .svn/ 、 .DS_Store 5. 版本控制泄露 5.1 Git泄露 信息 : .git/config 、 .git/HEAD 、 .git/index 利用工具 : git-dumper 、 GitHack 恢复代码 : git clone http://example.com/.git/ 5.2 SVN泄露 信息 : .svn/entries 、 .svn/wc.db 利用工具 : svn-extractor 、 dvcs-ripper 6. 编辑器缓存泄露 6.1 Vim缓存文件 命名规则 : 第一次: .filename.swp 第二次: .filename.swo 第三次: .filename.swn 恢复方法 : vim -r filename.swp 6.2 其他编辑器 Emacs : filename~ 、 #filename# Nano : filename.save 7. Cookie信息收集 7.1 Cookie分析 查看方法 :开发者工具→Application→Cookies 安全问题 : 敏感信息明文存储 过长的生存周期 HttpOnly和Secure标志缺失 7.2 实战技巧 修改Cookie尝试提升权限 解码Base64或URL编码的Cookie值 检查Cookie中的用户标识是否可预测 8. DNS信息收集 8.1 DNS记录类型 A记录 :域名到IP的映射 CNAME :域名别名 MX记录 :邮件服务器 TXT记录 :任意文本信息(常含验证信息) 8.2 查询工具 命令行 : nslookup 、 dig 在线工具 : 阿里云DNS查询 MXToolBox DNSDumpster 9. 管理员凭证猜测 9.1 常见凭证来源 robots.txt :暴露后台路径 页面注释 :HTML源码中的注释 公开信息 :页脚、关于我们、文档中的信息 密码重置 :安全问题答案可能在公开信息中 9.2 实战技巧 尝试 admin/admin 、 admin/password 等弱口令 收集邮箱推测用户名(如 admin@example.com →用户名可能是admin) 通过WHOIS信息获取管理员邮箱 10. 编辑器漏洞利用 10.1 常见编辑器漏洞 FCKeditor :旧版本存在目录遍历 KindEditor :文件上传漏洞 UEditor :SSRF漏洞 CKEditor :特定版本XSS漏洞 10.2 利用方法 访问 /editor/ 目录 尝试文件上传功能 检查是否有"文件管理"或"图片管理"功能 11. PHP探针利用 11.1 常见探针文件 tz.php 、 phpinfo.php 、 test.php l.php 、 i.php 、 info.php x.php 、 1.php 、 php.php 11.2 获取的信息 PHP配置信息( phpinfo() ) 服务器环境变量 已加载的PHP模块 文件系统路径 12. 真实IP获取技术 12.1 绕过CDN的方法 历史DNS记录 :查看域名解析历史 子域名查询 :很多网站只对主站使用CDN 邮件服务器 :查看邮件头中的服务器IP SSL证书 :通过证书关联IP 12.2 实用工具 ping检测 : ping example.com 全国Ping : 站长之家超级Ping SecurityTrails :查看历史DNS记录 13. 前端游戏逆向 13.1 常见破解方法 修改分数 :直接修改JavaScript变量 跳过验证 :修改条件判断逻辑 模拟请求 :分析提交接口直接发送请求 13.2 具体步骤 打开开发者工具→Sources 查找游戏主逻辑JS文件 搜索关键词如"score"、"win"、"flag" 修改判断条件或直接调用胜利函数 14. POST参数分析 14.1 前端密码安全问题 硬编码凭证 :密钥直接写在JS中 弱哈希算法 :使用可破解的哈希值 可预测参数 :如 admin:admin 这样的默认凭证 14.2 测试方法 使用Burp Suite拦截修改请求 使用curl发送自定义POST请求: 使用Python requests库构造请求 15. 数据库文件泄露 15.1 MDB文件利用 Access数据库 : .mdb 文件包含完整数据库 查看工具 : Microsoft Access EasyAccess MDB Viewer Plus 文本编辑器直接查看(部分内容可读) 15.2 安全建议 禁止直接访问数据库文件 数据库文件不要放在web目录 使用现代数据库系统如MySQL、PostgreSQL 16. 综合信息收集流程 基础信息 : 查看源代码和HTTP头 检查robots.txt 扫描常见备份文件和目录 深度信息 : 检查版本控制痕迹(.git/.svn) 查找编辑器缓存和备份文件 分析Cookie和本地存储 扩展信息 : DNS记录查询 子域名枚举 真实IP查找 历史记录查询 凭证测试 : 默认凭证尝试 密码重置功能利用 公开信息关联测试 17. 防御措施 文件管理 : 删除测试文件和备份 禁用目录列表 限制敏感文件访问 信息控制 : 最小化HTTP头信息 正确配置robots.txt 禁用不必要的HTTP方法 开发规范 : 代码中不包含敏感信息 使用版本控制忽略文件 生产环境禁用调试功能 监控审计 : 日志记录异常访问 定期安全扫描 监控公开信息泄露 通过系统化的信息收集,可以全面了解目标系统的结构和潜在弱点,为后续的安全测试奠定基础。同时,作为防御方,了解这些技术有助于更好地保护自己的系统。