您好,登錄后才能下訂單哦!
Extract()函數引起的變量覆蓋漏洞
該函數使用數組鍵名作為變量名,使用數組鍵值作為變量值。但是當變量中有同名的元素時,該函數默認將原有的值給覆蓋掉。這就造成了變量覆蓋漏洞。
一、我們來查看一串代碼:
1、文件將get方法傳輸進來的值通過extrace()函數處理。
2、通過兩個if語句分別判斷是否存在gift變量,和變量gift的值和變量content的值是否相等。變量content的值是通過讀取變量test的值獲取到的。如果兩個變量相等輸出flag。如果不相等,輸出錯誤。
二、但是我們并不知道test的值是什么?所以我們使用變量覆蓋漏洞,重新給test賦值。
例如:$GET[‘test’]=’a’,被extract()函數處理后,就變成了$test=’a’,有與之同名的變量$test = '';,將其值覆蓋掉。并且get方法傳輸的gift參數的值也為a。這樣,$gift=$content。就可以獲得flag。
構造我們的payload:
Get方法傳值:?gift=a&test=a.
最后進行測試:
得到我們夢寐以求的flag。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。