标签: websecurity

禁用相同的源策略Internet Explorer

Chrome允许我们禁用相同的原始策略,因此我们可以测试跨源请求.我想知道是否有可能在IE中做同样的事情

internet-explorer cors websecurity

36
推荐指数
2
解决办法
7万
查看次数

Cookie“PHPSESSID”将很快被视为针对 <file> 的跨站点 cookie,因为方案不匹配

我刚刚注意到我的控制台上到处都是这个警告,出现在每个链接的资源上。这包括所有引用的 CSS 文件、javascript 文件、SVG 图像,甚至来自 ajax 调用的 URL(以 JSON 响应)。但不是图像。

警告,例如在style.css文件的情况下,会说:

Cookie“PHPSESSID”很快将被视为针对“http://localhost/style.css”的跨站点 cookie,因为方案不匹配。

但是,方案不匹配什么?文件?因为它确实如此。

  • 我网站的网址是http://localhost/.
  • 该站点及其资源都在httphttps本地主机上没有)
  • 域名肯定没有什么不同,因为所有内容都是相对于域名引用的(意味着文件路径以斜杠开头href="/style.css"

网络检查员只报告绿色200 OK响应,显示一切正常。

只有 Mozilla Firefox 对此有所抱怨。Chromium 似乎不关心任何事情。我没有任何浏览器插件。警告似乎来自浏览器,每个警告链接到在 Debugger 中查看相应的文件源。

为什么会出现这个?

cookies assets url-scheme cross-site websecurity

34
推荐指数
4
解决办法
2万
查看次数

为什么通过标头传递内容安全策略是“首选”?

3.CSP 策略交付中,它说

Content-Security-Policy HTTP 响应标头字段是传递策略的首选机制

但有两种有效的机制,通过 HTTP 标头传递和通过 HTMLmeta元素传递:

<meta http-equiv="Content-Security-Policy" content="..."/>
Run Code Online (Sandbox Code Playgroud)

为什么通过标头传递是“首选”,或者也许更重要的是,通过 HTML 标签传递有哪些缺点meta

由于各种原因,在我们的部署中,将 CSP 添加到 HTML 头部更易于管理。

html http-headers content-security-policy http-equiv websecurity

13
推荐指数
2
解决办法
5993
查看次数

hashlib.scrypt 的推荐/最小参数是什么?

的文档hashlib.scrypt有点短:

hashlib.scrypt(密码, *, 盐, n, r, p, maxmem=0, dklen=64)

该函数提供 RFC 7914 中定义的基于 scrypt 密码的密钥派生函数。

密码和盐必须是类似字节的对象。应用程序和库应将密码限制在合理的长度(例如 1024)。salt 应该是大约 16 或更多字节,来自正确的源,例如 os.urandom()。

n 是 CPU/内存成本因子,r 是块大小,p 并行化因子和 maxmem 限制内存(OpenSSL 1.1.0 默认为 32 MiB)。dklen 是派生密钥的长度。

我发现它n必须是 2 的幂并且至少是 2。

除此之外,我感觉有点孤独。hashlib.scrypt(b"foo", salt=b"bar", n=2, r=1, p=1)今天被认为是安全的吗?如何判断采用哪些参数?

python security password-hash hashlib websecurity

10
推荐指数
1
解决办法
1828
查看次数

将 jwt 令牌作为 url 的一部分传递是否不好?

嗨,目前我有一个 angular 应用程序和 java 后端。在我的角度组件 html 中,我有一些图像,例如个人资料照片。提供图像文件的资源由 spring security 保护。所以我的问题是将 json web 令牌附加为图像 url 的一部分是不好的吗?它会导致安全漏洞吗?这是一种不好的做法吗?

以下是我的 angular 代码在 chrome 开发人员工具中的样子。

<div _ngcontent-c5="" class="avatar-circle bg-secondary text-brand-secondary" ng-reflect-klass="avatar-circle" ng-reflect-ng-class="bg-secondary,text-brand-second" style="background-image: url(&quot;http://localhost:8080/api/files/4eb81fa8-9c5d-4920-b0f5-c9239fb1cae7?access_token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJnbG9iYWxhZG1pbkBsb2NhbGhvc3QiLCJhdXRoIjoiUk9MRV9HTE9CQUxfQURNSU4iLCJleHAiOjE1NjExOTkwNTh9.UFvdgZNxs_O1uTjtUh64ko3A47R2fxZxYFX0aXv2Jp_TkVrmlBT1mzN40JwclGk3m0sCZONKbnVhgXXKy69DfQ&quot;);">
  <!--bindings={
  "ng-reflect-ng-if": "false"
}-->
</div>
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏。我很想将 access_token 作为 http get 请求标头的一部分传递,但我在任何地方都找不到合适的代码。任何帮助表示赞赏。

security jwt websecurity

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

burp 套件和wireshark 有什么区别?利弊

我看到很多人都在谈论这两个工具Burp 套件和 Wireshark最适合渗透测试,但我很好奇它们各自的优缺点是什么?他们每个人在哪里会更好地使用有什么区别?

security networking wireshark burp websecurity

8
推荐指数
1
解决办法
6258
查看次数

API 保护 - JWT、HMAC 签名与 OAuth

假设您正在设计一个新的 API。API 的使用者是一个在后台定期发送请求的移动应用程序,但您也期望其他使用者,例如 Web 应用程序或服务器。

现在让我们考虑两种方案:

在第一个方案中,您创建一个接受您的用户名和密码的登录端点,并作为响应发出一个短暂的 JWT。

在方案二中,API 的客户端使用 HMAC 签名来签署每个请求,就像 Amazon 保护他们的 API一样

您如何比较两者?似乎第二种方案对于 API 客户端来说计算量更大,但是在这两种方案中,这一切都归结为您必须在设备或服务器上保存的一个密钥/密码。它如何使第二个方案更安全?

那么你有第三种方案,即 OAuth2,但如果没有第三方参与,它有意义吗?

谢谢。

api hmac oauth-2.0 websecurity

6
推荐指数
0
解决办法
1659
查看次数

私有认证算法 - 网络安全

我正在开发一个从文本(TTS)生成音频并为用户提供速度/音高控制的项目。

我的问题与请求安全有关。

用户在我的网站上注册时获得了 widget_id,他js在他的网站上放了一些,api 在他的网站上工作。当用户单击发送按钮时,api.js 文件也会向ajax POST我的站点发送包含widget_id数据的请求。然后在我这边,我得到了widget_id和引用者:

$referer = isset($_SERVER["HTTP_REFERER"]) ? $_SERVER["HTTP_REFERER"] : '';

我正在widget_id从我的数据库中获取与 相关的站点值,并将其与$referer.

... if($website_url == $referer) { $website_checked = true; } ...

所以我的问题是:攻击者可以使用一些库(也许是 Curl)来改变 $_SERVER["HTTP_REFERER"]值,并破坏我的安全性吗?

例如,如果他使用 curl 和代码:

curl_setopt($ch, CURLOPT_REFERER, 'https://anysite.io/');

谢谢。

所以我更新了问题原因,因为我认为这是不可信的。那么请教Private认证算法的基本步骤...

更新 3:所以我开始赏金,因为我需要了解我的场景中的私有身份验证算法。

php security private websecurity cybersecurity

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

可以使用外部代理工具篡改/修改请求范围变量吗?

我们已经知道可以使用外部代理工具修改URL和FORM范围变量.

例如,如果有人提出这样的请求 - http:\\website\index.cfm?a=1&b=2

这样,可以将值添加到.cfm页面的URL范围.

类似地,有任何方法可以添加/更改值以在ColdFusion中请求范围而不在代码中明确设置它.

我问这个是因为我们在CFM页面中有一个这样的代码.

<cfset request.uploadFileDir = application.fileDir & "\upload" />
<cffile action="upload" accept="application/pdf" destination="#REQUEST.uploadFileDir#" filefield="brochure" nameconflict="makeunique"/>
Run Code Online (Sandbox Code Playgroud)

安全团队表示上述代码容易受到攻击,因为REQUESTJAVA中的范围可能被外部代理工具篡改/更改.由于ColdFusion是基于JAVA构建的,因此ColdFusion REQUEST也可能被外部代理工具篡改.这是正确的假设吗?JAVA和ColdFusion REQUEST范围相同吗?

最后一个主要问题 - 是否有任何方式对示例中上面提到的页面进行外部请求,修改REQUEST范围或更精确的REQUEST.uploadFileDir变量?

java security coldfusion websecurity

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

next.js应用如何防止XSS和CSRF攻击?

基本上我正在使用 mongodb 构建一个无服务器的 next.js 应用程序。

想法 1:React 已经阻止了大部分 XSS,那么我应该将用户登录信息存储在 Web 存储中吗?这样我就不用担心CSRF了。

想法2:如果我使用基于httpOnly cookie的身份验证,因为httpOnly和sameorigin已经防止了XSS(和一些CSRF),我可以继续我的设计而无需担心?您认为这对于初学者电子商务网站来说足够了吗?

想法 3:将 CSRF 令牌添加到基于 cookie 的身份验证中


  1. 用户登录,在 /api/login 中,我检查用户名/密码,然后生成一个带有 CSRF 令牌的 cookie 以及 res.end(CSRF)。收到此消息后,我们将 CSRF 存储在 useContext 中,以使其可供所有组件使用。
  2. 因此,每当我使用 POST 获取时,我都会将此全局 CSRF 令牌附加到 req.body ,最后,在 /api/ 中,我们将 req.body 中的此 CSRF 与 cookie 中的 CSRF 进行比较。

无服务器应用程序有更好的想法吗?或者我错过了什么?你有什么建议吗 ?

想法4:使用CSRF内置框架,如express.js ....

更新:支持 next-auth ,但我想了解 auth 所以真的想自己构建

xss csrf serverless-framework next.js websecurity

5
推荐指数
0
解决办法
3701
查看次数