BUUCTF--练习场-- basic--上传文件漏洞经典靶场upload-labs-- Pass1-3(Pass4简单尝试)
文件上傳功能非常常見,上傳圖片、視頻,論壇發(fā)送帶上附件,郵件發(fā)送帶上附件等場景
BUUCTF–練習(xí)場-- basic–上傳文件漏洞經(jīng)典靶場upload-labs
Pass-1
先嘗試上傳一張正常的照片:
上傳成功:
右鍵,查看圖像,得到上傳成功的地址:
http://07b2a810-8fe2-406b-b1d0-6bce30a755ae.node4.buuoj.cn:81/upload/Chrysanthemum.jpg
然后嘗試上傳木馬:
根據(jù)簡介中提到的:
upload-labs是一個使用php語言編寫的,專門收集滲透測試和CTF中遇到的各種上傳漏洞的靶場。旨在幫助大家對上傳漏洞有一個全面的了解。目前一共20關(guān),每一關(guān)都包含著不同上傳方式。
所以上傳PHP的免殺一句話木馬:
點(diǎn)擊“上傳”,竟然提示:
該文件不允許上傳,請上傳.jpg|.png|.gif類型的文件,當(dāng)前文件類型為:.php
嘗試開啟burp進(jìn)行抓包:
發(fā)現(xiàn)burp什么包都沒有抓到,依舊彈出:
該文件不允許上傳,請上傳.jpg|.png|.gif類型的文件,當(dāng)前文件類型為:.php
判斷,這是前端的檢驗
看javascript源碼:
允許上傳的文件類型是:.jpg|.png|.gif
所以上傳PHP木馬會失敗
解決:繞過前端(非常簡單)
找到觸發(fā)校驗的地方:
刪去改JS方法,然后訪問:
校驗,發(fā)現(xiàn)成功獲取webshell:
通過蟻劍連接:
再看Pass-2
直接上手—傳木馬:
跟剛才的提示不一樣,這一次不是彈窗:
估計走的后端校驗,嘗試抓包:
果然:
cmd+r,給Repeater:
直接go一下,果然是:
修改content- type,并加上圖片頭:
Content-Type: image/jpeg
GIF89a
<?php ......(為了防止和第一題的有不同,修改為sqzr2.php)
Go一下:
成功上傳:
直接根目錄加上/upload/sqzr2.php 訪問:
連接蟻劍:
回顧,看看源碼:(PHP,后端檢驗)
$is_upload = false; $msg = null; if (isset($_POST['submit'])) {if (file_exists(UPLOAD_PATH)) {if (($_FILES['upload_file']['type'] == 'image/jpeg') || ($_FILES['upload_file']['type'] == 'image/png') || ($_FILES['upload_file']['type'] == 'image/gif')) {$temp_file = $_FILES['upload_file']['tmp_name'];$img_path = UPLOAD_PATH . '/' . $_FILES['upload_file']['name'] if (move_uploaded_file($temp_file, $img_path)) {$is_upload = true;} else {$msg = '上傳出錯!';}} else {$msg = '文件類型不正確,請重新上傳!';}} else {$msg = UPLOAD_PATH.'文件夾不存在,請手工創(chuàng)建!';} }其實就是檢驗的content- type,也沒有檢驗上傳文件的后綴。
Pass-3:
先嘗試上傳木馬:
burp抓包改后綴:
go一下成功:
放包直接訪問:
http://07b2a810-8fe2-406b-b1d0-6bce30a755ae.node4.buuoj.cn:81/upload/202201290656555488.php3
成功:
連接蟻劍:
回顧,看一下關(guān)鍵的源碼:
Pass-4
先嘗試上傳一個木馬,
只是提示 此文件不允許上傳 也沒有別的提示,嘗試抓包,改
Go了,還是不允許上傳,看一波提示:
提 示本pass禁止上傳.php|.php5|.php4|.php3|.php2|php1|.html|.htm|.phtml|.pHp|.pHp5|.pHp4|.pHp3|.pHp2|pHp1|.Html|.Htm|.pHtml|.jsp|.jspa|.jspx|.jsw|.jsv|.jspf|.jtml|.jSp|.jSpx|.jSpa|.jSw|.jSv|.jSpf|.jHtml|.asp|.aspx|.asa|.asax|.ascx|.ashx|.asmx|.cer|.aSp|.aSpx|.aSa|.aSax|.aScx|.aShx|.aSmx|.cEr|.sWf|.swf后綴文件!試試PHP9:
Content-Disposition: form-data; name="upload_file"; filename="sqzr4.php9" Content-Type: image/jpegGIF89a <?php居然成功:
訪問:
http://07b2a810-8fe2-406b-b1d0-6bce30a755ae.node4.buuoj.cn:81/upload/sqzr4.php9
如果直接連接蟻劍,發(fā)現(xiàn)不行,又遇到問題了
最后嘗試?yán)?.htaccess文件解決:
先上傳這個.htaccess文件:
總結(jié)
以上是生活随笔為你收集整理的BUUCTF--练习场-- basic--上传文件漏洞经典靶场upload-labs-- Pass1-3(Pass4简单尝试)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BUUCTF--- LFI-------
- 下一篇: 微软正在考虑将Windows默认浏览器改