一份精选的应用程序安全学习资源列表。包含书籍、网站、博客文章和自评测验。
由 Paragon Initiative Enterprises 维护,并得到应用程序安全社区和开发者社区的贡献。我们还有 其他社区项目 ,可能对未来的应用程序安全专家有所帮助。
如果你是软件安全主题的绝对新手,你可能会从阅读 应用程序安全温和入门 中受益。








发布日期:2014年2月25日
关于密码学安全伪随机数生成器的建议。
发布日期:2014年8月6日
一篇发布于 Crackstation 的文章,这是 Defuse Security 的一个项目。
发布日期:2014年5月3日
提到许多使 /dev/urandom 在Linux/BSD上失败的方法。
发布日期:2015年6月21日
经营企业需要具有成本意识并尽量减少不必要的开支。确保应用程序安全的收益对大多数公司来说是隐形的,因此它们常常作为节省成本的手段而忽视对安全软件开发的投入。这些公司没有意识到的是,一次本可预防的数据泄露可能造成的潜在成本(包括财务和品牌声誉)。
平均一次数据泄露造成数百万美元的损失。
对大多数公司而言,投入更多时间和人员来开发安全软件是值得的,可以最大限度地降低这一不必要的底线风险。
发布日期:2015年3月25日
任何想要自行构建加密功能的人都必须阅读。
Web应用黑客手册 (2011)发布日期:2011年9月27日
Web应用程序安全方面很好的入门书;尽管略有陈旧。
密码学工程 (2010)发布日期:2010年3月15日
培养专业偏执感,同时呈现加密设计技术。
保护DevOps (2018)发布日期:2018年3月1日
《保护DevOps》探讨了如何将DevOps和安全技术结合起来,使云服务更安全。这本入门书回顾了保护Web应用程序及其基础设施的现行最佳实践,并教你如何将安全直接集成到产品中。
灰帽Python:黑客与逆向工程师编程 (2009)发布日期:2009年5月3日
软件安全评估的艺术:识别与预防软件漏洞 (2006)发布日期:2006年11月30日
C接口与实现:创建可重用软件的技术 (1996)发布日期:1996年8月30日
逆向工程揭秘 (2005)发布日期:2005年4月15日
JavaScript语言精粹 (2008)发布日期:2008年5月1日
Windows内核:包括Windows Server 2008和Windows Vista,第五版 (2007)发布日期:2007年6月17日
Mac黑客手册 (2009)发布日期:2009年3月3日
IDA Pro宝典:世界最流行反汇编器非官方指南 (2008)发布日期:2008年8月22日
TCP/IP详解卷II:ANSI C版:设计、实现与内核(第三版) (1998)发布日期:1998年6月25日
网络算法学:设计快速网络设备的跨学科方法 (2004)发布日期:2004年12月29日
计算结构(MIT电气工程与计算机科学) (1989)发布日期:1989年12月13日
秘密软件:软件保护的混淆、水印与防篡改 (2009)发布日期:2009年8月3日
发布日期:2015年3月1日
发布日期:2020年11月1日
防弹SSL与TLS (2014)发布日期:2014年8月1日
发布日期:2016年9月17日
三卷丛书的第一部分,全面深入地介绍Web开发者和架构师需要了解的内容,以创建健壮、可靠、可维护且安全的软件、网络等,并能够持续、按时交付,没有任何意外。
三卷丛书的第二部分,全面深入地介绍Web开发者和架构师需要了解的内容,以创建健壮、可靠、可维护且安全的软件、VPS、网络、云和Web应用程序,并能够持续、按时交付,没有任何意外。
由佛罗里达州立大学的Owen Redwood讲授的漏洞研究与利用开发课程。
务必查看 讲义!
源于纽约大学理工学院旧的渗透测试与漏洞分析课程,《黑客之夜》是对攻击性安全的清醒介绍。在十三周内,学生将接触到大量复杂的技术内容,内容涵盖广泛,沉浸式主题丰富。
通过尝试黑客攻击这个网站来学习应用程序安全。
黑客和安全专家前来训练的地方。
Web应用程序安全自评测验。
多种语言/框架中的安全密码。
安全新闻来源列表。
关于底层x86编程、黑客攻击和取证的视频课程。
夺旗赛 - 学习汇编和嵌入式设备安全。
一系列编程练习,供自学密码学,由 Matasano Security 开发。介绍文章 由Maciej Ceglowski撰写,解释得很好。
一个故意不安全的 JavaScript Web 应用程序。
如何在在线攻击者之前主动出击。
故意易受 OWASP Top 10 攻击的 Node.JS Web 应用程序,附带 教程、使用 OWASP Zap API 进行安全回归测试、Docker 镜像。提供多种选项以快速启动和运行。
双周 Appsec 教程
OWASP ServerlessGoat 是一个故意不安全的现实 AWS Lambda 无服务器应用程序,由 OWASP 维护,由 PureSec 创建。您可以安装 WebGoat,了解漏洞、如何利用它们以及如何修复每个问题。该项目还包括文档,解释问题以及如何使用最佳实践进行修复。
SecDim 是一个 appsec 寓教于乐平台,通过免费的基于 Git 的实验室 学习 appsec。认为你有能力构建安全应用程序?通过 appsec 游戏 挑战自己!修复错误,获得分数并在排行榜上留下名字。
展示糟糕的密码学
NCC Group 的博客,前身为 Matasano、iSEC Partners 和 NGS Secure。
学习安全性和性能。
发布: 2018年7月30日
密码学公司的博客,该公司制作开源库和工具,并描述应用程序和基础设施的实用数据安全方法。
Web 应用程序中最常见和关键的十大安全漏洞。
著名的 SSL 和 TLS 工具套件。
快速轻松地评估 HTTP 响应标头的安全性。
免费的 CSP 和 HPKP 报告服务。
测试和学习点击劫持。制作点击劫持 PoC、截图并分享链接。您可以测试 HTTPS、HTTP、内网和内部站点。
FunctionShield 是一个 100% 免费的 AWS Lambda 安全和 Google Cloud Functions 安全库,使开发者能够轻松地在无服务器运行时上强制执行严格的安全控制。
发布: 2015年2月24日
一个社区维护的 Wiki,详细说明 Android 开发的安全编码标准。
发布: 2006年5月24日
一个社区维护的 Wiki,详细说明 C 编程的安全编码标准。
发布: 2025年2月22日
提供通过安全编码改进软件安全的指南。涵盖常见的编程语言和库,并重点关注具体推荐。
发布: 2006年7月18日
一个社区维护的 Wiki,详细说明 C++ 编程的安全编码标准。
Security Driven .NET (2015)发布: 2015年7月14日
针对 .NET Framework 4.5 版本开发安全应用程序的入门指南,特别涵盖密码学和安全工程主题。
发布: 2020年5月5日
包含 OWASP Top 10 漏洞的 Clojure 示例的仓库。
发布: 2017年8月3日
管理内存中敏感数据的指南。
发布: 2007年1月12日
一个社区维护的 Wiki,详细说明 Java 编程的安全编码标准。
发布: 2014年4月2日
直接来自 Oracle 的安全 Java 编程指南。
发布: 2015年10月13日
涵盖开发安全 Node.js 应用程序的许多有用信息。
发布: 2020年6月17日
用于保护基于 Electron.js 应用程序的精选资源列表。
Essential Node.js Security (2017)发布: 2017年7月19日
动手实践且源代码丰富,是保护 Node.js Web 应用程序的实用指南。
^Lift Security 安全培训向领导 Node Security Project 的团队学习。
BinaryMist 安全培训我们举办多种类型的信息安全培训,涵盖物理、人员、VPS、网络、云、Web 应用程序。大部分内容来源于 Kim 多年来一直在编写的 系列书籍。更多信息请点击 这里。
发布: 2014年11月28日
PHP 应用程序中时序攻击的温和介绍。
发布: 2015年4月21日
讨论密码策略、密码存储、“记住我” cookie 和帐户恢复。
发布: 2013年4月22日
Padriac Brady 关于构建不易受 XSS 攻击的软件的建议。
发布: 2011年11月23日
尽管本文已有几年历史,但随着我们走向 PHP 7,其许多建议仍然相关。
发布: 2014年6月16日
@timoh6 解释在 PHP 中实现数据加密。
发布: 2014年5月26日
TL;DR - 不要转义,请使用预准备语句!
发布: 2015年8月7日
常见误用密码学术语和基本概念的人类可读概述,附有 PHP 示例代码。
如果你对密码学术语感到困惑,从这里开始。
发布: 2015年8月2日
讨论端到端网络层加密(HTTPS)以及静态数据安全加密的重要性,然后介绍了开发者应根据具体用例使用的特定密码学工具,无论他们使用 libsodium、Defuse Security 的安全 PHP 加密库 还是 OpenSSL。
发布: 2017年12月12日
本指南应作为电子书《PHP:正确之道》的补充,重点强调安全性,而不是一般的 PHP 程序员主题(如代码风格)。
Securing PHP: Core ConceptsSecuring PHP: Core Concepts 作为一些最常见安全术语的指南,并提供它们在日常 PHP 中的示例。
你不需要拥有应用密码学博士学位来构建安全的 Web 应用程序。Libsodium 应运而生,它允许开发者无需了解流密码是什么,就能开发快速、安全、可靠的应用程序。
PHP 应用程序的对称密钥加密库。(推荐 优于自己实现!)
如果你使用 PHP 5.3.7+ 或 5.4,请使用此库进行密码哈希。
用于生成随机字符串或数字。
安全的 OAuth2 服务器实现。
PHP 7 提供了一组新的 CSPRNG 函数:random_bytes() 和 random_int()。这是一个社区努力,在 PHP 5 项目中暴露相同的 API(向前兼容层)。采用宽松的 MIT 许可。
一个安全的认证和授权库,实现了基于角色的访问控制和 Paragon Initiative Enterprises 关于安全“记住我”复选框的建议。
一个可移植的公共领域密码哈希框架,用于 PHP 应用程序。
websec.io 致力于教育开发者有关安全的知识,涉及一般安全基础、新兴技术和 PHP 特定信息。
我们位于佛罗里达州奥兰多的技术和安全咨询公司的博客。
关于 PHP、安全、性能和常规 Web 应用程序开发的博客。
Pádraic Brady 是一位 Zend Framework 安全专家。
关于 PHP、安全和社区的每周通讯。
发布: 2011年1月10日
一个社区维护的 Wiki,详细说明 Perl 编程的安全编码标准。
列出了应避免的标准库功能,并引用了其他章节中 Python 特定的部分。
Black Hat Python: Python Programming for Hackers and PentestersJustin Seitz 的《Black Hat Python》(NoStarch Press 出版)是一本攻防安全思维的好书。
Violent Python《Violent Python》向你展示如何从理论理解攻击性计算概念转向实际实现。
发布: 2014年6月21日
由 OWASP Python 安全项目维护的 Wiki。
发布: 2014年3月10日
Fedora 安全团队编写的安全 Ruby 开发指南。也可在 Github 上获取。






