• 设为首页
  • 收藏本站
  • 积分充值
  • VIP赞助
  • 手机版
  • 微博
  • 微信
    微信公众号 添加方式:
    1:搜索微信号(888888
    2:扫描左侧二维码
  • 快捷导航
    福建二哥 门户 查看主题

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

    发布者: 天下网吧 | 发布时间: 2025-6-27 15:52| 查看数: 34| 评论数: 0|帖子模式

    在IE中javascript的字符串可以被NULL字符截断,不过仅仅是getValue的时候截断.
    测试代码:
    alert('abc\0 def')如果只是这样最多就是spoofing,但配合IE(<=8)的一个解析bug和php的[魔术引号]就是一个DOM XSS了.
    IE解析bug:
    <a href="<body/onload=alert(1)>click</a>
    在前面的我分享过的XSS向量里有提到过,就是当解析器不能匹配到一个标签里属性值的结束界定符的时候会认为这是个无效的标签,将其当成文本.
    <a href=" 变成<a href=" <body/onload=alert(1)>被解析成html.PHP的转义问题
    在5.3.0之前,php默认开启了magic_quotes_gpc.
    它不但会转换" ' 之类的字符,还会将转义%00转换成\0
    在javascript的字符串中\0又会被转义回去.
    注:即便关闭了魔术引号,开发者一般也会实用addslashes之类的函数,这些函数同样会将%00转换成\0
    So
    document.write('<img src="<iframe/onload=alert(1)>\0">')
    --------------------------------------------------------------------------------
    相关评论:
    --------------------------------------------------------------------------------
    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
    可以在自己电脑上写个利用场景试一试
    来源:https://www.jb51.net/hack/56460.html
    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

    最新评论

    QQ Archiver 手机版 小黑屋 福建二哥 ( 闽ICP备2022004717号|闽公网安备35052402000345号 )

    Powered by Discuz! X3.5 © 2001-2023

    快速回复 返回顶部 返回列表