WEB安全--SQL注入--SQL注入数据包的特征

一、异常的SQL语法结构

  • 特殊符号 :包含大量单引号 '、双引号 "、分号 ;、注释符(--#/* */)等。
    • 例如:' OR 1=1 --" UNION SELECT null,version()#
  • 逻辑运算符 :频繁出现 ORANDUNIONSELECTFROMWHERE 等关键字。
    • 例如:' OR 'a'='a1' UNION SELECT 1,2,3 --

二、异常的参数值

  • 永真条件 :参数中包含类似 1=1'a'='a' 的永真逻辑,用于绕过验证。
    • 例如:?id=1' OR 1=1 --
  • 数据库函数/变量 :如 version()database()user()concat()sleep() 等。
    • 例如:?id=1' UNION SELECT version(),2 --
  • 系统表名 :尝试访问系统表(如 information_schema.tablessysdatabases 等)。
    • 例如:?id=1' UNION SELECT table_name FROM information_schema.tables --

三、异常的请求行为

  • 多次重复请求 :同一参数反复变化,尝试不同的注入载荷(如盲注攻击)。
    • 例如:?id=1' AND (SELECT SUBSTRING(password,1,1) FROM users)='a' --
  • 超长参数值 :参数值异常长,可能包含编码后的注入语句。
    • 例如:?id=1'%20AND%20SLEEP(5)--(URL编码后的时间盲注)

四、数据库类型特征

不同数据库的语法差异可能导致流量中暴露特定关键字:

  • MySQLCONCAT()LIMIT/**/ 注释。
  • SQL ServerWAITFOR DELAY '0:0:5'xp_cmdshell
  • OracleDUAL 表、UTL_HTTP
  • PostgreSQLpg_sleep()|| 字符串拼接。

五、错误响应中的数据库信息

  • 若应用程序未屏蔽错误,返回的HTTP响应可能包含数据库错误信息:
    • 例如:You have an error in your SQL syntax; check the manual for your MySQL server version...

六、编码或混淆

  • URL编码 :注入语句被编码为 %27')、%20(空格)、%3B;)等。
  • 十六进制/Unicode编码 :如 0x414243(ABC的十六进制)或 CHAR(65)
  • 多重嵌套 :如 1'/*!UNION*/SELECT/**/1,2,3--

七、盲注特征

  • 布尔盲注 :通过条件判断返回不同页面内容。
    • 例如:?id=1' AND (SELECT COUNT(*) FROM users) > 10 --
  • 时间盲注 :通过 SLEEP()BENCHMARK() 函数触发延迟。
    • 例如:?id=1' AND IF(1=1, SLEEP(5), 0) --
相关推荐
辉盈防爆散热风扇7 分钟前
EC 技术赋能:福佑防爆风扇如何平衡安全与节能?
安全
君鼎5 小时前
安全逆向工程学习路线
安全·逆向·网安
清 晨6 小时前
剖析 Web3 与传统网络模型的安全框架
网络·安全·web3·facebook·tiktok·instagram·clonbrowser
jonyleek8 小时前
如何搭建一套安全的,企业级本地AI专属知识库系统?从安装系统到构建知识体系,全流程!
人工智能·安全
还是奇怪9 小时前
深入解析三大Web安全威胁:文件上传漏洞、SQL注入漏洞与WebShell
sql·安全·web安全
fishwheel12 小时前
Android:Reverse 实战 part 2 番外 IDA python
android·python·安全
技术卷12 小时前
详解力扣高频SQL50题之1164. 指定日期的产品价格【中等】
sql·leetcode·oracle
看天走路吃雪糕15 小时前
墨者:通过手工解决SQL手工注入漏洞测试(PostgreSQL数据库)
数据库·sql·postgresql·sql注入·墨者靶场
pingao14137815 小时前
雨雪雾冰全预警:交通气象站为出行安全筑起“隐形防护网”
安全
看天走路吃雪糕15 小时前
墨者:SQL注入漏洞测试(布尔盲注)
数据库·sql·sqlmap·墨者学院·布尔盲注