注入腦圖
假設(shè)上傳圖片text.jpg,用burpsuite抓包适篙,將文件名改為text.jpgaaaa昵观。如果上傳成功碳抄,那么是黑名單限制愉老,否側(cè)是白名單限制。
.htaccess文件創(chuàng)建
創(chuàng)建無命名文件方法:如何創(chuàng)建.htaccess結(jié)尾的無文件名的文件_百度經(jīng)驗(yàn)
.htaccess文件內(nèi)容:
<FilesMatch "waf" >
SetHandler application/x-httpd-php
</FilesMatch>
upload-labs-master 闖關(guān)詳解
--- 1-10為黑名單注入
waf.php文件內(nèi)容
<?php phpinfo(); ?>
第一關(guān)
直接上傳waf.php文件剖效,直接提示上傳失敗嫉入,用burpsuite抓包,顯示為空璧尸,證明是前端驗(yàn)證 咒林。
上傳waf.jpg文件,用burpsuite抓包 改為 waf.php ,繞過成功爷光。
第二關(guān)
查看源代碼
if (($_FILES['upload_file']['type'] == 'image/jpeg') || ($_FILES['upload_file']['type'] == 'image/png') || ($_FILES['upload_file']['type'] == 'image/gif'))
只對(duì)content-type進(jìn)行了判斷垫竞,上傳waf.php,抓包將content-type改為image/gif 蛀序,成功繞過欢瞪。
第三關(guān)
查看源碼
可以使用特殊文件名繞過:將waf.php 抓包改為 waf.php3進(jìn)行繞過。
繞過方法:
(1)找黑名單擴(kuò)展名的漏網(wǎng)之魚 - 比如 asa 和 cer 之類
(2)可能存在大小寫繞過漏洞 - 比如 aSp 和 pHp 之類
能被解析的文件擴(kuò)展名列表:
jsp? jspx? jspf
asp? asa? cer? aspx
php2, php3, php4, php5徐裸,phps, pht, phtm, phtml
exe? exee
第四關(guān)
參考? .htaccess文件的創(chuàng)建
上傳 .htaccess文件后 再上傳 waf.jpg文件遣鼓,成功繞過。
第五關(guān)
文件后綴名大小寫繞過
第六關(guān)
抓包在文件后綴名后加空格繞過
第七關(guān)
抓包在文件后綴名后加‘.’繞過
第八關(guān)
利用windows特性繞過倦逐,windows會(huì)自動(dòng)過濾不合法的文件名譬正,比如:
1)上傳不符合windows文件命名規(guī)則的文件名
test.asp.
test.asp(空格)
test.php:1.jpg
test.php::$DATA
shell.php::$DATA…….
會(huì)被windows系統(tǒng)自動(dòng)去掉不符合規(guī)則符號(hào)后面的內(nèi)容。
(2)linux下后綴名大小寫
在linux下檬姥,如果上傳php不被解析曾我,可以試試上傳pHp后綴的文件名
第九關(guān)
這道關(guān)卡做了充分的攔截。
$img_path=UPLOAD_PATH.'/'.$file_name
由于直接拼接文件名健民,造成漏洞抒巢。
于是構(gòu)造waf.php. . (點(diǎn)+空格+點(diǎn)),經(jīng)過處理后秉犹,文件名變成info.php.蛉谜,即可繞過。
第十關(guān)
重寫后綴名繞過 waf.pphphp繞過崇堵。
第十關(guān)之后為白名單過濾
第十一關(guān)(00截?cái)郍ET方式)
看到是白名單判斷型诚,但是$img_path直接拼接,因此可以利用%00截?cái)嗬@過:
ps:%00截?cái)鄺l件
php版本小于5.3.4詳情關(guān)注CVE-2006-7243
php的magic_quotes_gpc為OFF狀態(tài)
第十二關(guān)(00截?cái)郟OST方式)
Upload-labs文件上傳(11-19) - tdcoming'blog - CSDN博客
圖片馬的制作:
copy normal.jpg /b + shell.php /a webshell.jpg
圖片一句話木馬簡(jiǎn)單制作方法 - TimeOldman的博客 - CSDN博客