亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Web網絡安全解析寬字節(jié)注入攻擊原理

 更新時間:2021年11月02日 16:23:09   作者:Phanton03167  
這篇文章主要介紹了Web網絡安全解析寬字節(jié)注入攻擊原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

寬字節(jié)注入攻擊

寬字節(jié)注入攻擊的測試地址:http://127.0.0.1/sqli/kuanzijie.php?id=1。

訪問id=1',頁面返回的結果如圖46所示,程序并沒有報錯,反而多了一個轉義符(反斜杠)。

 

圖46 單引號被轉義

從返回的結果可以看出,參數(shù)id=1在數(shù)據(jù)庫查詢時是被單引號包圍的。當傳入id=1'時,傳入的單引號又被轉義符(反斜杠)轉義,導致參數(shù)ID無法逃逸單引號的包圍,所以在一般情況下,此處是不存在SQL注入漏洞的。不過有一個特例,就是當數(shù)據(jù)庫的編碼位GBK時,可以使用寬字節(jié)注入,寬字節(jié)的格式是在地址后先加一個%df,再加單引號,因為反斜杠的編碼為%5c,而在GBK編碼中,%df%5c是繁體字“連”,所以這時,單引號逃逸成功,報出MySQL數(shù)據(jù)庫的錯誤,如圖47所示。

 

圖47 利用寬字節(jié)逃逸單引號的包圍

由于輸入的參數(shù)id=1',導致SQL語句多了一個單引號,所以需要使用注釋符來注釋程序自身的單引號。訪問id=1%df'--+,頁面返回的結果如圖48所示,可以看到,SQL語句已經符合語法規(guī)范。

 

圖48 利用注釋符注釋單引號

使用and 1=1和and 1=2進一步判斷注入,訪問id=1%df' and 1=1--+和id=1%df' and 1=2--+,返回結果如圖49和圖50所示。

圖49 訪問id=1%df' and 1=1--+時頁面的結果

 

圖50 訪問id=1%df' and 1=2--+時頁面的結果

當and 1=1程序返回正常時,and 1=2程序返回錯誤,所以判斷該參數(shù)ID存在SQL注入漏洞,接著使用order by查詢數(shù)據(jù)庫表的字段數(shù)量,最后得知字段數(shù)為3,如圖51所示。

 

圖51 獲取數(shù)據(jù)庫表的字段數(shù)

因為頁面直接顯示了數(shù)據(jù)庫中的內容,所以可以使用Union注入。與Union注入一樣,此時的Union語句是union select 1,2,3--+,為了讓頁面返回Union查詢的結果,需要把ID的值改為負數(shù),結果如圖52所示。

 

圖52 結合Union注入

然后嘗試在頁面中2的位置查詢當前數(shù)據(jù)庫的庫名(database()),語句為:

id=-1%df' union select 1,database(),3--+

返回的結果如圖53所示。

 

圖53 獲取database()

查詢數(shù)據(jù)庫的表名時,一般使用一下語句。

id=-1%df' union select 1,(select table_name from information_schema.tables where table_schema='sql' limit 0,1),3--+

但是此時,由于單引號被轉義,會自動多出反斜杠,導致SQL語句出錯,所以此處需要利用另一種方法:嵌套查詢。就是在一個查詢語句中,再添加一個查詢語句,下列就是更改后的查詢數(shù)據(jù)庫表名的語句。

id=-1%df' union select 1,(select table_name from information_schema.tables where table_schema=(select database()) limit 0,1),3--+

可以看到,原本的table_schema=‘sql'變成了table_schema=(select database()),因為select database()的結果就是'sql',這就是嵌套查詢,結果如圖54所示。

 

圖54 獲取數(shù)據(jù)庫的表名

從返回結果可以看到,數(shù)據(jù)庫的第一個表名時emails,如果想查詢后面的的表名,還需要修改limit后面的數(shù)字,這里不再重復。使用以下語句嘗試查詢emails表里的字段。

id=-1%df' union select 1,(select column_name from information_schema.columns where table_schema=(select database()) and table_name=(select table_name from information_schema.tables where table_schema=(select database()) limit 0,1) limit 0,1),3--+

這里使用了三層嵌套,第一層時table_schema,它代表庫名的嵌套,第二層可第三層時table_name的嵌套。我們可以看到語句中有兩個limit,前一個limit控制表名的順序。如這里查詢的不是emails表,而是users表,則需要更改limit的值。如圖55所示,后面的操作如Union注入所示,這里不再重復。

 

圖55 獲取數(shù)據(jù)庫字段名

寬字節(jié)注入代碼分析

在寬字節(jié)注入頁面中,程序獲取GET參數(shù)ID,并對參數(shù)ID使用addslashes()轉義,然后拼接到SQL語句中,進行查詢,代碼如下。

<?php
error_reporting(~E_WARNING);
$conn = mysqli_connect("localhost","root","root","test");
// 檢測連接
if (mysqli_connect_errno())
{
    echo "連接失敗: " . mysqli_connect_error();
}
mysqli_select_db($conn,'test') OR emMsg("數(shù)據(jù)庫連接失敗");
mysqli_query($conn,"SET NAMES 'gbk'");
$id = addslashes(@$_GET['id']);
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
$result = mysqli_query($conn,$sql); 
$row = mysqli_fetch_array($result);
if($row)
{
    echo $row['username'] ." : ". @$row['password'];
}
else 
{
    echo mysqli_error($conn);
}      
?>
</font> 
<?php
echo "<br>The Query String is : ".$sql ."<br>";

?>

當訪問id=1'時,執(zhí)行的SQL語句為:

select * from users where id='1\''

可以看到單引號被轉義符“\”轉義,所以在一般情況下,是無法注入的,但由于在數(shù)據(jù)庫查詢前執(zhí)行了SET NAMES ‘GBK',將編碼設置為寬字節(jié)GBK,所以此處存在寬字節(jié)注入漏洞。

在PHP中,通過iconv()進行編碼轉換時,也可能存在寬字符注入漏洞。

以上就是Web網絡安全解析寬字節(jié)注入攻擊原理的詳細內容,更多關于Web網絡安全寬字節(jié)注入攻擊的資料請關注腳本之家其它相關文章!

相關文章

  • 網絡安全滲透測試反序列化漏洞分析與復現(xiàn)工作

    網絡安全滲透測試反序列化漏洞分析與復現(xiàn)工作

    這篇文章主要為大家介紹了網絡安全滲透測試反序列化漏洞分析與復現(xiàn)的工作流程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-02-02
  • Web網絡安全分析二次注入攻擊原理詳解

    Web網絡安全分析二次注入攻擊原理詳解

    這篇文章主要為大家講解介紹了Web網絡安全分析二次注入攻擊原理的詳解,有需要相關學習的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2021-11-11
  • Web網絡安全解析寬字節(jié)注入攻擊原理

    Web網絡安全解析寬字節(jié)注入攻擊原理

    這篇文章主要介紹了Web網絡安全解析寬字節(jié)注入攻擊原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2021-11-11
  • web網絡安全分析反射型XSS攻擊原理

    web網絡安全分析反射型XSS攻擊原理

    這篇文章主要為大家介紹了web網絡安全分析反射型XSS攻擊原理詳細講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2021-11-11
  • 滲透測試信息收集查詢真實IP過程

    滲透測試信息收集查詢真實IP過程

    這篇文章主要為大家介紹了滲透測試信息收集查找真實IP過程步驟,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家,多多進步,早日升職加薪
    2021-11-11
  • Web網絡安全漏洞分析SQL注入原理詳解

    Web網絡安全漏洞分析SQL注入原理詳解

    這篇文章主要為大家介紹了Web網絡安全漏洞分析SQL注入的原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2021-11-11
  • 無線網攻擊工具進攻方法及防范技巧小結

    無線網攻擊工具進攻方法及防范技巧小結

    對無線網安全攻防有興趣的人應該都需要一套工具,英特網上有很多免費的工具。本文不求全面,但求能提供一些指導和建議。
    2008-02-02
  • Web網絡安全漏洞分析XSS常用語句及編碼繞過詳解

    Web網絡安全漏洞分析XSS常用語句及編碼繞過詳解

    這篇文章主要為大家介紹了Web網絡安全漏洞分析XSS常用語句及編碼繞過詳解,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進步早日升職加薪
    2021-11-11
  • 網絡安全流量分析工具蟻劍詳細介紹

    網絡安全流量分析工具蟻劍詳細介紹

    蟻劍(AntSword)是一款開源的跨平臺WebShell管理工具,它主要面向于合法授權的滲透測試安全人員以及進行常規(guī)操作的網站管理員,蟻劍推崇模塊化的開發(fā)思想,遵循開源,就要開得漂亮的原則,致力于為不同層次的人群提供最簡單易懂、方便直接的代碼展示及其修改說明
    2022-09-09
  • 徹底防止木馬最有效果的辦法 (完整篇)

    徹底防止木馬最有效果的辦法 (完整篇)

    徹底防止木馬最有效果的辦法 (完整篇)...
    2007-02-02

最新評論