问题标签 [secure-coding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
authentication - 我想弄清楚 cookie/会话变量如何交互以验证用户会话
---我一直在尝试使用 cookie/会话 ID,但在理解这些概念时遇到了一些困难。我正在开发一个 Debian 发行版。使用 Burp 捕获/更改请求/响应。我所知道的如下。
一种。Cookie 存储在客户端计算机数据库的 /root/.mozilla/firefox/pya18ecc.default/cookies.sqlite 中。在 moz_cookies 表中。我正在使用 sqlite3 来访问数据库。
湾。会话变量存储在服务器上的 /var/lib/PHP5 中。
服务器上的 PHP 代码如下
- 当我发送请求(1)时,它看起来像这样。
请求(1)
- response(1) 是一个登录页面(基本 HTTP 身份验证)
回应(1)
----直到这里没有会话ID或cookies的交换。(如果我错了,提示我?)
- 我回复了用户名和密码,请求(2)是
请求(2)
---- 在转发上述请求时,我观察到在转发响应(2)之前,我已经在 /var/lib/PHP5 中收到了 Session id: cl5mi7tbhdnobpv8kkau7thjo6。那是因为服务器已经创建了相同的内容并准备在响应中转发它 (2)
- 响应(2)是
回应(2)
----现在在检查 SELECT * FROM moz_cookies 时,我没有看到任何保存在客户端 m/c 上的 cookie。那么他们在哪里得救呢?(这是我的第一个问题)
- 接下来,我从服务器中删除了会话变量“cl5mi7tbhdnobpv8kkau7thjo6”,并再次点击了客户端浏览器上的刷新按钮。请求(3)/响应(3)如下
请求(3)
回应(3)
-----现在服务器再次在 /var/lib/PHP5 下设置了相同的会话变量。服务器不应该识别会话变量吗?另外,如果由于保存的 Cookie 而发生这种情况,那么为什么我无法在 moz_cookies 表下看到它们.....请解释一下?(这是我的第二个问题)
java - JAVA - 可能的 SQL 注入
所以我有这段代码:
出于教育目的,即使我知道输入来自何处,SQL 语句是否也不会受到 SQL 注入的影响?
google-chrome - SSL 与 Chrome
我正在开发几个我只是安装证书的网站。Chrome(版本 42.0.2311.135 m)报告“此页面正在尝试从未经授权的来源加载脚本”的错误。我在 IE 或 FireFox 中没有收到任何错误。
自从使用 SSL 以来,我似乎对(安全)嵌入式内容的结果好坏参半。
感谢您提供的任何指导。
戴夫
assembly - 出于安全原因学习组装
如果出于安全原因我想学习装配,我应该从哪里开始?我想如果我想避免错误,最好的办法就是知道你在做什么。如果我将有符号整数转换为无符号整数会发生什么。一旦我收到一条奇怪的错误消息,即变量未正确对齐。当时我不知道对齐是什么。
java - 使用 java.io.File.createTempFile 时出现 Veracode 不安全临时文件错误
我需要创建一个临时文件并将一些数据存储到其中。为此,我编写了以下代码:
它确实工作得很好,但是当我将此代码提交给Veracode 时,我收到“不安全的临时文件(CWE ID 377)”错误。我认为使用SecureRandom
会使攻击者无法预测临时文件名。
在不让 Veracode 不高兴的情况下生成临时文件的正确方法是什么?
java - Appscan 源码版 - SQL 注入
我正在使用 Appscan 源代码版本进行 Java 安全编码。它在我的应用程序中报告 SQL 注入。问题是我们在代码中动态生成查询,所以我不能使用准备好的语句。相反,我必须使用 e Esapi.encoder().encodeForSql(new OracleCodec(), query)
。AppScan 不认为这可以缓解 SQL 注入问题。
此代码另外不适用于ESAPI.encoder()
我该如何解决这个问题?
asp.net - 在 ASP.NET 中向开发人员隐藏 ConnectionString
我的老板给了我一个任务。他希望办公室的 ASP.NET 和 C# 开发人员应该远离实时数据库,为此,我必须制作一个 dll,每个 ASP.NET 项目都将引用它,并且 dll 将 SqlConnection 对象提供给项目,但是开发人员不应该通过调试器或任何其他方式读取连接字符串,并且数据访问的所有其他属性应该对用户隐藏,开发人员将在测试环境中工作,但在部署到 live 后,它们将被我的 dll 引用,这将给他们带有隐藏连接字符串的连接对象。
我怎样才能完成这项任务?
python - Python 的安全编码指南
查看 CERT 安全标准(例如:https ://www.securecoding.cert.org ),有一些特定的标准,有很好的和坏的代码的例子,对于 C、C++、Java,甚至 Perl,但不是Python。是否有任何 Python 特定的标准作为指南,最好有可用的示例?
http://www.pythonsecurity.org/似乎关注 Python 本身的安全问题,以及构建替代 Python 二进制文件来解决这些问题。一个崇高但最近不活跃的事业。我正在寻找可以指导开发人员不做什么和做什么的东西。
java - 过滤Java(或Scala)中的向上路径遍历
是否有任何标准库方法可以过滤掉包含特殊遍历序列的路径,例如../
向上目录遍历的所有其他复杂形式,以保护文件路径 API 输入不向上遍历给定的“根”路径?
我有一个包含根文件夹值成员的类,以及一个接受递归删除路径的成员函数。我的目标是使这个 API 安全,过滤掉提供给它的任何输入路径——这将转换为根文件夹值以上的路径。目的是该类将被广泛用于删除根路径下的文件,但它永远不会触及根路径之上的任何内容。
这类似于更广泛的路径遍历攻击。
过于严格的方法(即可能导致误报)可能适用于我的特定用例,如果这可以简化事情,而且我当前的需求是文件系统路径而不是 Web 路径(尽管,等效的 Web 模块清酒理论上可能在这里工作)。
python - Python 字典和使用 pymysql 的参数化 MySQL(安全编码)
我对在 python 中进行数据库驱动的编码非常陌生.. 和 python 也是如此。我正在尝试编写一些代码来获取字典输出,对其进行参数化(以避免将 SQL 注入作为良好做法)并将输出放入 mysql 数据库中的单独列中。代码执行和输出告诉我我的参数化等显然做错了,这主要是我需要帮助的地方。
字典输出如下:
代码如下:
数据库结构如下:
将 try/except 排除在外会显示以下回溯: