i春秋:警惕您站上的空字节截断目录路径检测绕过类上传漏洞
2015-06-01 04:07
295 查看
实验环境
实验环境
操作机:
目标机:
目标网址:
实验工具:
实验目的
本课程带领大家学习通过空字节截断,绕过验证,获取WebShell。使大家亲身验证绕过上传验证的可行性,从而提高自身的安全防御意识。
实验思路
上传正常图片和WEBShell
截断目录绕过上传检测
获取WEBShell权限
防御方案
实验步骤
1
打开上传地址,选取上传图片。
小i提示:
上传地址就是可以上传文件的地方
本次实验用的测试网址
上传成功后,观察返回的页面信息。
小i提示:
观察红字部分(上传是否成功,成功为 Upload Successful 失败这一行会显示失败信息)
观察蓝字部分(上传成功后文件的路径)
这里服务器端准备的是PHP环境,需要使用PHP的
小i提示:
一句话`是一种常见的网站后门,短小精悍,而且功能强大,隐蔽性非常好,在渗透测试过程中始终扮演着强大的作用。
不同的环境需要选取与环境匹配的
上传PHP文件,发现提示错误,得出结论PHP文件被禁止上传。
2
接着修改IE的代理设置,修改代理地址以及端口(设置与在BurpLoader中设置的代理地址相同:
小i提示:
不同浏览器设置代理的方法不相同, 此处我们以IE浏览器为例,首先点击右上角的
我们再打开BurpLoader抓包,进行截断浏览器给服务器发送的数据包,
我们再将PHP文件的尾缀改为
现在我们将
小i知识点:
20(也就是空格字符的16进制)改成00(也就是一个截断字符的16进制)这样以来。截断字符后面的都会被截断,也就是忽略掉了,所以
返回Raw,看到
关闭抓包(点击
3
小i知识点:
中国菜刀是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用中国菜刀与一句话协作来进行管理
4
2.服务端检测,对文件大小、文件路径、文件扩展名、文件类型、文件内容检测,对文件重命名
3.其他限制,服务器端上传目录设置不可执行权限
实验环境
操作机:
Windows XP
目标机:
Windows 2003
目标网址:
www.test.com
实验工具:
中国菜刀
BurpSuite
实验目的
本课程带领大家学习通过空字节截断,绕过验证,获取WebShell。使大家亲身验证绕过上传验证的可行性,从而提高自身的安全防御意识。
实验思路
上传正常图片和WEBShell
截断目录绕过上传检测
获取WEBShell权限
防御方案
实验步骤
1
上传正常图片和WEBShell
准备一张普通的图片,使用*.jpg在电脑上进行搜索,可以看到很多图片,复制一张图片放到桌面上,改名为
tupian.jpg。
打开上传地址,选取上传图片。
小i提示:
上传地址就是可以上传文件的地方
本次实验用的测试网址
http://www.test.com作为目标网站
上传成功后,观察返回的页面信息。
小i提示:
观察红字部分(上传是否成功,成功为 Upload Successful 失败这一行会显示失败信息)
观察蓝字部分(上传成功后文件的路径)
这里服务器端准备的是PHP环境,需要使用PHP的
一句话,接着我们来制作
一句话,新建一个空文本文档,将php的
一句话写入到文本中,修改文件名为
yijuhua.php并保存到
桌面(一句话中
$_POST[‘这里是密码’],本例中我们以
1为密码)。
小i提示:
一句话`是一种常见的网站后门,短小精悍,而且功能强大,隐蔽性非常好,在渗透测试过程中始终扮演着强大的作用。
不同的环境需要选取与环境匹配的
一句话
上传PHP文件,发现提示错误,得出结论PHP文件被禁止上传。
2
截断目录绕过上传检测
首先打开BurpLoader,选择Proxy->
Options,设置BurpLoader代理地址,默认为
127.0.0.1、端口:
8080。
接着修改IE的代理设置,修改代理地址以及端口(设置与在BurpLoader中设置的代理地址相同:
127.0.0.1、端口:
8080)。
小i提示:
不同浏览器设置代理的方法不相同, 此处我们以IE浏览器为例,首先点击右上角的
工具-
internet选项->
连接->
局域网设置->
代理服务器勾选并设置。
我们再打开BurpLoader抓包,进行截断浏览器给服务器发送的数据包,
Proxy->
Intercept点击
intercept off改为
intercept on,截断的数据包将在关闭抓包的时候发送给服务端。
我们再将PHP文件的尾缀改为
.jpg,
filename后面的信息是我们本地的地址,
Content-Disposition : from-data ; name=”path”后面一行
uploadimg是我们保存的地址。
现在我们将
uploadimg改为
uploadimg/1.php .jpg,接着我们来到
Proxy->
intercept->
Hex找到
1.php .jpg这个被修改过的代码,找到同一行的数字
20,改为
00按一下回车,返回。
小i知识点:
20(也就是空格字符的16进制)改成00(也就是一个截断字符的16进制)这样以来。截断字符后面的都会被截断,也就是忽略掉了,所以
uploadimg/1.php .jpg就变成了
uploadimg/1.php达到了我们上传PHP文件的目的。
返回Raw,看到
uploadimg/1.php .jpg变成
uploadimg/1.php□.jpg,原本的文件服务器保存路径从
uploadimg/yijuhua.jpg变为
uploadimg/1.php。
关闭抓包(点击
intercept on->
intercept off),上传数据,查看浏览器发现上传成功,复制上传框下面的信息,舍弃掉后面的.jpg(例如:
uploadimg\1.php);粘贴复制到网站地址后面,从而构造访问地址(例如:
http://www.test.com\uploadimg\1.php),并复制访问地址。
3
获取WEBShell权限
打开中国菜刀软件并填入复制的访问地址,填入你设定的密码,之前我们在“一句话”中设置的密码是
1,选择脚本类型为
PHP,单击
添加按钮,就会看到菜刀上出现一行信息,最后我们双击这条信息后,就可以看到目标网站的目录,这样我们就成功获取到目标网站的WEBShell权限。
小i知识点:
中国菜刀是一款专业的网站管理软件,用途广泛,使用方便,小巧实用。只要支持动态脚本的网站,都可以用中国菜刀与一句话协作来进行管理
4
防御方案
1.客户端检测,使用JS对上传图片检测,包括文件大小、文件扩展名、文件类型等2.服务端检测,对文件大小、文件路径、文件扩展名、文件类型、文件内容检测,对文件重命名
3.其他限制,服务器端上传目录设置不可执行权限
相关文章推荐
- i春秋:警惕您站上的文件内容检测绕过类上传漏洞
- 【PagerAdapter】Fragment的陷阱
- i春秋:警惕您站上的文件扩展名绕过漏洞
- i春秋:警惕您站上的MIME类型绕过漏洞
- i春秋:通过案例学安全—再现杰奇网站漏洞环境
- Python 4- more operations
- MAC MySQL乱码问题解决路径
- CFHTTP使用SSL很慢的解决方法
- 【译】使用Rails 4.2+ 测试异步邮件系统
- 我也学算法 - KMP算法
- CoreData 多线程处理大量数据同步时的操作
- 教你开通超级QQ,
- C++对象模型之复制构造函数的构造操作
- 作为第一期iOS基础班学生,MJ广东开校之我见(原稿)
- java 打印出两个IP之间的所有IP值
- 自己的路删除
- YouCompleteMe实现vim自动补全
- ubunu下用命令设置壁纸
- 程序员、编程常用术语
- Mastering "Product Flavors" on Android