![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=1739521042-vWbHzfkn6RJ3pGmJDbmtMwFjSaZXsKZq-0-bd964b0c45249cfa3a528aadd72802ff)
这里是查看HTML里的head代码:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/24_02.jpg?sign=1739521042-6mMrKoVN2o6DiSdUxoXCAZ21mEmKIrKo-0-b4e48fbd3828127b848e91a4fe4e06d0)
继续查看body代码:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/24_03.jpg?sign=1739521042-Im8QIw03drnGkIWCHvjMxwHkK9he7ZT7-0-b66e546f5829bd25aa7e402564551899)
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/25_01.jpg?sign=1739521042-5jKW9Pm9c7ZCkLf9VzEyc1yvcx01sACL-0-fc3e78a43ca230cc02bc6569d215aa6e)
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/26_01.jpg?sign=1739521042-IH5gE3vZDyYK6xdrUqKMkHkbjiceehvU-0-d0a7ef0352b8fb0fb0eef16ae155cb44)
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/27_01.jpg?sign=1739521042-WvO796SYMpYKwB06dzfy11A4UfonE5sf-0-a76672eeffaae607c2d27812c0d3d660)
那么,关键的触发点如下:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/27_02.jpg?sign=1739521042-Ui0IzgazYP1X9xEDiyC4GnpE5qOaujbT-0-47a06f12a68f5980615d146ecf61728f)
JS代码被设置进a标签的href属性,导致单击a标签后执行漏洞。iMessage新版本的修复方案是直接不解析javascript://。