安全漏洞大揭秘:手把手教你轻松防止SQL注入( 四 )
文章插图
安全漏洞大揭秘:手把手教你轻松防止SQL注入!
详细信息如下:
Call to a dangerous methodStockDataInserter.java (96): getJdbcTemplate().update(sql); *** Tainted data: SQL
追溯到先前发现源污染数据(来自应用程序外部的未经检查、未经验证的输入)的位置:
Tainting pointStockDataInserter.java (47): return getJdbcTemplate().query(SQL, newResultSetExtractor
() { *** Tainted data:getJdbcTemplate().query(SQL, new ResultSetExtractor
在与SQL注入的持续斗争中 , 开发人员需要认真对待这些警告 。 在SQL查询中任何使用未经验证的数据都是严重的风险 。 即使当前的形式可能不是一个特定的警告问题 , 以后的重构也可能会暴露这些漏洞 。 检查查询字符串中使用的所有数据!
实际上 , 开发人员应验证来自应用程序外部的任何数据 , 以确保它们符合预期的格式和内容 。 转向“始终验证”的理念以及依靠安全编码而不是安全测试的过程会大大提高应用程序的安全性 。 开始加强代码 , 以防止SQL注入首先被封装 。
何时以及如何防止SQL注入
防止SQL注入的理想时间和地点是开发人员在其IDE中编写代码时 。 采纳安全编码标准(例如C和C++的SEI CERT C和Java和.NET的OWASP Top 10或CWE Top 25)的团队都具有警告未验证SQL查询输入的准则 。
在新创建的代码上运行静态分析既快速又简单 , 并且很容易集成到CI/CD流程中 。 在现阶段调查所有安全警告和不安全的编码做法是一个好习惯 , 以防止将此代码写入到内部版本中 。
文章插图
安全漏洞大揭秘:手把手教你轻松防止SQL注入!
检测不良编码实践的同等重要的部分是报告的实用性 。 重要的是要能够理解静态分析违规的根本原因 , 以便快速、有效地解决它们 。 这就是Parasoft的C/C++test , dotTEST和Jtest等商业工具的发源地 。
Parasoft的自动测试工具可对警告进行完整跟踪 , 在IDE中进行说明 , 并连续收集构建信息和其他信息 。 这些收集的数据以及测试结果和指标可提供对团队编码标准合规性的全面了解 。 它还显示了总体质量和安全状态 。
这些报告包括风险模型 , 这些模型是OWASP , CERT和CWE提供的信息的一部分 。 这样 , 开发人员可以更好地了解该工具报告的潜在漏洞的影响以及应优先考虑哪些漏洞 。 在IDE级别生成的所有数据都与上面概述的下游活动相关 。
总结臭名昭著的SQL注入漏洞继续困扰着Web应用程序 。 尽管知道它是如何工作和可以被利用的 , 但它仍然很普遍 。 有关最新示例 , 请参见IoT Hall of Shame 。
我们提出一种预防和检测方法来补充主动安全测试 。 这种方法可防止在写入代码之前尽早在SDLC中进行SQL注入 。 防止在IDE上进行SQL注入并在CI/CD管道中检测到它们是将其路由到软件之外的关键 。 最后 , 在使用渗透测试技术的测试过程中查找并修复这些错误 。
与SQL注入(以及其他受污染数据的利用)的斗争仍在继续 。 精明的团队可以在他们现有的工作流程中以正确的流程、工具和自动化扭转局面 。
文章插图
安全漏洞大揭秘:手把手教你轻松防止SQL注入!
【安全漏洞大揭秘:手把手教你轻松防止SQL注入】点击“了解更多”申请免费试用
- 手把手教你挑选大大大大屏的投影仪
- 手把手教你用python编程写一款自己的音乐下载器
- 手把手教你AspNetCore WebApi:Serilog
- 今天才知道,原来手机就能给视频添加字幕,手把手教会你
- 大揭秘!联想手机从昔日巅峰走到如今只剩品牌躯壳
- 「爬虫四步走」手把手教你使用Python抓取并存储网页数据
- 图解|零拷贝Zero-Copy技术大揭秘
- 深度揭秘!华强北2000块的iPhone 11竟然是组装机
- "谣言"大揭秘:新能源车自燃率高?实际起火概率远低于燃油车!
- 【权威发布】近日重点网络安全漏洞情况摘报