概述
所谓文件上传漏洞,就是web服务器对上传的文件没有做好检测和过滤,从而使得恶意用户可以上传脚本程序到服务器,进而获得服务器权限。这个恶意脚本文件,又被称为WebShell,因此也可以将WebShell脚本作为一种网页后门,一般通过上传的脚本文件,我们可以查看服务器的目录结构和文件,亦或者执行系统命令等。
一句话木马
基本用法
这里先介绍web服务器没有对上传的文件进行任何检测的情况下,我们应该如何攻击。
利用一句话木马,即上传一句话木马脚本文件到服务器,各种脚本语言都有一句话木马,下面仅介绍php的,其它语言用到时再积累。
<?php
@eval($_POST['cmd']);
?>
如上面代码所示,是php常用的一句话木马,$_POST['cmd']
表示接受post请求中cmd
表单的值,这里的cmd
可以为任意值,也就是我们使用菜刀或者蚁剑等webshell工具进行连接时需要提供的密码。@eval()
表示将参数中字符串作为代码执行,前面的@
符号表示不打印错误信息。因此整个一句话木马的意思就是将post接收到的cmd表单的值作为代码执行。
具体攻击的话,首先将上面的代码保存到文件hack.php
中,注意命名可以不同的,但后缀一定是.php
,然后利用菜刀或者蚁剑进行连接,这里推荐使用蚁剑,如下图所示。这里我们自己在测试的时候,可以直接在自己的web服务器目录下保存一个hack.php文件,然后连接时输入正确的web目录路径和密码即可。