代码审计--47--新篇章之SQL代码审计(二)

本篇介绍了以下代码安全问题
1、硬编码加密密匙
2、空密码
3、硬编码密码
4、null密码
5、不安全的随机数
6、侵犯隐私
7、未指定的标识符
8、重定向
9、调用xp_cmdshell
10、调用EXEC_DDL_STATEMENT

1、硬编码加密密匙

详细信息

请勿对加密密钥进行硬编码,因为这样所有项目开发人员都能查看该加密密钥,而且还会大大增加解决问题的难度。一旦代码被使用,除非对软件进行修补,否则加密密钥将再也不能更改。如果受加密密钥保护的帐户遭受入侵,系统所有者将被迫在安全性和可用性之间做出选择。

任何可访问该代码的人都能访问加密密钥。一旦应用程序发布,除非对程序进行修补,否则将无法更改加密密钥。员工可以利用手中掌握的信息访问权限入侵系统。更糟糕的是,如果攻击者可以访问应用程序的可执行文件,就可以提取加密密钥值。

修复建议

避免对加密秘钥进行硬编码。

2、空密码

详细信息

为密码变量指定空字符串绝非一个好方法。如果使用 empty password 成功通过其他系统的验证,那么相应帐户的安全性很可能会被减弱,原因是其接受了 empty password。如果在为变量指定一个合法的值之前,empty password 仅仅是一个占位符,那么它将给任何不熟悉代码的人造成困惑,而且还可能导致出现意外控制流路径方面的问题。

示例:以下代码可初始化 empty password 变量。

DECLARE
    password VARCHAR(

猜你喜欢

转载自blog.csdn.net/wutianxu123/article/details/103516557