漏洞概要 关注数(12) 关注此漏洞
缺陷编号: WooYun-2013-37844
漏洞标题: 躺在地上看代码-ecshop后台注入
相关厂商: ShopEx
漏洞作者: 索马里的海贼
提交时间: 2013-09-25 15:31
公开时间: 2013-12-24 15:32
漏洞类型: SQL注射漏洞
危害等级: 中
自评Rank: 8
漏洞状态: 厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: 无
漏洞详情
披露状态:
2013-09-25: 细节已通知厂商并且等待厂商处理中
2013-09-26: 厂商已经确认,细节仅向厂商公开
2013-09-29: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2013-11-20: 细节向核心白帽子及相关领域专家公开
2013-11-30: 细节向普通白帽子公开
2013-12-10: 细节向实习白帽子公开
2013-12-24: 细节向公众公开
简要描述:
后台注入没啥价值- -不过这个点可以任意构造语句 包括drop database;和select into outfile 顺便还自带爆路径 拿来getshell不错
详细说明:
admin\include\lib_main.php 行718
这一个无视GPC的输入点太爽了 而且看数组的key是sql,一般就快进查询了 继续翻翻哪里调用了get_filter
好多地方都调用了。这里拿article.php开刀
行624:
可以看到 如果get_filter()返回不为false就直接取出里面的sql进查询了...
漏洞证明:
登陆ecshop后台
然后打开一次
**.**.**.**/admin/article.php?act=list
这次的get_filter()是false 所以他会进入if里面 在这个if的最底下会用set_filter()设置cookie
会看到多了3个cookie
修改cookie
ECSCP[lastfiltersql]=base64后的sql语句 这里用的爆管理员账号密码的payload其他的比如 导出shell啊啥的都行
然后在url后面加上参数uselastfilter=1来进入get_filter()函数里的那个if
只要让查询返回的结果不是正确的资源 是会报错把路径显示出来的。然后select into outfile
修复方案:
base64_decode啊urldecode之后啊再做一次检查吧
版权声明:转载请注明来源 索马里的海贼@乌云
漏洞回应
厂商回应:
危害等级:低
漏洞Rank:3
确认时间:2013-09-26 10:54
厂商回复:
非常感谢您为shopex信息安全做的贡献
我们将尽快修复
非常感谢
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值