说明一下啊 我 下载 的最新版本 而且打上了最新的所有补丁!
你要再说是部分版本存在 我就要抓狂了啊!
xss产生的位置
includes/init.php 206行
if (!isset($_SESSION['user_id'])) { /* 获取投放站点的名称 */ $site_name = isset($_GET['from']) ? $_GET['from'] : addslashes($_LANG['self_site']); $from_ad = !empty($_GET['ad_id']) ? intval($_GET['ad_id']) : 0; $_SESSION['from_ad'] = $from_ad; // 用户点击的广告ID $_SESSION['referer'] = stripslashes($site_name); // 用户来源 ........
来路未过滤就存到session里面了。
应该有机会了
搜索$_SESSION['referer']
发现在下单的地方 flow.php
$order['from_ad'] = !empty($_SESSION['from_ad']) ? $_SESSION['from_ad'] : '0';
$order['referer'] = !empty($_SESSION['referer']) ? addslashes($_SESSION['referer']) : '';
还是没过滤
肯定有机会了
于是提交一个订单
然后到后台
在未登录状态下访问
http://xxx.com?from=<script>alert(1)</script>
登录网站提交订单
访问后台订单页面
yes!
修复方案: 过滤。。。
查看更多关于ecshop存储xss一枚,可打管理 - 网站安全 - 自学的详细内容...