您好,登錄后才能下訂單哦!
??在實際***中,當我們發現有文件上傳的地方時,我們會盡可能地嘗試所有的辦法進行webshell的上傳,只要能上傳webshell,就說明本次***至少成功了一半,后續就看獲得的webshell的權限情況進行下一步的操作。對于文件上傳漏洞的防護來說,主要分為以下兩類:白名單限制和黑名單限制,對于黑名單的限制,我們只需要尋找一些較為偏僻的可執行后綴、大小寫混寫以及相關操作系統的特性(如windows文件名后綴的最后會自動過濾空格以及.等)來進行繞過;對于白名單的限制來說,一般是結合解析漏洞、代碼函數漏洞(icov(80-EF截斷),造成00截斷的相關函數)以及相關操作系統特性(如windows10文件名長度總共為223包括后綴,win2012的為237,linux ubuntu0.16.04.1文件名長度252等)來進行繞過!下面我們將以ubuntu0.16.04.1操作系統作為演示情況!
??首先我們輸入php后綴進行測試,發現提示錯誤的文件后綴,如下圖所示:
??接著我們輸入一個不存在的文件后綴進行測試,發現依舊提示是錯誤的后綴,如下圖所示,到此我們可以簡單認為本上傳點是白名單限制上傳,只允許特定后綴文件上傳!
??通過上面我們知道是白名單限制,并且通過前期信息收集發現webserver為Nginx,操作系統為linux(ubuntu),通過Nginx解析漏洞無法進行上傳,所以我們使用構造超長文件名進行繞過本次的白名單限制上傳。
??由于很多時候我們不知道具體的操作系統,所以我們只能使用很長文件名進行測試(如果有報錯信息提示我們就可以慢慢構造出來,如果沒有報錯信息就只能慢慢嘗試(可以自己先搭建一些常見的系統【win03 win08 win12 ubuntu redhat等】進行測試文件名長度為多少來進行逐一測試))。
??首先進行嘗試超長字符,提示文件名過長,如下圖所示,然后我們進行逐個遞減,減到一個剛好能成功上傳的地方。
??通過最后得知,最長為252,如下圖所示:
??最后我們將jpg后綴前面的文件名末尾更換為.php來進行文件上傳,文件上傳成功,如下圖所示:
??最后我們通過訪問進行驗證是否可以正常解析該文件,從而獲取webshell,通過訪問可知,成功獲取webshell,如下圖所示:
關于其他文件解析及上傳參考此處
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。