码迷,mamicode.com
首页 > Web开发 > 详细

[代码审计]phpshe开源商城后台两处任意文件删除至getshell

时间:2018-02-12 20:03:13      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:白名单   log   eal   mys   shel   介绍   等于   后缀   开启   

0x00 背景

这套系统审了很久了,前台审不出个所以然来。前台的限制做的很死。

入库的数据都是经过mysql_real_escape_string,htmlspecialchars的处理。

二次注入没找到,逻辑漏洞也没找到。抛开实际利用来说,简单讲讲两个任意文件删除漏洞,在拿到后台之后的getshell方法。

 

0x01 phpshe程序简介

phpshe是一个开源商城程序,程序在前台入库的地方都用了pe_dbhold函数(mysql_real_escape_string,htmlspecialchars过滤),虽然用的是全局变量注册,但是进行了变量的划分。

技术分享图片

加上了各自不同请求的前缀。使得变量不能夸请求覆盖,同时底层有入库的参数值都是用单引号进行包含。

所以注入是不可能的了,加上htmlsepcialchars的过滤,连xss都没发现一个。

上传方面用的是白名单,限死了后缀,加上文件名重命名,使用时间加上大范围随机数md5的方法。

前台就介绍到这里,讲讲后台的一些情况。

后台大部分都进行了csrf防御,只有少部分没有(一些查询操作,没有实际作用),几乎所有后台页面都是存在注入,但由于程序是没有开启报错的。

技术分享图片

 

所以是没有办法通过报错的方式拿到绝对路径,后台的注入其实等于没用,也没有越权的情况(通过鉴权文件,加载后台模块)。

看了一下乌云镜像站上关于该程序的历史漏洞也是少的可怜,程序的安全性确实做得很好。

技术分享图片

那么下面就讲讲两个后台任意文件删除,与及拿shell。

0x02 后台两处任意文件删除至getshell

1,文件module\admin\db.php( 数据库操作相关)

技术分享图片

没有任何过滤,直接拼接路径删除。但是有csrf防御。

2,文件 module\admin\moban.php(模板操作相关)

技术分享图片

也是等同于没有任何过滤,有csrf token防御。

再看看安装文件的逻辑。

技术分享图片

将配置参数写入到配置文件中,直接写入,没有任何过滤,可以通过重装的方式直接getshell。(动作太大了)

 

0x03 总结

看了很久这个程序,没有审出什么来,写个总结吧!

[代码审计]phpshe开源商城后台两处任意文件删除至getshell

标签:白名单   log   eal   mys   shel   介绍   等于   后缀   开启   

原文地址:https://www.cnblogs.com/r00tuser/p/8445289.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!