|
《Web应用安全权威指南》这本被人翻烂了封面的渗透书籍书,我买过三本。测试第一本被前同事借走,渗透书籍第二本掉进了浴缸,测试第三本现在躺在我桌上,渗透书籍书脊用透明胶带缠了两圈。测试德丸浩写这本书的渗透书籍时候,大概没想到会有人拿它当渗透测试的测试入门砖——它原本是给开发人员看的。但恰恰因为这一点,渗透书籍它比那些一上来就教你敲命令的测试“实战手册”管用得多。你得先知道一个网站是渗透书籍怎么正常运转的,才能找到让它不正常运转的测试办法。 很多人挑渗透测试的渗透书籍书,第一反应是测试找Kali Linux相关的。我理解这种冲动。渗透书籍工具跑起来,扫描器一转,漏洞列表一拉,好像自己已经是个黑客了。但现实里我见过太多拿着Burp Suite发呆的人——他们不知道要改哪个参数,不知道这个请求为什么值得重放。工具是手的延伸,可手得先长在胳膊上。所以我的书架上,工具书和原理书的比例大概是一比三。 《渗透测试实践指南》是另一本绕不开的。它有个特点:每个章节都围绕一个具体的攻击场景展开,比如“攻破一台暴露在公网的老旧Tomcat”。这种写法很讨喜,因为你能看到完整的攻击链——从信息收集到拿到shell,中间踩了什么坑,为什么换了一种编码方式就绕过了WAF。我印象最深的是作者在讲文件上传漏洞时,花了整整四页写他怎么把一个jsp文件伪装成图片,试了七种方法才成功。这种细节,扫描器报告里永远不会告诉你。 不过要说真正让我改变工作方式的,是《The Hacker Playbook 3》。这本书的写法很“野”,作者Peter Kim直接把自己的红队笔记整理成册,语言粗糙,有些地方甚至前后矛盾。但它真实。比如他讲如何用Cobalt Strike做横向移动,中间夹了一句“这里我搞砸了,把域控搞蓝屏了,客户差点报警”。这种内容在正式出版物里很少见,可它恰恰是渗透测试的日常——你不是每次都能优雅地拿到域管权限,更多时候是在一堆报错里找那条能走通的路。 国内出的渗透测试书,我翻过不少,能留在手边的只有两三本。《白帽子讲Web安全》算一本,道哥写的东西有股“过来人”的实在劲。他在讲XSS的时候没有堆砌payload,而是从浏览器解析HTML的流程讲起,告诉你为什么这个字符会被当成标签,那个属性为什么能执行脚本。读完之后,你再看那些绕过技巧,就不再是死记硬背了。另一本是《Web安全深度剖析》,作者张炳帅,书里对SQL注入的讲解是我见过最细的,连不同数据库的报错信息差异都列了表格。这种书适合放在手边当字典查,不适合通读——通读会累,信息密度太高。 买书这件事,我有个偏见:尽量买近三年内出版的。渗透测试这个领域,技术栈更新太快。一本2015年的书可能还在教你用sqlmap的某个参数,而那个参数在2018年就被移除了。但原理性的书例外,比如《黑客攻防技术宝典:Web实战篇》,Dafydd Stuttard和Marcus Pinto写的,第一版是2008年,现在看依然不过时。因为HTTP协议没变,同源策略没变,人的疏忽也没变。我最近还在翻它讲“逻辑漏洞”的那一章,每次都有新收获。 最后说一本冷门的:《渗透测试:绕过安全防护》。这本书不厚,两百来页,但专门讲怎么对付WAF、IPS和EDR。作者是个俄罗斯人,名字我拼不出来,但书里那些绕过技巧很实用——比如用分块传输编码把payload拆开,或者利用HTTP/2的头部压缩特性。这些内容在主流书里很少单独成章,可实际工作中,你面对的往往不是裸奔的靶机,而是层层防护的真实系统。这本书的缺点是例子偏Windows环境,Linux下的场景要靠自己举一反三。 书终究是书。我认识一个做渗透测试的朋友,他几乎不买书,所有知识来自靶场和CVE复现。这也没问题。但如果你像我一样,喜欢在动手之前先看看别人是怎么想的、怎么错的、怎么绕过去的,那上面这几本值得翻翻。别指望一本书能让你变成高手,它顶多让你少走几步弯路。剩下的路,得自己对着终端敲出来。 |