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 停止标记它?
任何人都可以建议以下 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) 在我的 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
我希望使用 html2canvas 库制作一个 div 的图像并将其放入另一个 div 中。到目前为止,它在 Safari、Chrome 和 Firefox 中运行得很好,但在 IE 中则不然(11 是我现在唯一关心的版本)。
我正在使用来自另一个 Stackoverflow 问题的 jsfiddle 中的代码来应用它:
var aaaDiv=document.getElementById('aaa');
var ttDiv=document.getElementById('tt');
html2canvas(aaaDiv).then(function(canvas) {
// assign id:avatarCanvas to canvas
canvas.id='avatarCanvas';
// append canvas to ttDiv
ttDiv.appendChild(canvas);
Run Code Online (Sandbox Code Playgroud)
});
https://jsfiddle.net/m1erickson/wtchz972/
我听说 IE 不喜欢“appendChild”,但我不知道如何从那里开始。
javascript internet-explorer html2canvas internet-explorer-11
在 Java 中,在下面的行中:
TypedQuery<T> query=entityManger.createQuery(queryString, clazz);
List<T> result =query.getResultList();
Run Code Online (Sandbox Code Playgroud)
也就是说,变量结果需要正确过滤或编码,否则可能会引发跨站脚本攻击。
我已经使用了HtmlUtils.htmlEscape(queryString)String 对象。
任何帮助和建议将不胜感激。谢谢
checkmarx ×4
java ×2
javascript ×2
asp.net-core ×1
c# ×1
hsts ×1
html2canvas ×1
node.js ×1
spring-boot ×1
spring-mvc ×1
xss ×1