首页 » 网站攻防 » 浏览内容

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

904 3 发表评论

目前常见的几种上传漏洞的利用方法中,有一种是客户端可自定义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”这样的文件名。
二者的区别就是,一个是自定义了上传路径,一个是把自定义上传路径变成了自定义上传文件名。

标签:

发表评论

  •   没有头像?

关注我们,实时联系

通知公告">更多...

♥如果喜欢本站可以直接点击订阅博客
♥点击此加入晓残博客会员群加入扣群
♥本站免费提供加密解密服务点击解密
♥伙伴们喜欢本站赏个好评呗

关注微信

有偿服务

博客统计

  • 日志总数:477 篇
  • 评论数目:1472 条
  • 标签总数:40 个
  • 页面总数:8 个
  • 分类总数:17 个
  • 友链总数:24 个
  • 建站日期:2011-02-13
  • 运行天数:2123 天
  • 最后更新:2016-12-6

订阅博客

×
订阅图标按钮