ECSHOP 2.7.2 Release0604 跨站脚本漏洞可拿管理权限

2016-07-07 15:13 来源:www.chinab4c.com 作者:ecshop专家

缺陷编号: WooYun-2011-03251漏洞标题: ECSHOP 2.7.2 Release0604 跨站脚本漏洞可拿管理权限 相关厂商: ShopEx漏洞作者: sfcuboy 提交时间: 2011-11-08公开时间: 2011-12-08漏洞类型: xss跨站脚本攻击

http://www.wooyun.org/bugs/wooyun-2010-03251

怎么修复?

回答:


安全无小事,经本人测试此漏同确实存在,参考我的回复,请筒子们尽快打上补丁,打开user.php,找到:
  1. /* 添加标签(ajax) */
  2. elseif ($action == 'add_tag')
  3. {
  4. include_once('includes/cls_json.php');
  5. include_once('includes/lib_clips.php');

  6. $result = array('error' => 0, 'message' => '', 'content' => '');
  7. $id = isset($_POST['id']) ? intval($_POST['id']) : 0;
  8. $tag = isset($_POST['tag']) ? json_str_iconv(trim($_POST['tag'])) : '';

  9. if ($user_id == 0)
  10. {
  11. /* 用户没有登录 */
  12. $result['error'] = 1;
  13. $result['message'] = $_LANG['tag_anonymous'];
  14. }
  15. else
  16. {
  17. add_tag($id, $tag); // 添加tag
  18. clear_cache_files('goods'); // 删除缓存

  19. /* 重新获得该商品的所有缓存 */
  20. $arr = get_tags($id);

  21. foreach ($arr AS $row)
  22. {
  23. $result['content'][] = array('word' => htmlspecialchars($row['tag_words']), 'count' => $row['tag_count']);
  24. }
  25. }

  26. $json = new JSON;

  27. echo $json->encode($result);
  28. exit;
  29. }
复制代码


替换成


  1. /* 添加标签(ajax) */
  2. elseif ($action == 'add_tag')
  3. {
  4. include_once('includes/cls_json.php');
  5. include_once('includes/lib_clips.php');
  6. $result = array('error' => 0, 'message' => '', 'content' => '');
  7. $id= isset($_POST['id']) ? intval($_POST['id']) : 0;
  8. $tag = isset($_POST['tag']) ? json_str_iconv(trim($_POST['tag'])) : '';
  9. if ($user_id == 0)
  10. {
  11. /* 用户没有登录 */
  12. $result['error']= 1;
  13. $result['message'] = $_LANG['tag_anonymous'];
  14. }
  15. else
  16. {
  17. add_tag($id, strip_tags($tag)); // 添加tag
  18. clear_cache_files('goods'); // 删除缓存
  19. /* 重新获得该商品的所有缓存 */
  20. $arr = get_tags($id);
  21. foreach ($arr AS $row)
  22. {
  23. $result['content'][] = array('word' => htmlspecialchars($row['tag_words']), 'count' => $row['tag_count']);
  24. }
  25. }
  26. $json = new JSON;
  27. echo $json->encode($result);
  28. exit;
  29. }
复制代码


只改一处,也就是把

add_tag($id, $tag); // 添加tag


改成

add_tag($id, strip_tags($tag));

过滤掉html标签

谢谢了,我也赶紧打上!

强人啊,版主V5

强帖啊,

这个要顶下。

这个一定要顶

这个一定要顶

谢谢

2楼强啊!!

好贴支持一下

支持了!不错啊!

强帖啊,请问search.php也出现跨站脚本漏洞,怎么打补丁呀