upload-labs(隨緣更新)

Pass-1&Pass-2 修改數(shù)據(jù)包繞過

#Pass-1
function checkFile() {
    var file = document.getElementsByName('upload_file')[0].value;
    if (file == null || file == "") {
        alert("請選擇要上傳的文件!");
        return false;
    }
    //定義允許上傳的文件類型
    var allow_ext = ".jpg|.png|.gif";
    //提取上傳文件的類型
    var ext_name = file.substring(file.lastIndexOf("."));
    //判斷上傳文件類型是否允許上傳
    if (allow_ext.indexOf(ext_name + "|") == -1) {
        var errMsg = "該文件不允許上傳,請上傳" + allow_ext + "類型的文件,當前文件類型為:" + ext_name;
        alert(errMsg);
        return false;
    }
}
#Pass-2
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
    if (file_exists($UPLOAD_ADDR)) {
        if (($_FILES['upload_file']['type'] == 'image/jpeg') || ($_FILES['upload_file']['type'] == 'image/png') || ($_FILES['upload_file']['type'] == 'image/gif')) {
            if (move_uploaded_file($_FILES['upload_file']['tmp_name'], $UPLOAD_ADDR . '/' . $_FILES['upload_file']['name'])) {
                $img_path = $UPLOAD_ADDR . $_FILES['upload_file']['name'];
                $is_upload = true;

            }
        } else {
            $msg = '文件類型不正確,請重新上傳曼验!';
        }
    } else {
        $msg = $UPLOAD_ADDR.'文件夾不存在,請手工創(chuàng)建!';
    }
}
Pass-1提示
Pass-2提示

Pass-1是js過濾吕朵,js不進行攔截就可以
Pass-2是服務端對請求包校驗嗅榕,不過只是對字段文件類型的校驗
所以Pass-1可以burpsuit對文件名進行更改
兩個Pass可以都通


修改文件名
上傳路徑

Pass-3 采用其他可執(zhí)行的文件后綴名

#Pass-3 
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
    if (file_exists($UPLOAD_ADDR)) {
        $deny_ext = array('.asp','.aspx','.php','.jsp');
        $file_name = trim($_FILES['upload_file']['name']);
        $file_name = deldot($file_name);//刪除文件名末尾的點
        $file_ext = strrchr($file_name, '.');
        $file_ext = strtolower($file_ext); //轉(zhuǎn)換為小寫
        $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
        $file_ext = trim($file_ext); //收尾去空

        if(!in_array($file_ext, $deny_ext)) {
            if (move_uploaded_file($_FILES['upload_file']['tmp_name'], $UPLOAD_ADDR. '/' . $_FILES['upload_file']['name'])) {
                 $img_path = $UPLOAD_ADDR .'/'. $_FILES['upload_file']['name'];
                 $is_upload = true;
            }
        } else {
            $msg = '不允許上傳.asp,.aspx,.php,.jsp后綴文件!';
        }
    } else {
        $msg = $UPLOAD_ADDR . '文件夾不存在,請手工創(chuàng)建火焰!';
    }
}
Pass-3提示

同樣劲装,burpsuite改后綴名就好,不過過濾了asp昌简、aspx占业、php、jsp
大小寫繞不過
php版本5.3.2纯赎,pht后綴可以直接用谦疾,不加后綴別名的話,pass3
連接用的是蟻劍址否。
php5餐蔬,phps不能運行,phtml佑附,pht可以運行
如果上面幾種可以運行樊诺,可以在apache的配置文件httpd.conf里加上這一句(沒怎么調(diào)過,發(fā)現(xiàn)初始是空的,看的CSDN這位大佬的文章https://blog.csdn.net/weixin_44677409/article/details/92799366

AddType application/x-httpd-php .php .phtml .phps .php5 .pht
修改文件名

上傳路徑

Pass-4 .htaccess繞過

#Pass-4
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
    if (file_exists($UPLOAD_ADDR)) {
        $deny_ext = array(".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");
        $file_name = trim($_FILES['upload_file']['name']);
        $file_name = deldot($file_name);//刪除文件名末尾的點
        $file_ext = strrchr($file_name, '.');
        $file_ext = strtolower($file_ext); //轉(zhuǎn)換為小寫
        $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
        $file_ext = trim($file_ext); //收尾去空

        if (!in_array($file_ext, $deny_ext)) {
            if (move_uploaded_file($_FILES['upload_file']['tmp_name'], $UPLOAD_ADDR . '/' . $_FILES['upload_file']['name'])) {
                $img_path = $UPLOAD_ADDR . $_FILES['upload_file']['name'];
                $is_upload = true;
            }
        } else {
            $msg = '此文件不允許上傳!';
        }
    } else {
        $msg = $UPLOAD_ADDR . '文件夾不存在,請手工創(chuàng)建音同!';
    }
}

修改文件名

上傳路徑

這里只是說明可以繞過上傳词爬,但并不能直接執(zhí)行.htaccess文件
此方法是借鑒自這位大佬的博客https://www.cnblogs.com/feizianquan/p/11109390.html
所以我們采用這種辦法,在.htaccess里放這樣一句代碼

AddType  application/x-httpd-php    .png
修改.htaccess文件

這樣我們就可以把png文件解析成php文件了,當然也可以修改成其他可上傳的文件類型名字权均。


上傳一句話

測試

Pass-5 大小寫繞過

#Pass-5
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
    if (file_exists($UPLOAD_ADDR)) {
        $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".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",".htaccess");
        $file_name = trim($_FILES['upload_file']['name']);
        $file_name = deldot($file_name);//刪除文件名末尾的點
        $file_ext = strrchr($file_name, '.');
        $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
        $file_ext = trim($file_ext); //首尾去空

        if (!in_array($file_ext, $deny_ext)) {
            if (move_uploaded_file($_FILES['upload_file']['tmp_name'], $UPLOAD_ADDR . '/' . $_FILES['upload_file']['name'])) {
                $img_path = $UPLOAD_ADDR . '/' . $file_name;
                $is_upload = true;
            }
        } else {
            $msg = '此文件不允許上傳';
        }
    } else {
        $msg = $UPLOAD_ADDR . '文件夾不存在,請手工創(chuàng)建顿膨!';
    }
}

.htaccess也被過濾了,不過統(tǒng)一轉(zhuǎn)化為小寫這句去掉了叽赊,可以采用大小寫繞過


修改文件名
測試

Pass-6

#Pass-6
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
    if (file_exists($UPLOAD_ADDR)) {
        $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".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",".htaccess");
        $file_name = trim($_FILES['upload_file']['name']);
        $file_name = deldot($file_name);//刪除文件名末尾的點
        $file_ext = strrchr($file_name, '.');
        $file_ext = strtolower($file_ext); //轉(zhuǎn)換為小寫
        $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
        
        if (!in_array($file_ext, $deny_ext)) {
            if (move_uploaded_file($_FILES['upload_file']['tmp_name'], $UPLOAD_ADDR . '/' . $_FILES['upload_file']['name'])) {
                $img_path = $UPLOAD_ADDR . '/' . $file_name;
                $is_upload = true;
            }
        } else {
            $msg = '此文件不允許上傳';
        }
    } else {
        $msg = $UPLOAD_ADDR . '文件夾不存在,請手工創(chuàng)建恋沃!';
    }
}

全轉(zhuǎn)化為小寫加上了,但沒有了空格的檢測
可以通過加空格必指,繞過


修改文件名
測試

上傳確實是上傳上去了囊咏,但是蟻劍連不上


陷入沉思

陷入沉思*2
文件帶空格不解析

可能是服務器的問題,留個坑

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末塔橡,一起剝皮案震驚了整個濱河市梅割,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌葛家,老刑警劉巖户辞,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異癞谒,居然都是意外死亡底燎,警方通過查閱死者的電腦和手機刃榨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來书蚪,“玉大人喇澡,你說我怎么就攤上這事∈庑#” “怎么了晴玖?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長为流。 經(jīng)常有香客問我呕屎,道長,這世上最難降的妖魔是什么敬察? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任秀睛,我火速辦了婚禮,結(jié)果婚禮上莲祸,老公的妹妹穿的比我還像新娘蹂安。我一直安慰自己,他們只是感情好锐帜,可當我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布田盈。 她就那樣靜靜地躺著,像睡著了一般缴阎。 火紅的嫁衣襯著肌膚如雪允瞧。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天蛮拔,我揣著相機與錄音述暂,去河邊找鬼。 笑死建炫,一個胖子當著我的面吹牛畦韭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播肛跌,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼廊驼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了惋砂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤绳锅,失蹤者是張志新(化名)和其女友劉穎西饵,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鳞芙,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡眷柔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年期虾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驯嘱。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡镶苞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鞠评,到底是詐尸還是另有隱情茂蚓,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布剃幌,位于F島的核電站聋涨,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏负乡。R本人自食惡果不足惜牍白,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抖棘。 院中可真熱鬧茂腥,春花似錦、人聲如沸切省。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽数尿。三九已至仑性,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間右蹦,已是汗流浹背诊杆。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留何陆,地道東北人晨汹。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像贷盲,于是被迫代替她去往敵國和親淘这。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容