标签: secure-coding

.splintrc预处理器指令-D中的WhiteSpaces

我想splint在debian稳定的环境中运行我的一些源代码.
我需要给出预处理器指令-DUINT16_T='unsigned short',因为我经常需要它.我想将它放在我的.splintrc文件中.
从命令行运行时,splint -DUINT16_T='unsigned short' mysource.c它运行良好.如果将此行移动到我的.splintrc文件中

-DUINT16_T='unsigned short'
-I/usr/local/include/
Run Code Online (Sandbox Code Playgroud)

splint调用导致

Cannot list files in .splintrc files:
                                 short' (probable missing + or -)
  A flag is not recognized or used in an incorrect way (Use -badflag to inhibit
  warning)
Run Code Online (Sandbox Code Playgroud)

有人有解决方案吗?(请不要别名).

为了进行更深入的讨论,我将提供一个mnwe(最小的不工作示例)hello.c,这可能会有所帮助:

#include <stdio.h>

int main (void)
{
  UINT16_T returnvalue=0;
  printf ("Hello, world!\n");
  return returnvalue;
}
Run Code Online (Sandbox Code Playgroud)

命令gcc -DUINT16_T='unsigned short' hello.c运行良好 - splint -DUINT16_T='unsigned short' hello.c …

debian whitespace splint secure-coding preprocessor-directive

6
推荐指数
1
解决办法
215
查看次数

使用 java.io.File.createTempFile 时 Veracode 不安全临时文件错误

我需要创建一个临时文件并将一些数据存储到其中。为此,我编写了以下代码:

import org.apache.commons.lang.RandomStringUtils;
import java.security.SecureRandom;

[...]

String random = RandomStringUtils.random(10, 0, 0, true, true, null, new SecureRandom());
File tempFile = File.createTempFile("PREFIX-" + random, ".pdf");

[...]
Run Code Online (Sandbox Code Playgroud)

它确实工作得很好,但是当我将此代码提交给Veracode 时,出现“不安全的临时文件(CWE ID 377)”错误。我认为使用SecureRandom会使临时文件名无法被攻击者预测。

在不使 Veracode 不满意的情况下生成临时文件的正确方法是什么?

java security file secure-coding veracode

6
推荐指数
1
解决办法
1841
查看次数

CheckMarx 中等严重性警告 - 启动时的 HttpOnly cookie

CheckMarx 正在标记一个错误,对我来说这看起来像是误报。我们的应用程序是用 C# 编写的,并使用 ASP.NET Core。

错误是:

Web 应用程序的 Startup 方法在 Startup.cs 的第 22 行创建一个 cookie Startup,并在响应中返回它。但是,应用程序未配置为自动设置具有“httpOnly”属性的 cookie,并且代码未显式将此添加到 cookie。

这是第 22 行:

public class Startup
Run Code Online (Sandbox Code Playgroud)

我们确实正确设置了 cookie 策略:

app.UseCookiePolicy(new CookiePolicyOptions
{
    HttpOnly = Microsoft.AspNetCore.CookiePolicy.HttpOnlyPolicy.Always
});
Run Code Online (Sandbox Code Playgroud)

但 CheckMarx 仍在标记此警告。而且我不认为我的 Startup 类会创建一个名为 Startup 的 cookie。

我在这里找到了类似的帖子(未答复) - https://github.com/Azure/azure-functions-vs-build-sdk/issues/469

那么这是误报吗?我如何让 CheckMarx 停止标记它?

c# secure-coding checkmarx asp.net-core

6
推荐指数
2
解决办法
1万
查看次数

PHP安全会话登录-最佳实践

作为我的网络应用程序的一部分。这是我正在考虑的一些代码(我不是最好的PHP程序员,但我为项目编写自己的应用程序):

// Start session
session_start();
// Is the user already logged in?
if (isset($_SESSION['username'])) {
    header('Location: members-only-page.php');
}
Run Code Online (Sandbox Code Playgroud)

我想知道,如果我的登录结构是这样,是否安全。

我正在使用MD5(); 但是我对脚本使用的整个$ _session [“ user”] =“ 1”方法并不完全满意;当然,像vBulletin这样的人不会这样做吗?

感谢答复。我什至还没有想到过将其作为Ajax的想法!

更新-我的方法的伪代码。一切都在SSL上。

// vars
login string post
password string post

// validation aside from ajax now
login string is empty
redirect to login form with error
password string is empty
redirect to login form with error

// mysql
escape strings
clean html strings

mysql connect external mysql server
if …
Run Code Online (Sandbox Code Playgroud)

php session secure-coding

5
推荐指数
1
解决办法
7640
查看次数

如何安全删除文件?

有没有Gem或者在Ruby中安全地擦除文件的方法?我想避免系统中可能没有的外部程序.

通过"安全擦除",我指的是覆盖文件内容.

ruby secure-coding

5
推荐指数
1
解决办法
522
查看次数

如何在PHP中将页面重定向到https?

我有一个登录表格:

<form method =POST action="/login.php">
...
</form>
Run Code Online (Sandbox Code Playgroud)

我希望login.php页面重定向到使用https.

我不想发送用户,https://.../login.php因为他们可能会更改链接.但我想在解析登录表单数据并将用户登录之前在服务器端进行重定向.

我发现并举例:

if($_SERVER["HTTPS"] != "on") {
   header("HTTP/1.1 301 Moved Permanently");
   header("Location: "https://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]);
   exit();
}
Run Code Online (Sandbox Code Playgroud)

但我没有,$_SERVER["HTTPS"]如果我var_dump($_SERVER);

我确实有$_SERVER['SERVER_PORT']女巫是80.

有任何想法吗?

谢谢

php https redirect secure-coding

5
推荐指数
3
解决办法
2万
查看次数

Facebook图片网址-如何防止未经授权的用户访问?

我对社交网络感兴趣,并且偶然发现了一些令我好奇的东西。

Facebook如何使人们避免使用URL并获得他们不应该使用的照片的访问权限?

让我扩展一下,这是我的供稿上显示的一个Facebook图片网址的变体示例,

https://fbcdn-sphotos-ga.akamaihd.net/hphotos-ak-prn1/s480x480/ {five_digit_number} _ {twelve_digit_number} _ {ten_digit_number} _n.jpg

所以,那些拥有更多Web应用程序经验的人大概会知道答案,我怀疑这是众所周知的,但是又是什么阻止我更改数字并看到别人本来不应该看到的照片呢?

[我知道这行不通,我只是想了解他们如何维护安全性并避免此问题]

提前谢谢了,

缺口

security facebook web-applications secure-coding

5
推荐指数
1
解决办法
1499
查看次数

安全API密钥Android

我目前正在开发一个使用Google Blogger API的项目.前天(星期六)有人攻击我的应用程序并获取API密钥,我访问帖子的每日限制是100,000(100K/24小时).我在星期六达到了限制(我怀疑那些是使用我的API密钥进行的欺诈点击,因为我只有4K客户使用该应用程序,我在客户端代码中嵌入了API密钥).

之后,在五分钟内再次达到API限制(24小时后)5K.所以我删除了API密钥并生成了一个新密钥.

我的问题是如何在客户端代码中保护我的新API密钥,以便攻击者无法访问API密钥或至少某些方法间接使用客户端代码中的API密钥.

security api android google-api secure-coding

5
推荐指数
1
解决办法
977
查看次数

Checkmarx Java 修复日志伪造 - 清理用户输入

任何人都可以建议以下 getCourses 方法中 courseType 变量所需的正确清理/验证过程。我正在使用该变量写入日志文件。

我试过 HtmlUtils.HtmlEscape() 但没有得到预期的结果。

谢谢!

@RequestMapping(value = "/retriveCourses", method = RequestMethod.GET)
@ResponseBody
public List<Course> getCourses(@RequestParam(value = "courseType", required = false) String courseType) {

}
Run Code Online (Sandbox Code Playgroud)

java spring-mvc secure-coding spring-boot checkmarx

5
推荐指数
2
解决办法
9139
查看次数

Checkmarx 扫描 - 如何修复 Missing_HSTS_Header 警告?

在我的 Node.js 应用程序上运行 Checkmarx 扫描后,我收到了中等严重性 -> Missing_HSTS_Header的警告。这段代码仅返回metadata.json 文件的内容(突出显示为错误源的是“res.json”)。

const app = express();
app.get('/metadata', (req, res, next) => {
    res.json(JSON.parse(fs.readFileSync(path.join(__dirname, 'metadata.json'), 'utf8')));
});
Run Code Online (Sandbox Code Playgroud)

最初,这看起来很容易解决。例如,在此链接中,我找到了 3 个可能的解决方案 - https://github.com/cloudfoundry-incubator/service-fabrik-broker/issues/445

但问题是这些都不起作用。我尝试使用头盔,我使用了 hsts npm 包,我确实使用此命令在控制台中显式设置了 hsts 代码。

res.setHeader("Strict-Transport-Security", "max-age=31536000");
Run Code Online (Sandbox Code Playgroud)

然而,Checkmarx 仍然在抱怨。其他人也经历过这个吗?如果是,您是否知道可能出了什么问题以及为什么在线发布的所有解决方案都不起作用?谢谢

编辑:在这里,我在 Checkmarx 文档中找到了一种明确的方法,但警告不断出现 - https://github.com/Checkmarx/JS-SCP/blob/master/src/communication-security/ssl-tls.md

javascript node.js secure-coding hsts checkmarx

5
推荐指数
1
解决办法
2万
查看次数