漏洞概要
关注数(16)
关注此漏洞
漏洞标题: 方维购物分享最新版前台代码漏洞
提交时间: 2014-12-27 00:27
公开时间: 2015-03-27 00:28
漏洞类型: 命令执行
危害等级: 高
自评Rank: 20
漏洞状态:
厂商已经确认
漏洞详情
披露状态:
2014-12-27: 细节已通知厂商并且等待厂商处理中
2014-12-30: 厂商已经确认,细节仅向厂商公开
2015-01-02: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2015-02-23: 细节向核心白帽子及相关领域专家公开
2015-03-05: 细节向普通白帽子公开
2015-03-15: 细节向实习白帽子公开
2015-03-27: 细节向公众公开
简要描述:
一步两步似魔鬼的步伐
详细说明:
缺陷文件:
/core/function/global.func.php
如下:
最后的preg_replace 使用了/e的命令执行符号。
$content可被控制。
即页面上如果出现<!--dynamic args=(phpinfo())--> 即被执行args里的命令
寻找一个变量能被没有过滤掉关键字符之类,并且能在页面上显示的就行。
找了半天,找了个album.php的模块下的一个tags .
缺陷文件
/core/module/album.module.php 的300多行:
Tags 变量只做了分割处理。分割字符串为空格即%20
前面的正则条件是需要匹配\s 即空白字符,其中包括\t \r \n 等
所以,提交tags标签时,提交如下类似的字符串即进入到模版缓存替换执行中。
<!--dynamic%09eval(@$_GET[test]);-->
本地测试如下图:
漏洞证明:
修复方案:
漏洞回应
厂商回应:
危害等级:低
漏洞Rank:1
确认时间:2014-12-30 15:47
厂商回复:
程序已暂停维护,不再销售
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值
漏洞评价(共0人评价):
评价
-
2014-12-27 08:55 |
残废
( 普通白帽子 |
Rank:274 漏洞数:58 | 我是残废,啦啦啦啦)
2
你关注的白帽子 0x_Jin 发表了漏洞 方维购物分享最新版前台代码漏洞
-
2014-12-27 11:57 |
′雨。
( 普通白帽子 |
Rank:1332 漏洞数:198 | Only Code Never Lie To Me.)
1
-
2014-12-27 12:00 |
kydhzy
( 普通白帽子 |
Rank:362 漏洞数:62 | 软件测试)
1
-
2015-02-09 19:45 |
蓝莓说
( 实习白帽子 |
Rank:60 漏洞数:18 | 爱网络安全 代码审计 php网站开发)
0
这个在新版3.1没用 你这个肯定是3.0的 看tag的编码就知道了
-
2015-03-27 09:59 |
ca1n
( 普通白帽子 |
Rank:100 漏洞数:22 | not yet)
0
-
2015-03-31 03:19 |
蓝莓说
( 实习白帽子 |
Rank:60 漏洞数:18 | 爱网络安全 代码审计 php网站开发)
0
我测试了下怎么不可以 album.php?action=show&id=13&test=phpinfo(); <div class="element">
时尚元素:<a href="/book.php?action=shopping&tag=%253C%2521--dynamic%252509eval%2528%2540%2524_GET%255Btest%255D%2529%253B--%253E"><!--dynamic%09eval(@$_GET[test]);--></a>