问题标签 [websecurity]

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.

0 投票
0 回答
29 浏览

url-rewriting - 在哪里“安全地”存储会话 ID?

2017 年 OWASP 前 10 名:

会话 ID 不应在 URL 中,应安全存储

但是“安全存储”是什么意思?

PS:如果使用 http ,我个人认为 URL 重写没有任何问题。

0 投票
2 回答
586 浏览

api - 黑客可以在发出 API 请求时更改其域吗?

如果我在公共互联网上发布了一个 API,但它仅供我的应用程序使用,我可以创建一个接受域的白名单,这样其他域就不能使用它。

但我总是想知道,当向我的 API 发出 HTTP 请求时,黑客不能编辑他们的“来自域”吗?他们不能模仿其他域来欺骗我的 API 以使他们信任他们吗?

0 投票
2 回答
324 浏览

javascript - 有没有一种在 Angular 7 中嵌入 iframe 的安全方法?

设置 iframe url 的唯一方法是通过this.domsanitizer.bypassSecurityTrustResourceUrl(url). 但是像 veracode 这样的静态代码分析工具将此作为一个高漏洞问题提出来,我认为这是正确的。但是有没有办法像白名单一样安全地信任 url?

0 投票
0 回答
50 浏览

javascript - 在“代理”后面发送请求时代码不起作用

我正在向网站发送请求(我正在使用请求模块),它会返回数据作为响应。一切正常,直到我在代理后面发送请求(即使代理没有在网站上被禁止)。

我的问题是一样的 如何在使用代理时停止NodeJS“请求”模块更改请求

我尝试了上述帖子中的所有解决方案,但没有任何帮助

我在请求中使用的标头

0 投票
2 回答
1933 浏览

javascript - 添加嵌入式谷歌地图时console.log中的警告

我想在我的网络应用程序中添加谷歌地图(嵌入式)地图。我正在构建一个 Angular 8 并使用内置服务器,但仍在 console.log 中显示警告

我在 ngOnInit 方法的代码中所做的,我已经添加了这个

上面的代码我使用了名为 ngx-cookie-service 的 npm 包。也因为我自己参考了这个网站

我不确定我做对了还是错了。我所做的只是使用我所在位置的谷歌地图中的“复制链接”完全复制。如何解决这个问题。

0 投票
1 回答
1164 浏览

javascript - 如何防止脚本注入攻击

介绍

这个话题一直是 StackOverflow 和许多其他技术论坛上许多问题和答案的祸根;但是,它们中的大多数都特定于确切的条件,甚至更糟:通过脚本注入预防的“整体”安全性dev-tools-consoledev-tools-elements或者甚至address-bar据说是“不可能”保护的。这个问题是为了解决这些问题,并作为当前和历史参考作为技术改进 - 或发现新的/更好的方法来解决浏览器安全问题 - 特别是与script-injection攻击相关。

关注点

有很多方法可以“即时”提取或操纵信息;具体来说,很容易拦截从输入中收集的信息 - 以传输到服务器 - 无论 SSL/TLS 是什么。

拦截示例

看看这里 不管它多么“粗糙”,人们可以很容易地使用制作模板的原理,只需复制+粘贴到eval()浏览器控制台中即可执行各种令人讨厌的事情,例如:

  • console.log()通过XHR在传输中截获的信息
  • 操作POST数据,更改用户引用,例如UUIDs
  • 通过检查 JS 代码将目标服务器替代GET(和发布)请求信息提供给中继(或获取)信息,cookies以及headers

这种攻击在未经训练的人看来“似乎”微不足道,但当涉及到高度动态的界面时,这很快就会变成一场噩梦——等待被利用。

我们都知道“你不能信任前端”,服务器应该负责安全;但是 - 我们心爱的访客的隐私/安全呢?许多人在 JavaScript 中创建“一些快速应用程序”并且不知道(或关心)后端安全性。

保护前端和后端的安全将证明对普通攻击者来说是强大的,并且还减轻了服务器负载(在许多情况下)。

努力

谷歌和 Facebook 都实施了一些缓解这些问题的方法,而且它们奏效了;所以这不是“不可能的”,但是,它们非常特定于各自的平台,并且实现需要使用整个框架以及大量工作 - 仅涵盖基础知识。

不管这些保护机制中的一些看起来多么“丑陋”;目标是在一定程度上帮助(减轻/预防)安全问题,使攻击者难以应对。众所周知:“你无法阻止黑客,你只能阻止他们的努力”

工具和要求

目标是拥有一组简单的工具(功能):

  • 这些必须是普通的(香草)javascript
  • 它们一起不应超过几行代码(最多 200 行)
  • 他们必须是immutable,防止攻击者“重新捕获”
  • 这些不得与任何(流行的)JS 框架发生冲突,例如 React、Angular 等
  • 不一定要“漂亮”,但至少可读,“单行”欢迎
  • 跨浏览器兼容,至少达到很好的百分位数
0 投票
0 回答
236 浏览

angular - Springboot WebSecurityConfig 忽略过滤器

我的问题是,当我登录时,spring boot security 已经要求提供一个不记名令牌,而它还不存在。因此,过滤器不应使用特定请求执行,在我的情况下是 /authenticate

WebSecurityConfig.java

但是使用这种方法,过滤器总是在任何请求上执行,也不是意图的 /authenticate。

0 投票
0 回答
52 浏览

node.js - 如何使用 ReactJs 客户端和远程 NodeJs 服务器集群实现 CSRF 保护?

我在尝试在 ReactJs 客户端和远程 NodeJs 服务器集群(无服务器会话)之间实施 CSRF 保护时遇到问题。我在这里有一个超级简单的项目(https://github.com/KevinAtMagenic/Example-CSRF-NodeJs/),它将复制问题。克隆它,然后是“yarn i”和“yarn dev”,你就会和我一起在散兵坑里。一顿免费的午餐或啤酒,我永远感谢任何能够让这项工作发挥作用的人,或者至少为我指明了一个更好的方向。

谢谢

  • 凯文
0 投票
0 回答
666 浏览

api - API 保护 - JWT vs HMAC 签名 vs OAuth

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

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

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

在方案二中,API 的客户端使用 HMAC 签名对每个请求进行签名,就像 亚马逊保护他们的 API

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

那么你有第三个方案,即 OAuth2,但如果不涉及第三方,这是否有意义?

谢谢。

0 投票
1 回答
3276 浏览

asp.net - 如何针对跨站点脚本清理查询字符串输入 - 反映 ASP .Net(Web 窗体)应用程序中的问题?

我正在开发一个具有一些跨站点脚本的遗留应用程序 -当我们从查询字符串中获取输入时反映了问题。Fortify 代码扫描 (WebInspect) 工具正在报告这些问题。

例如:

我有一个名为 ProgressDisplay.aspx 的页面,它将 reportPath 作为查询字符串参数。

在上面的代码中,reportPath 是一个查询字符串参数,其中传递了恶意负载,它在响应中显示警报。

上面的有效载荷alert(56645)在渲染后变为。

像这样,有几个类似的问题被报告。是否有任何集中的方法可以通过使用任何 ASP .Net 库一次性解决所有问题,或者在配置中进行一些更改而不是修复每个问题,或者我必须一个一个地解决所有问题?

修复后,当插入恶意脚本时,页面不应返回 200 响应。我们必须返回一个错误请求作为响应。