- Web漏洞分析与防范实战:卷1
- 赵伟 杨冀龙 知道创宇404实验室
- 331字
- 2025-01-22 14:15:49
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=1739464137-Fz1xIDGB3MV6GHcxRZmMU70LvIr5ZuVW-0-3a684c408b2ea23c1fef3b198a7c7a62)
这里是查看HTML里的head代码:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/24_02.jpg?sign=1739464137-HwWdKxvlKuBMofJV3tTIT5C2BQq4Ztna-0-61b0cc795f90c8a003f1af8071f4b5ce)
继续查看body代码:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/24_03.jpg?sign=1739464137-w5Jjw5AfInt9GAkt6Y0AX7KVNkFl4scp-0-4a7fa91484f1ad64eef7d8b724fcf144)
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/25_01.jpg?sign=1739464137-u8dgkBg6n9XXOzrVYdC2VtyANn08qe8R-0-53da684b394c448ca2644cd3c72f1999)
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/26_01.jpg?sign=1739464137-65uBJpMIMC8ODI3Zbxq1MtJU6Kllo04U-0-b52ebc8ed3308b928c20f309c49a164d)
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/27_01.jpg?sign=1739464137-EsJ8Afa1luEsj5DTaUdCEUApkAXzSuP4-0-d80c8ca65b60e5371f58c2f1441311f3)
那么,关键的触发点如下:
![](https://epubservercos.yuewen.com/1C0144/31724658703268506/epubprivate/OEBPS/Images/27_02.jpg?sign=1739464137-sgus0UEHndnMDo7Id8QLK2Fj0UVUpz5l-0-fc80025e75f128c145de320506052e80)
JS代码被设置进a标签的href属性,导致单击a标签后执行漏洞。iMessage新版本的修复方案是直接不解析javascript://。