欢迎来到福编程网,本站提供各种互联网专业知识!

Javascript字符串截断 with DOM XSS的方法介绍

发布时间:1970-01-01 作者:佚名 来源:乌云
在IE中javascript的字符串可以被NULL字符截断,不过仅仅是getValue的时候截断.
在IE中javascript的字符串可以被NULL字符截断,不过仅仅是getValue的时候截断.

测试代码:

alert('abc def')如果只是这样最多就是spoofing,但配合IE(<=8)的一个解析bug和php的[魔术引号]就是一个DOM XSS了.

IE解析bug:

被解析成html.PHP的转义问题

在5.3.0之前,php默认开启了magic_quotes_gpc.

它不但会转换" ' 之类的字符,还会将转义%00转换成

在javascript的字符串中又会被转义回去.

注:即便关闭了魔术引号,开发者一般也会实用addslashes之类的函数,这些函数同样会将%00转换成

So

document.write('')

--------------------------------------------------------------------------------

相关评论:

--------------------------------------------------------------------------------

Xhm1n9 | 2012-06-29 01:34

实用的技巧:)

horseluke (微碌) | 2012-06-29 01:53

PHP的输出转义一般用htmlspecialchars的...addslashes只是数据库相关转义,输出转义用addslashes肯定不能通过代码审计的。

但是............有没有人研究过绕过strip_tags?见到有人用这个来做输出转义,觉得不安全,但又说不出所以然,更试不出所以然...

Sogili (-_-)Web疯狂科学家//mmme.me(-_-) | 2012-06-29 01:58

@horseluke 嗯,不过htmlspecialchars不会转换%00,如果真的没处理%00就更好玩了.

horseluke (微碌) | 2012-06-29 02:03

@Sogili 不明白,对XSS不熟悉,求详解...

Sogili (-_-)Web疯狂科学家//mmme.me(-_-) | 2012-06-29 02:09

@horseluke IE可以解析<[0x00]i[0x00]0m[0x00]0g src=xx:x o[0x00]nerror=alert(1)> 可以绕过很多filter,所以不处理[0x00]是很危险的.我了解的只是XSS的方面,我想对服务端安全影响也不小.

_Evil (性趣是最好的老师.) | 2012-06-29 06:44

web科学家这个不错 不过范围小了的 只能ie

gainover (">_< ' / & 看啥,没见过跨站字符么) | 2012-06-29 07:53

可以在自己电脑上写个利用场景试一试

相关推荐