识别SQL注入攻击主要依赖于对输入、请求和行为的多维度分析,可从特征检测、日志分析、异常行为、防护工具四个层面入手。
SQL注入通常发生在用户输入点(如URL参数、表单、HTTP头、Cookie等),典型特征包括:
常见关键字(不区分大小写):
' " ; -- #
SELECT UNION INSERT UPDATE DELETE DROP
OR AND 1=1 1=2
EXEC xp_cmdshell
SLEEP BENCHMARK
示例:
' OR '1'='1
" OR 1=1 --
-- # /* */admin' OR '1'='1
id=1 UNION SELECT null,null
攻击者常先试探是否存在注入点:
?id=1'
?id=1"
?id=1 AND 1=1
?id=1 AND 1=2
关注:
示例:
GET /index.php?id=1' UNION SELECT 1,2,3--
主流WAF(ModSecurity、云WAF)常见规则:
示例规则思路:
(\bUNION\b.*\bSELECT\b)
('|\")\s*(OR|AND)\s*\d+=\d+
?id=1 UNION SELECT username,password FROM users
识别点:
?id=1 AND SLEEP(5)
识别点:
注意以下“假注入”:
降低误报方法:
如果你愿意,我也可以:
你可以直接贴一段请求或日志。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。