《浏览器安全》勘误&Issues

《浏览器安全》勘误&Issues

请在此发布评论

(注: Spam实在太猛, 因为TypeEcho的反垃圾评论功能实在太弱,没办法之下,我设置了每条评论都要经过审核。所以您的评论不会第一时间出现在网页上,但是相信我,已经在后台了:),请稍等,我大概隔几天会登陆看一下,感谢您的理解~也感谢您的每条建议。)
如果长期未能显示,欢迎联系:leonwxqian[+]qq.com
[+]替换成@

修正内容整理如下,感谢各位细心阅读和指正,原文编写及排版校验的失误之处敬请谅解。

第二章 P19 原文“由于验证信息在传送时是明文传递的”, 应为"对HTTP来说,由于验证信息...."。需要注意的是HTTPS的情况下虽然通信流量上是加密的,但是服务器端的log仍然可能泄露一些信息。(感谢Choohan指正)
第二章 P20 “浏览器也会自动把句号转换为句号” 这里第二个"句号"应为句点。(感谢Choohan指正)
第二章 P37 2.4.1中最后一段,“本地Internat域”似应为“本地Intranet域”。(感谢ascii0x03指正)
第三章 P53, Chrome和IE浏览器中都引入了原生的XSS,应为XSSFilter。(感谢Choohan指正)
第四章 由于出版商排版时出现问题,第一版中多处“点击”被替换为了“单击”。(感谢Jerry Qu指正)
第四章 CORS被误输入为CROS,抱歉因此带来的阅读不便。正确拼写应为CORS。(感谢Jerry Qu指正)
第四章 P97,"max-age的单位是秒。PayPal的设置代表着该浏览器在接下来730年都应该......" 应为 “730”。 (感谢dogking指正)
第五章 P129 “转意”和“下画线” 应为“转” 和 “下线”(感谢Choohan指正)
第七章 p160 下方图片上面的iframe的src出错了,打少了一个i,应该是http://www.baidu.com(感谢Choohan指正)
第八章 图8-5,右边显示调用栈的double()应该是domatch()。(感谢null指正)

地址失效问题:
XSSAuditor的地址 https://chromium.googlesource.com/chromium/blink.git/+/master/Source/core/html/parser/XSSAuditor.cpp
Redoce下载地址 http://www.nul.pw/usr/uploads/2016/10/2791588415.rar

——

常见问题:阅读本书前有哪些前置条件?
浏览器安全涵盖的方面实在是非常广泛,书中介绍的是概括性的内容,更多的是介绍了漏洞的分析和挖掘过程,为了能让阅读过程更为顺畅,一些前置条件列举如下。
1、Web(HTML、Javascript、CSS、XML等最好有初步了解)
2、第三方工具/插件(Flash、PDF Reader、Java等以及它们的反编译工具,以及反编译后的语句能够有初步了解)
3、程序相关的一些东西(常见的汇编语句、C++代码和C++代码的反汇编形式,比如std::wstring反编译后匹配上的名称,应该一眼就看出来,否则整个代码看起来就是相当蒙的感觉)
4、调试工具(F12、Firebug、Windbg、IDA、OllyDbg、Fiddler、Wireshark等)
5、系统/网络/加密等的基础知识等等

已有 48 条评论

  1. vftable vftable

    请问 《浏览器安全》 这本书有电子版可以购买吗?谢谢

    1. 电子版还没出版,过段时间会有哦~

  2. wooutl wooutl

    书的质量很不错,是白帽子系列质量比较好的书。。。出电子的就被盗版

  3. 发现一处笔误:

    4.2.2 跨域资源共享

    CORS 多次写成了 CROS。

  4. ascii0x03 ascii0x03

    37页的2.4.1中最后一段,“本地Internat域”似应为“本地Intranet域”

  5. ascii0x03 ascii0x03

    37页的2.4.1中最后一段,“本地Internat域”似应为“本地Intranet域”。

  6. P55脚注的网址打开没有源代码。

    1. 感谢,短网址这网站不知道咋的给截断了,完整网址在
      https://chromium.googlesource.com/chromium/blink.git/+/master/Source/core/html/parser/XSSAuditor.cpp

      第三版内一定修正

  7. P141 6.2节第一段第四行,“任意地址读和一个缓冲区……”,读后面少一个“取”?
    顺便想问一下,任意地址读取指的是什么漏洞……?

    1. 可以读取任意指定内存位置的数据的漏洞,可以用来确定程序的内存状态:)

  8. 24‘’ 24‘’

    您好,买了您的书在看,但在搭建恶意网站分析环境时,需要下载的redoce由于乌云关闭,无法下载,在网上也未搜索到,请问能给我发一份吗,邮箱wangji.nsec@gmail.com,或者百度云盘分享下,非常感谢

    1. 不好意思啊,存放代码的机器现在不在手边,我可能要周一才能发给你了

    2. notice notice

      已经发送

      1. 才发现邮件一直被gmail退信,上传到我这里了,http://www.nul.pw/usr/uploads/2016/10/2791588415.rar 从这个地方下载吧

  9. freax freax

    拜读大作,觉得写得不错。但我是菜鸟,只懂一点汇编,在《浏览器安全》书中8.3.1节的通用shellcode模板中,在偏移+033至+037中填上57696e45,即WinExec函数名的前四个字符,shellcode如果编译成执行文件,直接运行会终止。在od中运行,会在偏移+032处比较字符指令中终止,显示异常。我看了一下,比较字符串一直未搜索到WinExec函数名,最后会访问一个非法地址时发生异常。我的系统是32位win7旗舰版SP1,在xp虚拟机还是异常终止。

    顺便问一下,书中查看导出表您用的是什么工具。

    1. 年末事情比较多,一直没来得及看博客,抱歉。
      查看导出表一个是Dependency Walker,一个是File Format Identifier

  10. freax freax

    《浏览器安全》的8.3.1节在汇编指令中输入winExec的前四字节ascii码值时要逆序输入。通用shellcode正确有效。感谢!

  11. dogking dogking

    P97页,"max-age的单位是秒。PayPal的设置代表着该浏览器在接下来730年都应该......"
    对应上文的max-age=这里应该是63072000,这里应该是730天吧

    1. 啊,这个是严重笔误,下一版开印的话,会修正这个错误,多谢!

  12. null null

    8.1.2节中的8.5图。右边显示调用栈的那个double()是不是应该是domatch()?

    1. 抱歉,这几天事情比较多,刚看到评论,我确认一下

    2. 是的,当时抽风了...所有double()应当为domath(),感谢指正

  13. Choohan Choohan

    白帽子讲浏览器安全 P30 204 No Content 这一段最后那里
    但是网页实际地址为 abcut:blank 这里应该是打错了吧 about 变成abcut了
    还是说是我书本的问题 我这是在京东上面买的 应该不是盗版的吧??=。=

    1. 可能是印刷问题哦,我这里的书看起来是正常的

  14. Choohan Choohan

    P53 (探索浏览器的导航过程)
    第三行 原文:Chrome和IE浏览器中都引入了原生的XSS
    这里应该是 引入了原生的XSS Filter吧 =。= 怎么可能自家给自家产品插xss

    1. 可能是微软输入法的锅,那时候刚装Win10,微软输入法打完一个词组经常莫名其妙就吞词语了,哈哈

  15. Choohan Choohan

    第五章 p128 第一段: 我们换用IE, 在包含Flash的页面中按下F12并单击左侧的图标
    这一句话看的时候蒙了很久都没反应过来左侧的图标到底指的是什么…… 直到读完这一段看下面的图的时候 所及建议一下作者说明一下 不然真的不知道“左侧的图标” 到底指的是什么…………
    还有就是隔壁p129第三段文字 一般都是用 “转义” 和 “下划线”的吧…… 这里看到的是“转意”和“下画线” 感觉多少还是有点别扭=。=
    还有就是这一段最后的 “假如我们传入myTest=\"));alert(3);}catch(e){}//,那么这个函数的输出就会变成:” 这里 应该说明 “这个函数”指的是隔壁p128的“__flash__toXML"函数 第一次看的时候一直以为”这个函数“指的是上面给出的测试用的Flash Demo 导致一时之间无法理解这个payload怎么运行的 直到看回隔壁p128

    1. 感谢,看了下拼音的常用词组,一天一黑微软拼音 [捂脸]

      下一版更新的时候会修正所有的问题,再次感谢~~

  16. Choohan Choohan

    p133 图 5-23 请问是用什么软件查看的??? 是前面使用的Process Explorer吗? 还是其他的软件?

    1. 是的,Process Explorer,右键点击程序-属性-安全

  17. Choohan Choohan

    第七章 p160 下方图片上面的iframe的src出错了 原文是 这里打少了一个i 应该是 http://www.baidu.com
    另外p183 第二张图的上方 原文: 全部都是"res://C:\Program files\Norton Security with Backup\Engine\21.1.0.18\asoehook.dll/#2/#102" 里面用的都是 \ 表示是这么表示没错 但是一来图里面用的都是 \\ 二来html代码里面的 \ 都是用 \\ 来表示 所以建议这里还是统一一下比较好

    1. 感谢,眼镜满足不了我了,我要换副眼睛,记下来了,下一版修正一下这里~

  18. Choohan Choohan

    第十章 p255 原文:TagOpenState下……………………如果后一个字符是“!”认为是注释符号………………如果后一个字符是“?”认为是注释标签
    这里有个很大的疑惑 baidu google过 更多的指出的是 注释标签指的是HTML中的 这种东西 但是原文上面已经说过相同的东西了 还是说形如

    1. 分别是指形如:《!--
      HTML注释标签
      以及
      《?asp
      《?php
      这样的注解标签。书名号代表左尖括号

  19. Choohan Choohan

    突然发现上一条不知道为什么有些被吞了????
    还是说形如

    1. 全都在后台呢,因为老毛子的SPAM跟洪水一样,这个博客的垃圾过滤根本过滤不掉,我索性改成全审核了... = = 我也在页面里面加了下备注~非常感谢这么仔细的阅读,我得投诉审校和我自己了

      1. Choohan Choohan

        没事=。= 书写的真的挺好的!谢谢作者 我过段时间再重新看一遍 如果到时候还有问题我再留言=。=

  20. 原来是指HTML标签呀,应该是被Typecho吞了……

  21. Choohan Choohan

    哈哈哈 作者我又来了=。=
    先说个勘误
    P20 中间那一段最后那一句话 “浏览器也会自动把句号转换为句号” 这里第二个句号应该改为点号才对
    然后其他觉得有点奇怪的地方是P19那里
    验证信息那一段 原文是“由于验证信息在传送时是明文传递的” 这里要不要考虑https下的情况呢? 因为毕竟https也是加密过再传输的 但是很遗憾的是我谷歌 RFC下https的标准却找不到相关说明 这个只能有空自己搭建环境测试一下了
    还有下面主机名这一段 原文是“因为DNS查询域名时并不在意域名的大小写,所以URL中域名也是不区分大小写的。故在浏览器中http://example.org/和HTTP://EXAMPLE.ORG/是等同的”
    这里后面协议用上了大写 虽然是一样的 但是你前面强调的是域名是不区分大小写 http不属于域名吧=。= 或者在后面补充说明一下协议也是不区分大小写的??=。=

    1. 感谢,第一个是……出版社干的,发布前有个统一用语的过程,我开始打得“句点”,被批量替换成句号了……

      第二个问题,如你所说,认证部分会在HTTP头中体现,所以通过HTTPS传输时,这些内容在流量上是加密的,https://stackoverflow.com/questions/4980912/username-and-password-in-https-url

      最后一个,是的,补充说明一下会比较好~

  22. Choohan Choohan

    P48 第二段第二行这里 该浏览器将地址栏修改为strURL 但页面的 URL实际上是"about:blank" 这里的"about:blank" 应该指的是页面的title吧??? 因为看下图的图片URL显示的是"http://www.baidu.com:55858/"

  23. 指页面(当前文档)真实地址,URL显示为百度是因为触发了漏洞,让浏览器地址栏显示了错误的地址。

    1. Choohan Choohan

      哦哦 明白了 当时理解错了

  24. Choohan Choohan

    p59最下面的注释那里 支持javaScript伪协议的地方……audio元素的src属性
    我Chrome 66 ff 60 测试下 都无法成功复现支持javascript伪协议 进行弹窗 是我浏览器问题吗?
    另外 button input 的formaction在某些情况下也是可以支持js伪协议的

    1. 奇怪,当时不知道为什么写了audio。。可能想写的是iframe,这里确实是写错了,感谢

添加新评论

captcha
请输入验证码