掌握安全编码最新动态,保持领先
网络威胁形势瞬息万变,保持领先地位比以往任何时候都更为重要。通过一系列视频、博客和实用的安全编码指南,我们能助您紧跟前沿,从容应对未来挑战。

我们最新的安全编码指南。
使用存在已知漏洞的组件
{
"dependencies": {
"foo": "1.0.0 - 2.9999.9999",
"bar": ">=1.0.2 <2.1.2"
}
}
大多数应用程序都会使用大量的第三方组件。这些组件涵盖了从日志记录、模板引擎到数据库访问等方方面面的功能,不仅简化了软件开发流程,还节省了大量时间。但由于这些组件由人工编写,难免会存在漏洞。请阅读本指南以了解更多详情。
SQL 注入
import mysql.connector
db = mysql.connector.connect
#不良实践。请避免使用!仅供学习参考。
(host="localhost", user="newuser", passwd="pass", db="sample")
cur = db.cursor()
name = raw_input('Enter Name: ')
cur.execute("SELECT * FROM sample_data WHERE Name = '%s';" % name) for row in cur.fetchall(): print(row)
db.close()
SQL 注入 (SQLi) 通过将代码注入 SQL 语句,从而攻击应用程序并窃取重要信息。这是一种常见的 Web 安全漏洞,也是黑客操纵数据库并从中提取关键信息最常用的手段。

安全配置错误
许多框架还提供了一组可启用的端点,用于监控应用程序,无论是在生产环境还是测试/开发环境中。这些端点包括:
指标 (Prometheus)
日志
环境信息
路径/URL 映射
安全配置错误是一个涵盖范围较广的术语,指的并非代码缺陷,而是由应用程序配置设置不当所引发的常见漏洞。这是一个涉及面很广的主题,且在很大程度上取决于您的技术栈等因素。解决这些问题看似简单,往往只需修改配置文件或单行代码,但这些漏洞可能带来的影响和后果却十分严重。阅读我们的指南,深入了解该漏洞及其缓解措施。
服务端请求伪造
ts
let url = request.params.url;
let response = http.get(url);
let render = response.render();
return render.export();
当用户能够诱导应用程序向攻击者指定的域名发起 HTTP 请求时,就会产生服务端请求伪造漏洞。如果应用程序可以访问私有或内部网络,攻击者还可能诱导其向内部服务器发起请求。本指南将通过一些示例深入探讨此类漏洞,帮助您更好地理解其运作方式。