Ecshop-4.1.0免登录SQL注入实战
1.前言
今天在挖掘漏洞中,工具探测时使用到了:poc-yaml-cnvd-2020-58823-sqli,特地记录一下这一次挖掘过程,复现挖掘过程和绕过WAF等操作。
漏洞详情参考连接:https://mp.weixin.qq.com/s/1t0uglZNoZERMQpXVVjIPw
2.漏洞概述
影响版本:ecshop4.1.0及以下
是否需要身份认证:否,前台漏洞
漏洞类型:SQL注入
CNVD编号:CNVD-2020-58823,https://www.cnvd.org.cn/flaw/show/2454613
源码获取:https://www.ecshop.com/ 登录注册下载,新版本为4.1.1(已修复)。
3.漏洞复现
3.1 利用的payload
该漏洞主要是ecshop 项目下的/delete_cart_goods.php文件参数直接拼接sql导致的。
所以只需要访问/delete_cart_goods.php 构建post参数:id=0||(updatexml(1,concat(0x7e,(select%20md5(40230)),0x7e),1))
3.2 复现过程
这里使用工具hackbar方便我们添加参数(也可以使用burpsuite进行测试)。
将路径拼接并且添加POST参数,点击EXECUTE

产生报错注入,返回了我们需要的信息。如果没有返回信息可以使用时间盲注对目标站点进行测试。
获取数据库名称:
payload:id=0||(updatexml(1,concat(0x7e,(select%20database())),0x7e),1))

此时发现该站点存在WAF,对输入的函数进行了拦截,但是我想到了一些绕过WAF的方式,比如编码,使用注释符/**/,还有在注释符添加干扰字符/*!*/。
先简单的对database()进行“包装”一下

再把干扰字符!加入到payload中:

成功的绕过WAF拿到数据库名称。
4.总结
SQL注入较为简单,但是危害较高。在遇到WAF时不必过早的放弃,对常见的绕过姿势进行尝试,我的绕过能力也很差,总看别人绕过姿势很多,自己鲜有机会尝试,这次刚好遇上,尝试之后也能成功绕过!

浙公网安备 33010602011771号