加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 运营中心 > 建站资源 > 策划 > 正文

ECShop 4.0反射型XSS漏洞分析

发布时间:2019-03-26 06:32:45 所属栏目:策划 来源:Cyc1ing
导读:前言: Ecshop是国内的一款开源的电商框架,在国内应用较为广泛,当前最新版本为4.0.0,最近对其代码进行了简单的分析,发现可以绕过其filter触发XSS。 一、漏洞利用方式 发送GET请求包如下: GET/CMS/ECShop_V4.0./user.phpHTTP/1.1Referer:https://127.0

前言: Ecshop是国内的一款开源的电商框架,在国内应用较为广泛,当前最新版本为4.0.0,最近对其代码进行了简单的分析,发现可以绕过其filter触发XSS。

一、漏洞利用方式

发送GET请求包如下:

  1. GET/CMS/ECShop_V4.0./user.php HTTP/1.1Referer:https://127.0.0.1" /><a href=j&#97v&#97script:&#97lert('Cyc1e_test')><imgsrcimgsrc="xxxxxUser-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko)Chrome/41.0.2228.0 Safari/537.21Cookie:ECS_ID=17b608d2a679cf2c7e8611581478e6929dbfb34b;ECS[visit_times]=2Connection:keep-aliveAccept: */*Accept-Encoding:gzip,deflateHost: 127.0.0.1 

其中漏洞触发代码为:

  1. Referer:https://127.0.0.1" /><ahrefahref=j&#97v&#97script:&#97lert('Cyc1e_test')><imgsrcimgsrc="xxxxx 

实现绕过过滤规则,触发XSS漏洞的效果。

二、相关环境

版本:ECShop4.0.0

漏洞类型:反射型XSS

本地环境:php5.6.27+ Apache + Mysql

三、漏洞分析

该XSS漏洞路口点在user.php文件,查看user.php:328行

漏洞分析

在用户登入界面的处理代码中,首先变量$action赋值为login进入主体代码,若变量$back_act为空并且请求包中存在REFERER字段,则将REFERER字段中的内容赋值给变量$back_act,这是导致该漏洞的直接原因,对$back_act变量赋值过后传入assign函数进行处理,其中$smarty是模版类cls_template的实例化:/includes/init.php:170行

所以查看assign函数时跟进到模版类cls_template中查看:/includes/ cls_template.php:70行

对传入变量名和变量值进行变量注册,我们可以传入非数组数据对$back_act进行变量注册,注册完毕回到user.php代码,继续跟进模版类中的display函数:/includes/ cls_template.php:100行

调用fetch函数进行user_passport.dwt文件的页面显示,也就是显示用户登入页面,其中在user_passport.dwt文件中:

$back_act值被赋值给input标签中的value,所以我们控制了$back_act变量值便可以在html页面中插入js代码。

四、绕过全局Waf触发XSS

Ecshop中定义了全局安全过滤规则,查看代码:/includes/safety.php

这个过滤规则比较简单粗暴,利用’on[a-zA-Z]{3,15}’ 过滤了所有的on开头js事件,所以用事件触发是较为困难了,并且

其中javascript:alert(‘Cyc1e_test’)可以绕过xss过滤规则的匹配从而绕过服务端的安全过滤植入html页面中,经过html编码解析会恢复成javascript:alert(‘Cyc1e_test’),从而触发执行,效果如图:

通过点击图片可以直接触发

漏洞绕过触发的方式不唯一。

五、总结

漏洞挖掘主要在于一定的技术基础,充分的经验积累以及一些运气所在,挖掘的漏洞不在大小,每一漏洞都是一次成长,新手挖掘文章,,希望大牛们批评指正。

【编辑推荐】

  1. 让你彻底了解SQL注入、XSS和CSRF
  2. 4G/5G再曝新漏洞 攻击者可拦截电话和追踪用户位置
  3. 5G落地不能急 三个4G/5G新漏洞被曝出
  4. 任意URL跳转漏洞修复与JDK中getHost()方法之间的坑
  5. NSA 的软件逆向工程框架 Ghidra 曝出漏洞
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读