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

张开发
2026/5/8 17:04:44 15 分钟阅读

分享文章

第一部分:外网打点篇 —— 边界突破
第一章Web 应用层渗透1.1 信息收集与指纹识别目标精准定位脆弱入口避免无效攻击。1.1.1 资产测绘实战不要只盯着主域名重点在“旁站”和“关联资产”。FOFA/Hunter 语法title后台登录寻找管理入口。bodyindex of countryCN寻找目录遍历泄露。certTarget Inc通过 SSL 证书查找关联 IP。bannerApache/2.4.49直接匹配存在漏洞的中间件版本。1.1.2 JS 敏感信息提取现代 Web 前端高度依赖 JS常泄露 API 接口。工具jsfinder,LinkFinder。实战命令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 状态码与返回包篡改场景前端仅根据响应包判断结果。测试方法使用 Burp Suite 拦截登录响应。将HTTP/1.1 401 Unauthorized改为HTTP/1.1 200 OK。修改 Body{code:401, msg:fail}-{code:0, msg:success}。结果前端接收 200 状态码误以为登录成功直接跳转至后台。1.2.2 万能密码SQL 注入变体场景老旧系统或未使用参数化查询的系统。Payloadadmin -- admin # OR 11 -- ) OR (11 --原理注释符--或#闭合了密码校验部分的 SQL 语句使验证逻辑恒真。1.3 验证码对抗策略核心验证码的目的是限制自动化只要打破限制爆破即可继续。绕过类型测试方法工具/代码前端校验​查看页面源码验证码答案直接写在 JS 变量中。浏览器开发者工具。验证码复用​刷新登录页面验证码不变。Burp Repeater 重放。为空绕过​删除code参数。code或 删除该字段。4位纯数字​穷举 0000-9999。Burp Intruder (Numbers payload)。OCR 识别​验证码干扰线弱。ddddocr​ (Python库)。实战脚本OCR 爆破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, datadata) if 欢迎 in res.text: print(fSuccess: admin/{pwd}) break1.4 账户锁定机制绕过痛点输错 5 次密码账户锁定 30 分钟。1.4.1 参数污染 (HPP)原理后端解析参数时只取第一个或最后一个值。Payloadusernameadminusernamewrong_userpassword123456效果系统锁定wrong_user但admin账户依然可用继续尝试下一个密码。1.4.2 空格绕过原理数据库对尾随空格不敏感但认证系统将其视为新用户。Payloaduseradmin(后面带空格)。效果绕过“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 防御视角给客户统一错误提示无论用户名是否存在统一返回“用户名或密码错误”禁止区分提示。验证码安全验证码必须一次性有效用完即焚。增加行为验证码滑动、点选防止 OCR 识别。锁定策略连续 5 次失败后增加二次验证短信/邮箱而非单纯锁定账户。

更多文章