开源cms:phpmywind5.6,虽然是一个已经被挖烂的cms,但还是挖了一个新的后台利用方式,再此记录一下本废物的经历。
从来不会代码审计,所以问了老哥们让他们推荐点cms练练手。
这边开了一个win7+phpenv来专门搭建靶机环境(这个phpstudy就是逊啦.jpg
![图片[1]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-58-1024x608.png)
然后正常安装,没啥好说的,主要还是去审计代码
![图片[2]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-59-1024x672.png)
本人是没什么审计经验,这也算是第一次审计一个大型的cms系统,幸好这个没有使用php框架,否则直接原地去世,所以直接用Seay自动审计找找一些入口弱点
![图片[3]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-60-1024x660.png)
本人sql bypass能力实在是太菜了,百度上确实一堆堆的sql注入的洞,所以直接无视,转向其他
![图片[4]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-61-1024x59.png)
我一直比较喜欢任意文件读取的漏洞,这个check_bom.php的话也算不上漏洞,但是确实可以进行一个目录穿越
![图片[5]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-62-1024x635.png)
跟进一下,直接啥也没做限制,就是判断是否有BOM头(有一说一这个BOM很傻逼,在我开发后端的时候也多次搞我
![图片[6]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-63-1024x220.png)
效果就是这样,但是可以进行一个目录穿越
![图片[7]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-64-1024x215.png)
算不上漏洞,但是星宝说如果实际环境的话是可以记录报告的.jpg
下一个点,算是一个后台命令执行
![图片[8]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-65-1024x201.png)
就很喜欢eval,可以看看他的函数
![图片[9]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-66-1024x360.png)
就是直接进行一个eval,没有任何限制条件,跟一下看看谁调用了
![图片[10]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-67-1024x211.png)
![图片[11]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-68-1024x101.png)
这里是个查询的属于是,然后跟了一下语句,是有个列名为attrstr,倒是可以直接看看数据库里面的数据是什么样的
![图片[12]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-69.png)
array格式,属于是玩明白了
那就直接跟一下上面的attrstr这个字段,看看哪里写入了
![图片[13]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-70-1024x318.png)
可以继续抓包看看
![图片[14]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-71-1024x89.png)
大体就是写入然后拼接成array模式的字段
基本逻辑就是attrvalue值可控,但是他这个拼接,会把我attrvalue变量的值进行html编码化,进行安全防护了属于是
我是没想到有啥办法可以绕过,所以继续看看网站有什么其他点。
![图片[15]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-72-1024x399.png)
所以自带sql语句执行就很牛逼,直接在attrvalue端写入相应的一句话就完事了呗,,,这你说的
![图片[16]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-75.png)
![图片[17]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-76-1024x479.png)
当然,也可以直接写文件。。。但是如果sql限制了文件写入权限那就不行了
这个弄好之后会在商品列表出现新的商品,
![图片[18]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-73-1024x429.png)
![图片[19]-记录一次代码审计-魔法少女雪殇](https://www.snowywar.top/wp-content/uploads/2021/09/image-74-1024x403.png)
然后就可以直接getshell了,,,当然反弹也可以,离谱就。
暂无评论内容