白帽子讲web安全第二版
《白帽子讲Web安全》第二版里有个细节让我印象很深:作者吴翰清在讲XSS时,白帽没有一上来就甩OWASP Top 10,安全而是第版先讲了一个真实案例——某社交网站的个人签名栏允许HTML,结果有人写了个脚本,白帽访问者一打开主页就自动关注攻击者。安全就这么简单,第版没有花哨的白帽0day,没有绕WAF,安全纯靠业务逻辑的第版疏忽。 这本书第二版跟第一版最大的白帽区别,是安全它不再只盯着漏洞本身。吴翰清把安全拆成了“道”和“术”两层。第版术是白帽SQL注入、CSRF、安全文件上传这些具体攻防,第版道是安全世界观——你得先理解浏览器怎么解析HTML、HTTP协议怎么传递状态、同源策略为什么存在,才能明白漏洞为什么长那样。很多人学安全直接跳进工具堆里,Burp Suite玩得溜,但问他“为什么Cookie要设HttpOnly”,答不上来。这本书逼你回到原点。 浏览器安全那一章值得反复翻。同源策略不是铁板一块,它有一堆例外: XSS部分写得最细。反射型、存储型、DOM型,分类不新鲜,但书里花了大篇幅讲“XSS的利用方式”。很多人以为XSS就是弹个alert,实际上它能干的事多了:偷Cookie、劫持会话、发起CSRF、键盘记录、甚至结合浏览器漏洞提权。吴翰清写了一句我到现在都记得的话——“XSS是Web安全的头号大敌”,不是因为它难防,而是因为它太容易出,输出点太多,开发者一不留神就中招。 SQL注入那章反而写得克制。因为到了第二版出版的年代,预编译语句已经普及,注入的门槛被抬高了不少。但书里提醒了一点:预编译不是万能药,表名、列名、ORDER BY后面的字段没法参数化,这些地方照样能注入。这个观察很实在,不是教科书式的“用预编译就安全了”。 CSRF的防御思路书里讲得清楚:Token、Referer校验、SameSite Cookie。但吴翰清加了一句,Token如果没绑定用户会话,照样能被绕过。这种细节才是实战里踩过的坑。SameSite属性后来被浏览器默认设为Lax,CSRF的攻击面小了很多,但书里成书时还没这回事,所以它给的方案偏保守,反而更通用。 文件上传漏洞那节有个观点挺犀利:很多开发者只检查Content-Type,但攻击者可以伪造;只检查后缀名,但Apache可能把 第二版新增了“安全运营”和“业务安全”两块。吴翰清在阿里待过,知道光修漏洞不够,还得有应急响应、日志审计、风控体系。业务安全那章讲刷单、薅羊毛、垃圾注册,这些不是传统Web漏洞,但造成的损失可能更大。他提了一个思路:安全要跟业务指标挂钩,否则永远拿不到资源。这话听着像职场生存指南,但确实是实话。 整本书的写法是“先讲原理,再讲攻击,最后讲防御”,但每一章的节奏不一样。有的章先甩代码,有的章先讲故事。吴翰清的文字不端着,偶尔还自嘲一下。比如讲“安全是一个持续过程”时,他说“别指望买个WAF就万事大吉”,这种话在正式教材里很少见。 如果你只读一本Web安全入门书,这本可以。但它不是速查手册,更像一本需要边读边动手验证的教材。书里的代码示例有些已经过时,PHP版本、浏览器行为都变了,但思路没过时。安全的核心从来不是工具,是理解系统怎么运转,然后找到它运转时露出的缝隙。document.domain可以放宽,CORS可以绕过,JSONP天生就是跨域通道。吴翰清把这些口子一个个列出来,配上攻击场景。我印象里有个例子是Flash的跨域策略文件crossdomain.xml配置成*,结果任意站点都能读用户数据。这种配置错误到今天依然常见,只不过Flash换成了各种API网关。.php.jpg解析成PHP。书里给的方案是白名单加随机文件名加重命名,再配合Web容器配置。这套组合拳到现在也不过时。
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-