也谈跨站脚本攻击与防御之XSS
2006-08-08 20:30:54 来源:WEB开发网核心提示: 以下是引用片段:<img src="javascript:alert(/xss/)" width=100>代码又执行了,呵呵!看来你漏掉了点什么哦,也谈跨站脚本攻击与防御之XSS(3),加上这个代码吧!以下是引用片段:replace(str,"&",
以下是引用片段:
<img src="javascript:alert(/xss/)" width=100>
代码又执行了,呵呵!看来你漏掉了点什么哦,加上这个代码吧!
以下是引用片段:
replace(str,"&","&")
行了,&失去它原来的意义了,用户不能以其他方式表示Html属性值了哦!等等,这样的过滤真可以相信么?只要发现这种过滤的关键字机制,饶过就是简单的问题了:
以下是引用片段:
<img src="javas cript:alert(/xss/)" width=100>
没有javascript关键字了哦!注意中间那个是tab键弄出来的!关键字被拆分了哦!这是个很麻烦的问题,很多人忘记了这些特殊的字符,呵呵!有人想到要过滤空格了,在过滤之前我们再看看其他的一些东西吧!也许我们现在所处的src属性已经无法利用了,但是我们依然可以产生自己的属性或者事件机制哦!依然是可以执行Html代码的,首先说说事件机制吧:
以下是引用片段:
<img src="#" onerror=alert(/xss/)>
这样依然可以执行代码的哦!明白问题出在哪了,不是么?有的程序员仿佛明白了,注意我说的是仿佛,动网就是一个典型的例子,事件属性不是要onerror么?很多人开始用正则表达式了,发现关键的词如onerror就会做转换或者提示用户不执行,是不是没有机会了呢?
当然不是的,事件只是让代码运行的一种方法而不是所有的,可以定义事件了那么也就可以实现自己弄出自己的属性了,试试下面的:
以下是引用片段:
<img src="#" style="Xss:expression(alert(/xss/));">
- ››攻击无线网络
- ››攻击标签系统
- ››脚本问题解答
- ››脚本引擎之----读取INI配置文件
- ››脚本攻击防范策略完全篇
- ››脚本获取选中文字及所在句子
- ››脚本图片类后门病毒的完美使用方法
- ››脚本文件的创建和使用
更多精彩
赞助商链接