日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

alxc tool 报错数组超出了界限_代码审计之报错信息泄露与字符串截断

發布時間:2023/12/2 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 alxc tool 报错数组超出了界限_代码审计之报错信息泄露与字符串截断 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

機器在語言編碼轉換的時候,經常會出現各種各樣的異常,這些神奇的字符串就有可能組合成一堆亂碼出來,也有可能直接把程序搞崩潰掉,不過總有那么一些字符,可以幫助我們在利用漏洞的時候變得更簡單一些,下面我們就來看看是哪些函數這么調皮。

  • 字符處理函數報錯信息泄露

頁面的報錯信息通常能泄露文件絕對路徑、代碼、變量以及函數等信息,頁面報錯有很多情況,比如參數少了或者多了、參數類型不對、數組下標越界、頁面超時,等,

不過并不是所有情況下頁面都會出現錯誤信息,要顯示錯誤信息需要打開在PHP配置文件php.ini中設置display_errors=on或者在代碼中加入error_reporting()函數,error_reporting()函數有幾個選項來配置顯示錯誤的等級,列表如下:

E_WARNING

其中最常用的是E_ALL、E_WARNING、E_NOTICE

E_ALL代表提示所有問題,E_WARNING代表顯示錯誤信息,E_NOTICE則是顯示基礎提示信息。

大多數錯誤提示都會顯示文件路徑,在滲透測試中,經常遇到webshell的場景要用到文件絕對路徑,所以這個利用頁面報錯來獲取Web路徑的方式也比較實在了,用戶提交上去的數據后端大多是以字符串方式處理,所以利用字符串處理函數報錯成了必不可少的方法,對于利用參數來報錯的方式,給函數傳入不同類型的變量是最實用的方式。

大多數程序會使用trim()函數對用戶名等值去掉兩邊的空格,這時候如果我們傳入的用戶名參數是一個數組,則程序就會報錯,測試代碼如下:

<?

當我們請求/1.php?a[]=test時,程序報錯如下,如圖所示

類似的函數還有很多很多,比如

addcslashes
  • 字符串截斷

如果你以前做過滲透測試,那字符串截斷應該是我們比較熟悉的一個利用方式,在利用文件上傳漏洞的時候,經常會用到抓包,然后修改POST文件上傳數據包里面的文件,在文件名里面加一個%00,用來繞過文件擴展名的檢查,又能把腳本文件寫入到服務器中,下面我們就來了解下其中的原理吧。

%00空字符截斷

字符串截斷被利用最多的是在文件操作上面,通常用來利用文件包含漏洞和文件上傳漏洞,%00即NULL是會被GPC和addslashes()函數過濾掉,所以要想用%00截斷需要GPC關閉以及不被addslashes()函數過濾,另外在PHP5.3之后的版本全面修復了文件名%00截斷的問題,這個版本以后也是不能用這種方式截斷。

為什么PHP在文件操作的時候用%00會截斷字符?

PHP基于C語言開發,%00在URL解碼后為0,0在C語言中是字符串結束符,遇到0的時候以為到了字符串結尾,不再讀取后面的字符串,自然而然的就理解成了截斷。

做一個簡單的測試,測試代碼(1.php)

<?

在同目錄下面新建文件2.txt,內容為輸出phpinfo信息代碼,當我們請求

/

實際上包含了2.txt這個文件,正常執行phpinfo代碼。

  • iconv函數字符編碼轉換截斷

iconv()函數用來做字符編碼轉換,比如從UTF-8轉換到GBK,字符集的編碼轉換總會存在一定的差異性,導致部分編碼不能被成功轉換,也就是出現常說的亂碼。

在使用iconv()函數轉碼的時候,當遇到不能處理的字符串則后續字符串會不被處理。

我們來做一個簡單的測試,測試代碼如下:

<?

我們執行這段代碼的行結果如圖所示。

可以看到第一次輸出$a變量,1和2都被正常輸出,當使用iconv()函數轉換編碼后,從chr(130)字符開始之后的字符串都沒有輸出,已經被成功截斷。經過筆者fuzz測試,當我們文件名中有chr(128)到chr(255)之間都可以截斷字符。

  • 建站之星模糊測試實戰之任意文件上傳漏洞

漏洞發生在/module/mod_tool.php文件第89行起,img_create()函數,代碼如下:

public

這是一個文件上傳的代碼,其中此漏洞的關鍵代碼在:

if

在這里調用_savelinkimg()函數保存文件,跟進該函數,函數代碼如下:

private

代碼中:

$struct_file

對文件名進行轉碼,之后:

move_uploaded_file(

寫入文件,這里就出現了我們上面說到的編碼轉換,最終導致可以上傳任意文件。

總結

以上是生活随笔為你收集整理的alxc tool 报错数组超出了界限_代码审计之报错信息泄露与字符串截断的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。