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

第一章: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 次失败后,增加二次验证(短信/邮箱),而非单纯锁定账户。

相关推荐
Aphasia3112 天前
VPN 与内网穿透
安全
Mr_愚人派3 天前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
DaLi Yao3 天前
【无标题】
人工智能·安全
Alsn863 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
网络研究院3 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
treesforest3 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
零零信安4 天前
零零信安荣登数世咨询《新质·数字安全专精百强(2026)》暗网情报领域,彰显专业实力与创新引领
安全·网络安全·数据泄露·暗网·零零信安
开发小能手-roy4 天前
StringBuilder vs StringBuffer:2024年还需要线程安全字符串吗?
开发语言·python·安全
_阿伟_4 天前
JWT介绍
安全
zhengfei6114 天前
小白级手册——全面剖析红队信息收集思考
网络·安全·web安全