寬位元組注入

2021-09-10 06:00:25 字數 746 閱讀 8426

這個md的**是我之前做南郵的一道sql注入題目,我實在是調動目前所學的sql注入知識沒做出來,一直搞不懂將轉義為,因此去網上看了一下wp,是考寬位元組注入,於是在網上找了教程學習一下,這個文章只是為了記錄一下自己的學習過程,不喜勿噴,有錯希望指正

寬位元組注入指的是mysql資料庫在使用寬位元組(gbk)編碼時,會認為兩個字元是乙個漢字(前乙個ascii碼要大於128(比如%df),才到漢字的範圍),而且當我們輸入單引號時,mysql會呼叫轉義函式,將單引號變為\』,其中\的十六進製制是%5c,mysql的gbk編碼,會認為%df%5c是乙個寬位元組,也就是』運』,從而使單引號閉合(逃逸),進行注入攻擊 ;

id=1』,單引號被轉義,判斷是寬位元組注入。

union查詢爆欄位:

回顯正常,判斷字段數2。

3.爆資料庫:

獲得資料庫名:sae-chinalover

4.爆資料庫表名:

獲得表名:ctf,ctf2,ctf3,ctf4,news(這裡四個表乙個個試,發現ctf2是我們需要的)

5.爆資料列:

獲得列名:id,content

爆資料:

完工,獲得flag,但是好像平台出現了問題 ,flag不對,不知道什麼原因。

僅僅是個人記錄學習的乙個過程,不做任何技術發表。

寬位元組注入

大家都知道 df 被php轉義 開啟gpc 用addslashes函式,或者icov等 單引號被加上反斜槓 變成了 df 其中 的十六進製制是 5c 那麼現在 df df 5c 27,如果程式的預設字符集是gbk等寬位元組字符集,則mysql用gbk的編碼時,會認為 df 5c 是乙個寬字元,也就是...

寬位元組注入

在使用php連線mysql的時候,當設定 set character set client gbk 時會導致乙個編碼轉換的問題,也就是我們熟悉的寬位元組注入,當存在寬位元組注入的時候,注入引數裡帶入 df 27,即可把 5c 吃掉,舉個例子。當提交 1 1 23 時,mysql的執行的sql語句為 ...

寬位元組注入

寬位元組注入是利用mysql的乙個特性,mysql在使用gbk編碼的時候,會認為兩個字元是乙個漢字 前乙個ascii碼要大於128,才到漢字的範圍 示例如下圖 php中編碼為gbk,函式執行新增的是ascii編碼 新增的符號為 mysql預設字符集是gbk等寬位元組字符集。如上圖所示 df 被php...