
文件上傳漏洞%00截?cái)嗬@過
網(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效果。
[超站]友情鏈接:
四季很好,只要有你,文娛排行榜:https://www.yaopaiming.com/
關(guān)注數(shù)據(jù)與安全,洞悉企業(yè)級(jí)服務(wù)市場:https://www.ijiandao.com/

隨時(shí)掌握互聯(lián)網(wǎng)精彩
- 1 看總書記關(guān)心的清潔能源這樣發(fā)電 7904829
- 2 央視曝光直播間“高端四件套”貓膩 7807936
- 3 以總理:絕不會(huì)有巴勒斯坦國 等著瞧 7712558
- 4 長春航空展這些“首次”不要錯(cuò)過 7618277
- 5 租客長租15年不到1年就被勸退 7521648
- 6 風(fēng)王“樺加沙”體型超整個(gè)廣東省 7425330
- 7 9月23日晚8點(diǎn)將上演“龍收尾”天象 7329602
- 8 馬斯克特朗普鬧掰后首次同框 7233660
- 9 我們?yōu)槭裁匆プ矒粜⌒行?/a> 7142273
- 10 美國軍工巨頭主動(dòng)曝光戰(zhàn)機(jī) 7039381