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

image

产生报错注入,返回了我们需要的信息。如果没有返回信息可以使用时间盲注对目标站点进行测试。

获取数据库名称:
payload:id=0||(updatexml(1,concat(0x7e,(select%20database())),0x7e),1))

image

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

先简单的对database()进行“包装”一下
image

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

image
成功的绕过WAF拿到数据库名称。

4.总结

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

posted @ 2022-03-21 01:11  Satoris  阅读(296)  评论(0)    收藏  举报