![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=1739084859-qlMv1ab5xyvBgEuthrqQCXremax9TvhH-0-7b3a3e9981db673d8ac436e6c6275a2c)
这里是查看HTML里的head代码:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/24_02.jpg?sign=1739084859-KpHBjWS4nGk3tn639qxdEv5PI7SZPdw9-0-10662db00b798bef20998a57a6eff62f)
继续查看body代码:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/24_03.jpg?sign=1739084859-jH228lxzXBvW19JGVUcCfCbvi8CBN3YK-0-2cc48b5a6ae831d885c6285ca6d58246)
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/25_01.jpg?sign=1739084859-mih7pP1p4FpESLMMCzhZ072z8PqQuL1j-0-abf8928a7492541cd15ff2e7686642af)
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/26_01.jpg?sign=1739084859-f2bCC2GjC8zXw3CviW57xzfH4rVwPJFw-0-c9ac476dec900aac7908c08d0263516b)
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/27_01.jpg?sign=1739084859-JVO1CbGWZtDrWCigDr56AJ5Dvl4zZUOH-0-6774a5f56b9dc61ad75b1e365e672807)
那么,关键的触发点如下:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/27_02.jpg?sign=1739084859-uEVmfJPN6hvwJdD5FXQkgOxG2mgWXZHu-0-22dbd69223b415880eab100e42ed564e)
JS代码被设置进a标签的href属性,导致单击a标签后执行漏洞。iMessage新版本的修复方案是直接不解析javascript://。