secguide icon indicating copy to clipboard operation
secguide copied to clipboard

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

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

修改1.2.1 【必须】logcat 输出限制,修改DEBUG == "debug_version"判断问题,改为boolean

If possible can this great guide be converted in English so that it can cater wider audience

为什么还没有PHP的呢

## 比如: curl%0a1.1.1.1 利用%0a可以绕过命令注入校验!!! ## 正确的解决方案 https://github.com/alessio/shellescape/blob/master/shellescape.go https://pkg.go.dev/github.com/alessio/shellescape#example-Quote ## 过程中的其他思考: 参考PHP中的防范命令注入的两个函数。 PHP对于命令注入漏洞提供了escapeshellarg()和escapeshellcmd()两个函数来进行防御,当然两者针对的场景有区别。 ### escapeshellarg 主要是为了防止用户的输入逃逸出“参数值”的位置,变成一个“参数选项”。 处理过程:如果输入内容不包含单引号,则直接对输入的字符串添加一对单引号括起来;如果输入内容包含单引号,则先对该单引号进行转义,再对剩余部分字符串添加相应对数的单引号括起来。 场景功能: > 1.确保用户只传递一个参数给命令 > 2.用户不能指定更多的参数一个 > 3.用户不能执行不同的命令 ### escapeshellcmd 主要是防止用户利用shell的一些技巧(如分号、管道符、反引号等)来进行命令注入攻击。 处理过程:如果输入内容中 ``` &#;`|*?~^()[]{}$\, \x0A...

1、问题描述 rand类使用srand()初始化也会产生一些逻辑漏洞,比如以下示例: ![image](https://user-images.githubusercontent.com/50074510/142797114-4b83ae35-43c4-4215-ad70-587fdfb6d6af.png) 如果使用该随机数生成验证码时,可能会导致产生生成的随机数相同,从而产生的多个验证码相同,导致逻辑漏洞的产生。 而且rand本身随机性就不高,可直接禁用该函数。 2、解决建议 可以使用libsodium库提供的一组函数,来产生不可预测的数据。可以使用该库的随机数生成函数来生成安全随机数, 如示例(网上copy的,没验证过): #include "sodium.h" int foo() { char myString[32]; int myInt; randombytes_buf(myString, 32); /* myString will be a string of 32 random bytes */...

// Bad char a[4] = {0}; _snprintf(a, 4, "%s", "AAAA"); foo = strlen(a); 上述代码在MSVC中执行后, a[4] == 'A',因此字符串未以0结尾。 这里的a[4]== 'A' 应该改成a[3]=='A'

my first time opening a pull request,希望能被合并 ( •̀ ω •́ )✧

[1.9.3【必须】避免越权访问](https://github.com/Tencent/secguide/blob/main/Python%E5%AE%89%E5%85%A8%E6%8C%87%E5%8D%97.md#193%E5%BF%85%E9%A1%BB%E9%81%BF%E5%85%8D%E8%B6%8A%E6%9D%83%E8%AE%BF%E9%97%AE) 5. 校验当前操作是否账户是否预期账户。

1、问题描述 java 代码安全规范的【1.1.1 条】 SQL语句默认使用预编译并绑定变量 需补充 2、解决建议 应补充下列编码规范: + 在 Mybatis 中除了极为特殊的情况,应禁止使用 $ 拼接sql。 + 所有 Mybatis 的实体bean对象字段都应使用包装类,防止 null 的二义性问题。 ```java // 数据搜索时,编码注意要点 // 1)校验搜索数据的业务逻辑:例如搜索用户手机号,应限制输入数据只能输入数字,防止出现搜索英文或中文的无效搜索 // 2)mybatis预编译不会转义 % 符号,应阻止用户输入 %...