secguide icon indicating copy to clipboard operation
secguide copied to clipboard

面向开发人员梳理的代码安全指南

Results 40 secguide issues
Sort by recently updated
recently updated
newest added

2.4 【必须】返回栈上变量的地址 这里是不是少了一个不

1、问题描述 java 代码安全规范的【1.6 】 OS命令执行 需修改 2、解决建议 应修改下列编码建议: 或过滤转义以下符号:|;&$> < ` ' " ! ? # 主要增加一些ctf里,命令执行绕过的技巧中用到的特殊符号

组合使用 cppcheck pvs-studio JetBrains.ReSharper 基本可以发现大多数问题。

对用户输入数据绑定到对象时如不做限制,可能造成攻击者恶意覆盖用户数据 脆弱代码: ``` @javax.persistence.Entity class UserEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String password; private Long role; } @Controller class UserController { @PutMapping("/user/") @ResponseStatus(value...

1、问题描述 建议采用随机盐+明文密码进行多轮哈希后存储密码。 2、解决建议 【必须】随机盐必须是符合密码学安全的随机数。禁止使用Random类生产。 【必须】随机盐的长度不能太短,建议至少256比特。 【建议】盐值至少和哈希函数的输出一样长 【必须】每次使用的盐必须随机化和一次性,禁止使用共享的随机盐,注册或者修改密码时,都应该使用新的盐值进行加密。 【必须】使用哈希函数必须是sha256或以上 【建议】建议使用受业界认可的慢哈希算法 【建议】多轮的次数应该充分多 【建议】可以记录多轮的次数和加密算法,以便进行后续的维护升级

1、问题描述 1.8.3【建议】哈希算法推荐使用SHA256或更高级别的哈希算法,已获得金融级别的安全保证。 综合国密、中国金融移动支付相关规范、等保2.0、等保3.0等相关规范,建议安全认证的使用哈希算法至少SHA256和以上。 2、解决建议 1.8.3【建议】哈希算法推荐使用SHA256或更高级别的哈希算法 3 参考 中国金融移动支付

1、问题描述 java 代码安全规范的【1.4条】1.4 XML读写 需补充 2、解决建议 应补充下列编码规范: ```java // XStream安全编码示例 XStream xStream = newXStream(); // 开启安全模式,安全模式采用白名单限制输入的数据类型 XStream.setupDefaultSecurity(xStream); // 在白名单内添加一些基本数据类型 xstream.addPermission(NullPermission.NULL); xstream.addPermission(PrimitiveTypePermission.PRIMITIVES); xstream.allowTypeHierarchy(Collection.class); // 在白名单内添加一个包下所有的子类 xstream.allowTypesByWildcard(new String[] { Blog.class.getPackage().getName()+".*" }); ```

内容: 1、问题描述 Java安全指南 1.10.1节的CSRF内容不够完善,需补充 2、解决建议 增加了对GET请求、Samesite Cookie的描述

1、问题描述 java 代码安全规范的【1.8.1 条】 对称加密 需修改 2、解决建议 应修改下列编码建议: 建议使用AES,秘钥长度256位以上 (多个行业都要求aes最低为256位)

如果应用程序未正确校验用户输入的数据,则恶意用户可能会破坏应用程序的逻辑以执行针对客户端或服务器端的攻击。 脆弱代码1: ``` // 攻击者可以提交 lang 的内容为: // en&user_id=1# // 这将使攻击者可以随意篡改 user_id 的值 String lang = request.getParameter("lang"); GetMethod get = new GetMethod("http://www.host.com"); // 攻击者提交 lang=en&user_id=1#&user_id=123 可覆盖原始 user_id 的值 get.setQueryString("lang=" +...