首页 » Web攻防 » 浏览内容

修改本地元素自定义上传文件名拿webshell

2207 2 发表评论

目前常见的几种上传漏洞的利用方法中,有一种是客户端可自定义filepath,也就是可自定义上传后保存路径的。

但当我们自定义的filepath在服务器上不存在时,就会出现2种情况:

1、程序有自动创建不存在目录的功能,并且有创建目录的权限
2、程序不会自动创建目录,或没有创建目录的权限

第一种情况不需多说,只要能自动创建,那么上传是肯定可以成功的。
但第二种情况就有点麻烦了,如果目录不存在且不会自动创建或无权创建,那么是肯定会上传失败的,毕竟目录都不存在,是保存不了的。

针对第二种情况,我曾经遇到过一些案例,成功突破了限制,这里算是个案例演示。

先来看上传点,白名单限制了脚本文件的上传,只能上传图片文件:

21275435pl8te8frrur8ef_meitu_1

随便上传个图片文件,得到地址http://www.exehack.net/20125262195331685.gif

212755xsqpima93jpi9pia_meitu_2

看看上传模块的前端源代码:

212802ttvk8mlham3uttsm_meitu_3

需要关注的是定义filepath的这一句:

QQ截图20150114182807

先将filepath的value设置为“/f4ck.asp/”试试:

2128079h1nq794zqccvifz_meitu_5

212809fdvhmk4781vdky8d_meitu_6

可以看到,虽然提示上传成功,但其实文件是404,也就是原本不存在的f4ck.asp的目录并没有被自动创建。

那么方法来了,直接将这句定义filepath的代码改成这样的:

212755xsqpima93jpi9pia_meitu_8

上传成功,得到地址是http://www.exehack.net/f4ck.asp;201252621193918566.gif

21281099czvr6qv57wk771_meitu_10

212755xsqpima93jpi9pia_meitu_9

212753r80ar2ijnib8r7c7_meitu_7

那么问题来了,为什么这样可以上传成功呢?

这是因为如果将filepath的value设置为“/f4ck.asp/”,这时是表示告诉程序我要将文件保存到名为f4ck.asp的目录下,但原本f4ck.asp这个目录是不存在的,而当前这个程序又没有自动创建的功能,也可能是没有权限新建目录,所以就导致上传失败。
但如果将filepath的value设置为“/f4ck.asp;”,这时“f4ck.asp;”将作为文件名的一部分提交给程序的上传模块,所以上传成功后会得到类似“f4ck.asp;201252621193918566.gif”这样的文件名。
二者的区别就是,一个是自定义了上传路径,一个是把自定义上传路径变成了自定义上传文件名。

小残博客  点击此处订阅博客  作者:小残博客网 
本站部分文章来自网络,版权归原作者,转载请保留原作者署名!
本文来自小残博客>>文章地址:“http://www.exehack.net/176.html”
分享到:
标签:

评论 共 2 条 (RSS 2.0) 发表 评论

发表评论

  •   没有头像?

公告">更多...

♥申请友情链接可以直接点击留言申请
♥投稿请直接点击网站右上角投稿人口
♥如果您想赞助本站可以点击联系我们
♥如果喜欢本站可以直接点击
回到页首