二、文件包含漏洞 低、中 、高三级别详解(一句话木马,图片木马) | 您所在的位置:网站首页 › 木马用代码怎么写出来 › 二、文件包含漏洞 低、中 、高三级别详解(一句话木马,图片木马) |
文章目录
文件包含漏洞低安全级别中安全级别高安全级别
文件包含漏洞
项目实验环境 OWASP Broken Web Apps VM v1.2 靶场 burpsuite 代理服务器 Kali-Linux-2020.1-vmware-amd64 攻击机 中国菜刀 连接webshell edjpgcom 图片注入代码原理与危害 文件包含漏洞:即File Inclusion ,意思是文件包含(漏洞)是,指当服务器开启allow. _url_include选项时 ,就可 以通过php的某些特性函数( include() , require()和include_ once() , require_ once() )利用url去动态包含文 件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。文件包含漏洞分为本地文件包含漏洞与远程文件包含漏洞,远程文件包含漏洞是因为开启了php配置中的allow_ url_fopen选项 (选项开启之后, 服务器允许包含一个远程的文件)。服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意 文件,而我们可以构造这个恶意文件来达到自己的目的。 1.文件包含(File Inclusion )即程序通过[包含函数]调用本地或远程文件,以此来实现拓展功能 2.被包含的文件可以是各种文件格式,而当文件里面包含恶意代码,则会形成远程命令执行或文件上传漏洞 3.文件包含漏洞主要发生在有包含语句的环境中,例如PHP所具备include、require等包含函数 文件包含分为两类: 本地文件包含LFI ( Local File Inclusion )当被包含的文件在服务器本地时 ,就形成本地文件包含 远程文件包含RFI ( Remote File Inclusion )当被包含的文件在第三 方服务器时,叫做远程文件包含 vim /etc/php5/cli/php.ini php文件上传的规则漏洞分析: 网页开发者为了把网站需要的php程序用正则表达式包含进来的话,写成如下格式,而这样就会造成把恶意木马程序包含进来,下图展示的是一句话木马程序 本地包含:所有包含文件都在本地 LFI local file include 外部包含:所包含的文件在外部的服务器上 RFI file include 简单的说,如果恶意的代码存在于本地上,就可使用LFI进行包含,从而使用一些工具进行数据挖掘,如果恶意的代码存在于外部服务器上,就可使用RFI进行包含,从而使用工具进行数据挖掘 ** 注意:** 图片并不是单纯的一句话木马,那样的话中国菜刀是不能进爆破的,要将图片执行并生成webshell,从而执行恶意的木马 低安全级别设计说明:网页没有限制文件的类型等,只要存在这个实例就可以进行包含 查看页面源代码 设计: 在本地主机上传一个带有一句话木马的图片,上传的级别采用高级(承接之前的文件上传的高级别的漏洞防护),由于上传的是图片,则后缀名就是网页要求的格式,则可以直接进行上传,上传后可以正常打开图片,但是shell代码将不会执行,需要执行图片包含的木马程序,生成后门。 详细分析图解: 文件目录说明: /var/www/dvwa/hackable/uploads #文件上传路径 var/www/dvwa/vulnerabilities/fi #文件包含路径演示: 1.本地生成一个带有木马程序的图片文件,将其上传至系统中(因为下一步要执行的是LFI文件包含),其文件的绝对路径是 木马文件 /var/www/dvwa/hackable/uploads/yichen.jpg 绝对路径2.将图片上产到本地系统中,但是图片的webshell并没有执行,要制作webshell,所以要执行图片包含的木马程序,生成后门,在文件包含的访问页面下,访问图片 http://192.168.211.143/dvwa/vulnerabilities/fi/?page=../../hackable/uploads/yichen.jpg 或者访问绝对路径 http://192.168.211.143/dvwa/vulnerabilities/fi/?page=/var/www/dvwa/hackable/uploads/yichen.jpg 注意: 因为用的是文件包含去执行的这个图片木马,又因为木马程序没有指定路径,则就被包含到了这个路径下 shell20.php被LFI上传至 /var/www/dvwa/vulnerabilities/fi通过文件上传可以正常打开图片,但是并没有执行图片的shell 文件包含页面执行图片shell,并在当前目录下生成了一个shell文件 3.通过菜刀连接webshell,可见与预期相符 http://192.168.211.143/dvwa/vulnerabilities/fi/shell20.php 中安全级别**分析:**通过查看后台的php代码 ,不难发现,其网页将http://与https://换成了空字符导致远程连接文件包含时不能识别远程服务器的IP地址 **解决:**写两个http://,即第一个被置换成 空字符,而第二个正常使用,这个函数只是将连续的http://字符来进行替换,还可以写成hhttp://ttp:// 查看网页源代码: 高安全级别查看网页的后台语言,可见,其限制了文件包含的名字,这当然也是可以进行注入木马程序的,直接将创建木马程序的文件名规定为页面限制的即可,这个对于页面来说,当然是不利的,这个是写死的代码,不利于后期的扩展与维护 |
CopyRight 2018-2019 实验室设备网 版权所有 |