前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >墨者 - 文件上传

墨者 - 文件上传

作者头像
Naraku
发布2021-07-28 10:57:34
1.7K0
发布2021-07-28 10:57:34
举报
文章被收录于专栏:Naraku的专栏Naraku的专栏

内部文件上传系统漏洞分析溯源

靶场地址:https://www.mozhe.cn/bug/detail/Umc0Sm5NMnkzbHM0cFl2UlVRenA1UT09bW96aGUmozhe

  • 先上传写入一句话木马的1.txt,返回上传成功以及文件路径,且url变为upload.asp ,判断为ASP上传点。
  • 将该文件后缀修改为asp,再次上传发现被拦截
  • 经测试得知中间件为IIS6.0 。此版本存在目录解析漏洞:即***.asa/*.asp**文件夹内的文件会被当作**asp**文件来解析
  • 再次上传1.txt并使用Burp拦截,将文件夹路径修改abc.asp,点击发包
  • 返回上传成功和路径,使用菜刀/蚁剑访问链接,在wwwroot目录得到KEY文件,打开得到KEY

WebShell文件上传漏洞分析溯源(第1题)

靶场地址:https://www.mozhe.cn/bug/detail/UjV1cnhrbUxVdmw5VitBdmRyemNDZz09bW96aGUmozhe

  • 尝试直接上传一句话木马1.php,发现无法上传;
  • 将一句话木马的文件后缀名修改为.php5再次上传,此时上传成功;
  • 使用菜刀连接,在/var/www/html/目录下找到key.php,打开得到key

WebShell文件上传分析溯源(第2题)

靶场地址:https://www.mozhe.cn/bug/detail/TzRsdjFSYW9HQlA2OFdGbXo0KzBUdz09bW96aGUmozhe

  • 进入靶场,提示需要找到后台地址,于是使用御剑扫描,得到2个路径:/admin/upload1.php/admin/upload2.php
  • 尝试访问http://url/admin/upload1.php,页面提示无权限并跳转到upload2.php
  • 使用Burp抓包,再次访问upload1.php在弹框提示时不放包,直接点击确定,发现页面出现一个上传点。此处可能由于浏览器原因,一开始使用Chrome浏览器,点击确定后并没有出现上传点,而换成火狐浏览器则出现该上传点。

  • 出现上传点后,选择PHP一句话木马点击上传。然后在Burp处点击一次放包,将刚才跳转到upload2.php的包放掉,再将上传文件所抓的包发送到重发器Repeater

  • 在重发器中点击发送,返回一个乱码,后面得知这是上传成功的意思,但是并没有返回上传文件的路径

  • 最后经过搜索,发现别人的WriteUp中说在访问upload1.php时,使用Burp抓包并将添加Cookie: uploadmd5=upload_file.php,可以查看upload_file.php这个文件的源码

  • 其中关键部分如下:
代码语言:javascript
复制
$path="uploadfile/";//上传路径
$verify=$_POST["verify"];
$time=date("Ymd");
if($_FILES["filename"]["name"])  {  
    $file1=$_FILES["filename"]["name"];  
    $file2 = $path.$time.'_'.$verify.'_'.$file1;  // 此处为上传后的文件路径
    $flag=1;  
}  
if($flag) $result=move_uploaded_file($_FILES["filename"]["tmp_name"],$file2);  
if($result) echo "上传成功!";  
  • 可以发现,上传后的文件路径为:file2 = path.time.'_'. verify.'_'.file1 path:上传路径,即uploadfile/time:上传时间中的年月日 verify:verify的值,从前端表单中获取
  • 重复前面的步骤,再次上传一个木马shell.php,且verify为空,当前年月日为20200405,即拼接后文件路径为:uploadfile/20200405__shell.php。注意这里是两个下划线_

  • 使用蚁剑连接:http://url/admin/uploadfile/20200405__shell.php,得到key

WebShell文件上传漏洞分析溯源(第2题)

靶场地址:https://www.mozhe.cn/bug/detail/NXNRQnJGa1g1U3lmUTNxMEQ3TUFnUT09bW96aGUmozhe

  • 开启Burp并尝试上传php一句话,发现Burp还没有抓到包,页面已经弹出只能上传图片格式的文件,因此判断此处只在前端进行检验
  • 将一句话木马后缀修改为jpg并上传,通过Burp抓包后将木马文件后缀修改为php并放行
  • 上传成功,使用菜刀连接,在/var/www/html目录下找到key.php,打开得到key

WebShell文件上传漏洞分析溯源(第3题)

靶场地址:https://www.mozhe.cn/bug/detail/MGt2VGdsK093TkdtcURBSXFySnZpUT09bW96aGUmozhe

  • 尝试直接上传一句话木马1.php,提示不允许上传
  • 上传图片马2.jpg,成功上传,但是无法连接
  • 再次上传图片马2.jpg,使用Burp抓包并将文件后缀修改为php,使用菜刀成功连接得到key

WebShell文件上传漏洞分析溯源(第4题)

靶场地址:https://www.mozhe.cn/bug/detail/aVJuL2J4YVhUQkVxZi9xMkFRbDYyQT09bW96aGUmozhe

  • 尝试直接上传一句话木马,提示文件类型不正确,而图片文件可以上传
  • 题目提示此题目标为了解Content-TypeMIME,于是尝试使用Burp抓包,上传PHP文件并修改Content-Typeimage/jpeg,上传成功
  • 使用菜刀连接,在/var/www/html/目录可得到key

WebShell文件上传漏洞分析溯源(第5题)

靶场地址:https://www.mozhe.cn/bug/detail/OGp3KzRZUFpnVUNUZm9xcjJlN1V4dz09bW96aGUmozhe

  • 进入靶场,点击后台管理,再点击登录。在后台登录页面使用弱口令admin/admin登录
  • asp一句话木马后缀修改为.jpg,然后点击左侧添加文章,在图片上传处将该木马图片上传。成功上传后得到图片路径/uploads/20200405143257347.jpg

  • 点击左侧数据库备份,在当前数据库路径填入前面上传的图片路径,备份数据库名称填入shell.asp,点击备份数据

  • 备份成功后,返回备份文件的路径,如:c:\inetpub\wwwroot\admin\Databackup\shell.asp
  • 此时使用蚁剑连接该文件:http://url/admin/Databackup/shell.asp,并在C:/inetpub/目录下的key.txt中得到key

版权属于:Naraku

本文链接:https://cloud.tencent.com/developer/article/1853385

本站所有原创文章均采用 知识共享署名-非商业-禁止演绎4.0国际许可证 。如需转载请务必注明出处并保留原文链接,谢谢~

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020 年 04 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 内部文件上传系统漏洞分析溯源
  • WebShell文件上传漏洞分析溯源(第1题)
  • WebShell文件上传分析溯源(第2题)
  • WebShell文件上传漏洞分析溯源(第2题)
  • WebShell文件上传漏洞分析溯源(第3题)
  • WebShell文件上传漏洞分析溯源(第4题)
  • WebShell文件上传漏洞分析溯源(第5题)
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档