【HR】某CMS 上传 GetShell

优选教程   © 文章版权由 admin 解释,禁止匿名转载

#楼主# 2022-4-21

安装完成后会给出后台登陆信息:

网站后台地址为:你的域名+N8D3ch_Admin/ 请牢记,后台默认帐户:Admin 密码:1 登陆后进行修改

Window:

网站后台地址为:你的域名+rhDOEr_Admin/ 请牢记,后台默认帐户:Admin 密码:1 登陆后进行修改

0x02 失败复现
访问:http://localhost:8887/semcms/N8D3ch_Admin/SEMCMS_Upload.php

1)第一步

传入这个参数之后,会进入代码的拼接过程

最终执行的$newname , 是将文件的内容写入到111.jpg.php:.jpg,$Imageurl可以控制向上目录穿越,这里不设置,默认则为空。

move_uploaded_file($_FILES["file"]["tmp_name"],$Imageurl.$newname); //文件写入文件夹
最终由于:从而写入ADS流文件,会导致生成一个111.jpg.php的空文件和一个111.jpg.php:.jpg的实际内容为的隐藏文件。

2)第二步

代码处理:

最终走向生成文件名字为111.jpg.php:.jpg<<<,可惜访问111.jpg.php,并没有发现有内容写入,所以在这里我对原文中作者的描述,产生了质疑。

0x3.1 Window特性
通过一段存在上传漏洞的代码来进行说明。

/**
* Created by PhpStorm.
* User: xq17
* Date: 4/17/22
* Time: 7:07 PM
*/
header("Content-Type: text/html; charset=UTF-8");

$filename = $_FILES["file"]["name"];
if($filename){
# 获取后缀名
$uptype = strtolower(end(explode(".", $filename)));
print_r("suffix:".$uptype."\n");
# 判断是否在黑名单里面
if(in_array($uptype, array('php', 'phtml'))){
print_r("不允许上传php文件!");
die(0);
}else{
// 通过黑名单检验
move_uploaded_file($_FILES["file"]["tmp_name"], $filename);
print_r("上传成功!");
}
}
正常上传php文件的话,会被拦截。

(1)先利用冒号截断生成一个空白文件7.php

修改文件名:7.php:jpg,即可上传成功一个空文件

(2)然后利用<、"或者>号进行覆盖写入

使用<可以匹配多个字符,即7.p< 能够匹配到7.php

使用>只能匹配单个字符,故用7.p>>能够匹配到7.php

使用"来匹配点号。

0x04 巧妙ByPass
既然知道了失败的原因,那么我们需要去找找,看看有没有可以突破的地方。

在这里,我们需要清晰地认识到场景的两处特殊之处:

1)后缀内容部分可控

2)文件名可控制

0x4.1 Bypass 1
根据代码的逻辑,我们是没有办法构造出php后缀的,来直接上传的。

因为我们可控的仅仅是文件名,还需要拼接后缀,而后缀的话必须是形如xxxjpgxxx的字符串,不能插入.,要不然会被分割,所以后缀我们是没办法构造出php的。

既然直接的办法行不通,那么可以尝试利用window特性来进行覆盖写入。

尝试1

首先通过冒号截断来写入一个ttt.jpg.php的空文件,只需要如图构造参数即可。

拼接之后,传入move_uploaded_file的值为ttt.jpg.php:.jpg

那么接下来,我只需要控制,wname的值为ttt,后缀控制为1.jpg<,那么拼接之后的值便是ttt.jpg<,按道理来说是应该能匹配到ttt.jpg.php,因为<其实等价于*的作用。

不过在实际中发现,一个<并没有匹配成功,使用两个以上<即可匹配成功。

0x4.2 Bypass 2
那就是如果<被过滤的时候,我们可以通过构造jpg\"php来匹配上jpg.php这个格式。

查看下文件是否被修改成功, success!

周五,下午
12楼
奶瓶 2022-4-21
为啥要等到周五呀?
上课[滑稽]。。
算兼职吗?我可不想二进宫
15楼
奶瓶 2022-4-21
肯定是兼职啊
16楼
奶瓶 2022-4-21
你小学生吗?[滑稽][滑稽]
17楼
奶瓶 2022-4-21
什么是二进攻呀?
18楼
奶瓶 2022-4-21
来不来嘛[委屈]
19楼
玖月๑ 2022-4-28
奖励结算,当前结算等级:1;少侠辛苦了。
所以你现在到底在哪搞?

评论

登录后才可发表内容
  • 主题

    41

  • 帖子

    2899

  • 关注者

    0

Copyright © 2019 凯特网.   Powered by HYBBS 2.3.4  

Runtime:0.2895s Mem:2048Kb