![Web漏洞分析与防范实战:卷1](https://wfqqreader-1252317822.image.myqcloud.com/cover/526/53252526/b_53252526.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.2.2 CVE-2016-1764漏洞分析
CVE-2016-1764漏洞最简单的触发Payload为javascript://a/research?%0d%0aprompt(1)。可以看出,这个漏洞实际上是未处理的%0d%0导致的,这是一种常见的XSS漏洞利用方式。
值得一提的是,选择使用prompt(1)而不是更常见的alert(1)的原因。经过实际测试发现,alert无法弹出窗口,此外很多网站直接过滤了alert函数,因此,在测试XSS时,建议将prompt替换为alert。
当遇到需要分析这样的客户端XSS漏洞时,首先要查看location.href信息。该漏洞是在applewebdata://协议下发生的,原漏洞分析里已经提到。然后要看具体的触发点,一般在浏览器环境下可以通过查看HTML源代码来分析,但是在客户端通常无法看到。因此,我们可以使用以下小技巧:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/24_01.jpg?sign=1739074718-wYihlmrnyDTIPjnjfvbK8cHgAm4nw1kc-0-57cb60408b51dc43c6fa2381e5f8bf9b)
这里是查看HTML里的head代码:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/24_02.jpg?sign=1739074718-SfhcD5YSgZex0LCSNvaKM9ih5KqgafaT-0-2978b2d7f1d0387977597b8296cdb366)
继续查看body代码:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/24_03.jpg?sign=1739074718-U7NgMDTbSwdBaNRQvIR5eTNwk4XUq6Gj-0-5e90764bd6427149fd4795f6e3013dbf)
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/25_01.jpg?sign=1739074718-82IQVLU8KJNAnT6t5u7nNEjyh7iZ6VV7-0-3aafde15827e205355f542f89d08756b)
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/26_01.jpg?sign=1739074718-ahzVxg4sOt2UlwjPUFvuwyDu5bqf2QNC-0-6925d8cb74739161f2c0bc70cfa9c48d)
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/27_01.jpg?sign=1739074718-ez7S6snaaN43nSW4YLYPFcNw9D6HELvO-0-3496436286235adab4859e48e4712445)
那么,关键的触发点如下:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/27_02.jpg?sign=1739074718-mc39nPLZHLiMMnuDYQfpO7eur55eaH6y-0-57b1d0075afcfc74103bae152c591752)
JS代码被设置进a标签的href属性,导致单击a标签后执行漏洞。iMessage新版本的修复方案是直接不解析javascript://。