記錄一下檔案上傳的常見姿勢,更全面的可以做upload-labs。
實驗環境:win2003 phpstudy
實驗平台:upfile
一、準備上傳的一句話木馬
eval函式將接受的字串當做**執行
二、實驗步驟
2.1 無防護上傳
可以直接上傳一句話木馬檔案
可以看到已經成功上傳,並返回了相關資訊。
可以使用菜刀連線
實際上許可權已經有很多,但是也可以用一句話木馬上傳大馬進行其他操作。
2.2 前台指令碼檢測副檔名
這裡增加在前端增加了限制,如果直接上傳php檔案會被拒絕
可以先把檔案改成允許上傳的格式,比如jpg格式,
然後進行抓包,通過前端的檢測之後再進行改包:
這樣上傳成功了,再通過工具連線:
2.3 伺服器驗證content-type檢測檔案型別
這樣直接上傳也是不能通過的:
因為檢測的地方是content-type,所以抓包替換成可以上傳的type就可以了:
可以看到,檔案本身沒有變化,但是最後也成功上傳了。
2.4 伺服器端驗證副檔名
這樣後端進行驗證,利用辦法是修改檔案上傳的副檔名,結合解析漏洞利用。
首先對上傳的php檔案進行抓包:
最後修改不再黑名單內的副檔名。成功上傳,但是要配合阿帕奇的解析漏洞(2.0-2.2版本),否則不能執行成php檔案
也可以根據情況使用00截斷(這裡是舉例記錄):
首先檔案改名為1.phpp.jpg
然後上傳時候進行抓包:
把phpp的第二個p的16進製制改成00,這樣p就變成了空格
這樣上傳成功後變成了1.php空.jpg
這樣就能執行php檔案,但是這樣上傳的時候如果後端用函式也檢測到時php檔案,那麼也上傳不成功,所以根據情況利用。
2.5 服務端驗證檔案頭
這種防護方式會對檔案內容進行檢測:
如果只是修改檔案的副檔名,也是不能繞過檢測,所以這時候利用的方式就是用真的加上一句話木馬構造成馬上傳(可以直接txt格式開啟或者利用命令列),然後再根據場景把還原成php檔案進行執行。
任意使用者密碼重置的幾種常見姿勢
可通過篡改使用者名稱或id 暴力破解驗證碼等方式修改 重置任意賬戶的密碼。密碼修改的步驟一般是先校驗使用者原始密碼是否正確,再讓使用者輸入新密碼。修改密碼機制繞過方式大概有以下三種 1.如果輸入新密碼的介面可以直接訪問,那麼在未知原始密碼的的情況下即可直接修改密碼,通常知道了他人的使用者名稱即可任意...
CSRF常見攻防姿勢總結
無驗證 如token通過get方法在url中顯示時,常見方法是通過referrer偷token 本身來說csrf漏洞是廣泛存在的,一般將其歸類為 低危 但只要利用的姿勢夠牛,csrf也會有大作為。除了常見的 刷粉絲 發訊息 改資訊 蠕蟲 等,還可以配合其他漏洞解鎖更多好玩的利用姿勢。如果繫結請求未做...
幾種常見的Shell
上面提到過,shell是一種指令碼語言,那麼,就必須有直譯器來執行這些指令碼。unix linux上常見的shell指令碼直譯器有bash sh csh ksh等,習慣上把它們稱作一種shell。我們常說有多少種shell,其實說的是shell指令碼直譯器。bash是linux標準預設的shell,...