黄色网站入口国产美女,精品国产欧美另类一区,国产一区二区美女自慰,日日摸夜夜添无码国产

選擇你喜歡的標(biāo)簽
我們會(huì)為你匹配適合你的網(wǎng)址導(dǎo)航

    確認(rèn) 跳過

    跳過將刪除所有初始化信息

    您的位置:0XUCN > 資訊 > 安全
    新聞分類

    文件上傳漏洞%00截?cái)嗬@過

    安全 PRO 作者:大明最后一個(gè)狠人 2021-11-25 05:34

    網(wǎng)上傳說的 %00截?cái)?其實(shí)非常的簡單,沒有想像中的那么高深,以下給大家簡單的講解一下!還有一點(diǎn)需要注意,關(guān)于如何判斷文件上傳漏洞是否能用%00截?cái)嗬@過?這個(gè)只能試一下才能知道結(jié)果,不行的話只能換其它的方法嘍!

    ?

    一、%00截?cái)嘣?/h2>

    www.ijiandao.com/qq.jpg

    www.ijiandao.com/qq.php%00.jpg => www.ijiandao.com/qq.php

    ?

    二、文件上傳漏洞 %00截?cái)?繞過正確用法

    這里需要用上抓包工具,我這里以“BurpSuite ”抓包工具為例,具體步驟如下:

    ?

    1、 %00截?cái)?GET 用法

    當(dāng)是GET接收情況的時(shí)候,直接用 %00 就可以了。

    ?

    某些情況下,直接在文件名中加 %00 進(jìn)行截?cái)噙@是不對(duì)的,因?yàn)?%00 會(huì)以字符串的形式解析了。

    如果沒有做后綴名判斷的情況下,那樣會(huì)變成:

    www.ijiandao.com/qq.php%00.jpg => www.ijiandao.com/qq.php%00.jpg

    也就是所謂的任意文件上傳漏洞了,這又是另一個(gè)概念了。

    ?

    如果做了后綴名判斷的情況下,那樣是會(huì)直接報(bào)錯(cuò),不讓你上傳,因?yàn)槟愕暮缶Y是 .jpg,不是 .php;

    ?

    2、%00截?cái)?POST 用法

    當(dāng)是POST接收情況的時(shí)候,正確的用法應(yīng)該是我們需要對(duì) %00 做一個(gè)URL解碼,也就是URL-decode;

    ?

    為什么兩者用法不同?

    這是因?yàn)?%00 截?cái)嘣?GET 中被 url 解碼之后是空字符。但是在 POST 中 %00 不會(huì)被 url 解碼,所以只能通過 burpsuite 修改 hex 值為 00 (URL decode)進(jìn)行截?cái)唷?/p>

    ?

    注意:

    有些時(shí)候數(shù)據(jù)包中必須含有上傳文件后的目錄情況才可以用。

    例如:數(shù)據(jù)包中存在 path: uploads/,那么攻擊者可以通過修改path的值來構(gòu)造paylod: uploads/aa.php%00

    ?

    像以下這個(gè)PHP文件上傳檢測代碼,這個(gè)就需要有上傳文件后的目錄才能用。

    $uploaded_name = $_FILES[ 'file' ][ 'name' ];
    $uploaded_ext  = substr( $uploaded_name, strrpos( $uploaded_name, '.' ) + 1); // 提取上傳文件后綴
    $target_name = md5( uniqid() . $uploaded_name ) . '.' . $uploaded_ext; // 對(duì)上傳文件進(jìn)行重命名
    if( ( strtolower( $uploaded_ext ) == "jpg" || strtolower( $uploaded_ext ) == "jpeg" || strtolower( $uploaded_ext ) == "png" )) 
    {  
        move_uploaded_file($_FILES["file"]["tmp_name"],
        $dir . $target_name); // 將臨時(shí)文件移動(dòng)到指定目錄
        $result = $dir . $target_name;
        echo "Stored in: $result"; 
    }
    else{
        echo "Invalid file";
    }
    

    ?

    為什么修改path才可以?

    因?yàn)槌绦蛑袡z測的是文件的后綴名,如果后綴合法則拼接路徑和文件名。

    那么,攻擊者修改了path以后的拼接結(jié)果為:uploads/aaa.php%00/20190818.php

    移動(dòng)文件的時(shí)候會(huì)將文件保存為:uploads/aaa.php

    從而達(dá)到Getshell效果。


    0XU.CN

    [超站]友情鏈接:

    四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
    關(guān)注數(shù)據(jù)與安全,洞悉企業(yè)級(jí)服務(wù)市場:https://www.ijiandao.com/

    圖庫
    公眾號(hào) 關(guān)注網(wǎng)絡(luò)尖刀微信公眾號(hào)
    隨時(shí)掌握互聯(lián)網(wǎng)精彩
    贊助鏈接