代码审计之bluecms1.6管理后台任意文件删除

这篇博客介绍了在BlueCMS1.6_sp1中,由于未对用户输入的file_name参数进行充分过滤,导致可以利用../遍历删除任意文件的安全问题。审计过程中,发现当act参数为del时,结合$file_name参数,未经严格检查的文件路径被用于unlink()函数,允许攻击者删除主目录下data/backup目录以外的文件。需登录后台后,通过构造payload如../../,攻击者能删除包括test.txt在内的主目录文件。
摘要由CSDN通过智能技术生成

初次接触PHP代码审计,靠自己的眼神审到第一个垃圾洞还是有点小激动...

执行删除功能的链接:

http://127.0.0.1/bluecms_v1.6_sp1/uploads/admin/database.php?act=del&file_name=test.txt

需要登录后台

 

先分析一下代码:

act参数:

删除功能实现代码:

当act参数为del时,进行删除备份文件操作。

有一个$_GET['file_name']参数是用户输入,传给$file_name,这里只是做了trim()函数处理,去除字符串首尾处的空白字符,并没有做其他的过滤。

然后下面  BLUE_ROOT.DATA."backup/".$file_name   就是后面要删除文件的路径,使用了拼接的方式,它的意思是删除 主目录下->data->backup 下的文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值