SQL注入(三) sql注入 bugku

2021-08-18 16:38:05 字數 1064 閱讀 5131

原理:mysql 在使用 gbk 編碼的時候,會認為兩個字元為乙個漢字,例如%aa%5c 就是乙個 漢字(前乙個 ascii碼大於 128 才能到漢字的範圍)。我們在過濾 』 的時候,往往利用的思 路是將 『 轉換為 \』 **換的函式或者思路會在每一關遇到的時候介紹)。 因此我們在此想辦法將 『 前面新增的 \ 除掉,一般有兩種思路: 1、%df 吃掉 \ 具體的原因是 urlencode(『) =%5c%27,我們在%5c%27 前面新增%df,形 成%df%5c%27,而上面提到的 mysql 在 gbk 編碼方式的時候會將兩個位元組當做乙個漢字,此 事%df%5c 就是乙個漢字,%27 則作為乙個單獨的符號在外面,同時也就達到了我們的目的。 2、將 \』 中的 \ 過濾掉,例如可以構造 %**%5c%5c%27 的情況,後面的%5c 會被前面的%5c 給注釋掉。這也是 bypass的一種方法。

sql注入 bugku

開啟網頁

檢視源**,考慮是寬位元組注入

id=1和id=1』結果一致,猜測可能是寬位元組注入,』號被轉義所致。

測試id=1%df』報錯確認為寬位元組注入。

構造語句,爆出資料庫1%df' union select 1,database()%23

構造語句得出flag1%df' union select 1,string from sql5.key%23

SQL注入(三)

寬位元組注入 mysql query set names gbk 設定字符集編碼,對資料庫執行之後的結果進行某種編碼 gbk 然後傳遞給使用者,返回gdk編碼的結果 mysql set charset gbk 設定字符集編碼,規定當與資料庫伺服器進行資料傳送時要使用的預設字符集 mysql real...

Sql注入實驗 三

對於繞過後台登入的實驗,我們通過前面的注入已經拿到了md5 解密就可以去登入後台了,但是我們並不滿求這乙個方法,難道就不能直接登入?得到後台登入位址 後台看不出什麼通過分析 和嘗試輸入 登入 報錯 那麼報錯會證明什麼了 那麼登入語句一定是這樣的 select name.passwd from use...

自學sql注入(三)

這是筆者自行整理出來的有關sql注入的一些知識點,自己還有些迷迷糊糊,可能有些不對的地方。等學完之後,再來詳寫一系列的關於sql注入的文章 自學sql注入 一 自學sql注入 二 1 and select 1 from select count concat database floor rand ...