security 相关问题

与应用程序安全性和软件攻击相关的主题。请不要单独使用此标记,这会导致歧义。如果您的问题与特定编程问题无关,请考虑在Information Security SE上询问:https://security.stackexchange.com

LinkedIn 身份验证失败,显示“会话无效或已过期”

我试图在笔记本电脑上登录我的 LinkedIn 帐户(我通常使用移动应用程序),当我输入电子邮件和密码时,它重定向到“验证您是人类”页面,然后...

回答 1 投票 0

为什么人们使用 `rel="noopener noreferrer"` 而不仅仅是 `rel="noreferrer"`

我经常看到以下模式: 我经常看到以下模式: <a href="<external>" target="_blank" rel="noopener noreferrer"></a> 但据我所知,noreferrer暗示了noopener的效果。那么为什么这里还需要noopener呢? https://html.spec.whatwg.org/multipage/links.html#link-type-noreferrer <a href="..." rel="noreferrer" target="_blank"> 与 <a href="..." rel="noreferrer noopener" target="_blank"> 具有相同的行为。 请注意,noreferrer浏览器支持范围严格大于noopener之一 https://caniuse.com/#feat=rel-noreferrer https://caniuse.com/#feat=rel-noopener 带有“noopener”和“noreferrer”组合的标签rel意味着由于noreferrer标签,不应将Referrer信息传递到被链接的网站,并且还可以防止新打开的页面控制提供流量的页面。 rel="noreferrer"属性与rel="noopener"属性具有相同的效果,它也会阻止referrer header被发送到新页面。 大多数现代浏览器都支持noopener,但是当不支持时,我们可以使用noreferrer。实际上,使用它们来支持旧版浏览器是有意义的。也没有充分的理由删除 rel="noopener",因为它似乎没有任何缺点,而且它是被广泛考虑的事情。 是的,noreferrer意味着noopener,使得附加值变得多余。旧版本的 Firefox 甚至要求在使用 noopener 时省略 noreferrer。 在遵循过时的建议或 lint 规则后,使用两者可能会成为一种习惯。 参见: ESLint noreferrer 讨论 WHATWG HTML 规范 - 4.6.7.14 链接类型“noreferrer”

回答 2 投票 0

我正在尝试预处理我的数据集,但运行时出现错误

错误! Wednesday-workingHours.pcap_ISCX 文件的预处理阶段已完成。这是我收到的错误,而这是我尝试使用的代码,它应该有效运行...

回答 1 投票 0

使用包装密钥进行加密在 Swift 中不起作用

首先我生成了 512 位密钥,称为“Wrapped Key”并保存到钥匙串中 生成另一个密钥512位密钥,称为“私钥” 转换了这个“私钥”...

回答 1 投票 0

Cookie 身份验证与 Token 身份验证的混淆,到底有什么区别?

我阅读了令牌身份验证与 Cookie 以及会话与基于令牌的身份验证。 我还阅读了如何使用 HTTP cookie、会话和令牌进行 Web 身份验证和授权?和厨师...

回答 1 投票 0

角度安全问题 - 身份验证

我使用弹簧和角度。目前,我正在对我的应用程序进行身份验证。 对于弹簧,一切正常,但对于角度,我遇到了问题。 这是我的代码: 超文本标记语言 我使用弹簧和角度。目前,我正在对我的应用程序进行身份验证。 对于春天,一切都很好,但对于角度,我有问题。 这是我的代码: HTML <div class="flex flex-col items-center justify-center px-6 py-8 mx-auto md:h-screen lg:py-0"> <div class="w-full bg-white rounded-lg shadow dark:border md:mt-0 sm:max-w-md xl:p-0 dark:bg-gray-800 dark:border-gray-700"> <div class="p-6 space-y-4 md:space-y-6 sm:p-8"> <h1 class="text-xl font-bold leading-tight tracking-tight text-gray-900 md:text-2xl dark:text-white"> Sign in to your account </h1> <form class="space-y-4 md:space-y-6" (submit)="login()"> <div> <label for="username" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">Your Username</label> <input type="text" name="username" id="username" class="bg-gray-50 border border-gray-300 text-gray-900 sm:text-sm rounded-lg focus:ring-primary-600 focus:border-primary-600 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500" placeholder="Pseudo123" required="" [(ngModel)]="credentials.username"> </div> <div> <label for="password" class="block mb-2 text-sm font-medium text-gray-900 dark:text-white">Password</label> <input type="password" name="password" id="password" placeholder="••••••••" class="bg-gray-50 border border-gray-300 text-gray-900 sm:text-sm rounded-lg focus:ring-primary-600 focus:border-primary-600 block w-full p-2.5 dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400 dark:text-white dark:focus:ring-blue-500 dark:focus:border-blue-500" required="" [(ngModel)]="credentials.password"> </div> <div class="flex items-center justify-between"> <div class="flex items-start"> <div class="flex items-center h-5"> <input id="remember" aria-describedby="remember" type="checkbox" class="w-4 h-4 border border-gray-300 rounded bg-gray-50 focus:ring-3 focus:ring-primary-300 dark:bg-gray-700 dark:border-gray-600 dark:focus:ring-primary-600 dark:ring-offset-gray-800" required=""> </div> <div class="ml-3 text-sm"> <label for="remember" class="text-gray-500 dark:text-gray-300">Remember me</label> </div> </div> <a href="#" class="text-sm font-medium text-primary-600 hover:underline dark:text-primary-500">Forgot password?</a> </div> <button type="submit" class="w-full text-black bg-primary-600 hover:bg-primary-700 focus:ring-4 focus:outline-none focus:ring-primary-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800">Sign in</button> <p class="text-sm font-light text-gray-500 dark:text-gray-400"> Don’t have an account yet? <a href="#" class="font-medium text-primary-600 hover:underline dark:text-primary-500">Sign up</a> </p> </form> </div> </div> </div> </section> 我的登录页面服务: import { Component } from '@angular/core'; import { Router } from '@angular/router'; import { AppService } from '../services/app.service'; import { UserService } from '../services/user.service'; @Component({ selector: 'app-login', templateUrl: './login.component.html', styleUrls: ['./login.component.css'] }) export class LoginComponent { credentials = {username:'', password:''} constructor(private appService:AppService,private httplClient:HttpClient,private router:Router,private userService:UserService) { } login(){ console.log("username="+this.credentials.username+" password="+this.credentials.password); this.appService.authenticate(this.credentials,()=>{this.router.navigateByUrl("/espace-compte")}); la page, pour la fonctionnalité. return false; } } 我的应用程序的服务 这里我只是检索信息并将其发送到身份验证功能 import { Injectable } from '@angular/core'; import { environment } from 'src/environments/environment'; @Injectable({ providedIn: 'root' }) export class AppService { authenticated=false; responseAll: any; isAdmin=false; str:any; constructor(private httpClient:HttpClient) { } authenticate(credentials:any,callback:any){ const headers = new HttpHeaders( credentials ? { 'Content-Type': 'application/json', authorization : 'Basic ' + btoa(credentials.username+ ':' + credentials.password) } : {} ); this.str = JSON.stringify(headers); //this.str = JSON.stringify(headers, null, 4); // (Optional) beautiful indented output. console.log(this.str); // Logs output to dev tools console. this.httpClient.get(environment.apiBaseUrl+'login/user',{headers:headers}).subscribe(response =>{ this.responseAll = response; console.log("connexion="+this.responseAll); if(this.responseAll['username']){ this.authenticated = true; console.log("true or false="+this.authenticated); console.log("username="+(this.responseAll['username'])) for(let i=0;i<this.responseAll['roles'].length;i++){ console.log("id===="+this.responseAll['roles'][i]['idRole']); if(this.responseAll['roles'][i]['idRole']==1){ this.isAdmin = true; } } }else{ this.authenticated = false; } return callback && callback(); }) } } 这里,我在点击连接期间进行镀铬检查的问题 username=GotaKev password=1234 app.service.ts:25 {"normalizedNames":{},"lazyUpdate":null} app.service.ts:28 connexion=null core.mjs:11483 ERROR TypeError: Cannot read properties of null (reading 'username') at Object.next (app.service.ts:29:28) at ConsumerObserver.next (Subscriber.js:91:33) at SafeSubscriber._next (Subscriber.js:60:26) at SafeSubscriber.next (Subscriber.js:31:18) at map.js:7:24 at OperatorSubscriber._next (OperatorSubscriber.js:13:21) at OperatorSubscriber.next (Subscriber.js:31:18) at filter.js:6:128 at OperatorSubscriber._next (OperatorSubscriber.js:13:21) at OperatorSubscriber.next (Subscriber.js:31:18) handleError @ core.mjs:11483 ``` I don't understand the error and I don't know why it doesn't take these identifiers. In the back-end everything works great. Please if you have idea, thanks 您遇到的错误消息“无法读取 null 的属性(读取“用户名”)”表明代码正在尝试访问 null 或未定义的对象的“用户名”属性。在您的代码中,当您尝试访问 this.responseAll 对象的“用户名”属性时,似乎会发生这种情况。 要解决此问题,您应该在尝试访问其属性之前检查 this.responseAll 对象是否为 null 或未定义。您可以通过添加条件检查来做到这一点。 这是代码的更新版本,其中包含条件检查以防止错误: 验证(凭证:任何,回调:任何){ 常量标头 = 新的 HttpHeaders( 证书 ? { '内容类型':'应用程序/json', 授权: '基本' + btoa(凭证.用户名 + ':' + 凭证.密码), } :{} ); this.str = JSON.stringify(标题); // this.str = JSON.stringify(headers, null, 4); //(可选)漂亮的缩进输出。 console.log(this.str); // 将输出记录到开发工具控制台。 this.httpClient.get(environment.apiBaseUrl + '登录/用户', { headers: headers }).subscribe((response) => { this.responseAll = 响应; console.log("connexion=" + this.responseAll); if (this.responseAll && this.responseAll['username']) { this.authenticated = true; console.log("true or false=" + this.authenticated); console.log("username=" + this.responseAll['username']); for (let i = 0; i < this.responseAll['roles'].length; i++) { console.log("id====" + this.responseAll['roles'][i]['idRole']); if (this.responseAll['roles'][i]['idRole'] == 1) { this.isAdmin = true; } } } else { this.authenticated = false; } return callback && callback(); }); }

回答 1 投票 0

在 ZAP 报告警报中获取无效计数

我将 ZAP 与 Jenkins 集成。如果我扫描我的应用程序,我可以在控制台输出中看到 4 个警报,但在报告中将警报显示为 2 个。 我不确定我的配置是否有任何错误...

回答 2 投票 0

使用 servlet api 进行命令注入 bash

我正在尝试测试命令注入漏洞 我使用一个 servlet 来执行命令 ls,然后我尝试在 url 中传递另一个命令来暴露命令注入漏洞,但是......

回答 1 投票 0

S3上SSE-C加密对象的上传后处理:如何向Lambda函数提供密钥?

使用 SSE-C 时,AWS 文档指出,在将对象放入 S3 上的存储桶后,加密密钥会立即从 RAM 中删除。 我需要从我的

回答 1 投票 0

通过 Set-Cookie 设置 cookie 的尝试被阻止,因为它使用了“__secure”或 __HOST

我有一个简单的 Go 应用程序,它设置了 cookie。我喜欢它是安全的 cookie,并阅读文档,我将 cookie 设置为“__Host”。 在客户端中看起来像这样: __主持人-

回答 1 投票 0

防止 React 和 NodeJS 中的 XSS 攻击

我正在开发一个简单的后期应用程序,使用 React 作为前端,使用 NodeJS + MySQL 作为后端。考虑到安全性,我想知道应该在哪里进行用户输入清理 - ...

回答 2 投票 0

Golang 中通过不安全的 HTTPS 代理实现安全的 HTTPS 会话

如何在 Go curl 中复制——代理不安全行为 insecureproxy.net 有自签名证书, somesecureurl.net 有正确且可信的证书吗? https_proxy =“https://

回答 1 投票 0

尝试添加 CSP 标头,但它修改了网站的显示

我正在尝试添加 CSP 标头,但它改变了我网站的显示方式。这是前两张图片的代码: 我正在尝试添加 CSP 标头,但它改变了我网站的显示方式。这是前两张图片的代码: <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="Content-Security-Policy" content="default-src '*'; style-src 'self' cdn.jsdelivr.net; script-src *; object-src *; img-src *; media-src *; report-src *; connect-src *"> <title>Euskor&oacute;scopo</title> <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" <link rel="stylesheet" href="css/tabla_inicio.css" /> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" <script src="js/index.js"></script> </head> <body style="background-image: url('images/background.webp'); background-size: cover; color: white;"> ... </body> 最后两张图的代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="Content-Security-Policy" content="default-src *"> <title>Web Login</title> <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous"> <link rel="stylesheet" href="css/format_messages.css" /> <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script> <script type="text/javascript" src="js/login.js"></script> </head> 在盲目启用之前,您应该先尝试了解 CSP 的工作原理。检查https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP。 在您的代码中,您正在应用内联样式。这些样式直接注入到 HTML 标记中。除非明确启用,否则内容安全策略不允许这样做。 因此,要修复您的代码,请添加 'unsafe-inline' (带引号),如下所示: <meta http-equiv="Content-Security-Policy" content="default-src '*'; style-src 'self' 'unsafe-inline' cdn.jsdelivr.net; script-src *; object-src *; img-src *; media-src *; report-src *; connect-src *"> 或者,更好的方法:将 CSS 移动到不同的文件或样式标签。 话虽如此,您现在拥有的 CSP 标头没有多大意义。您基本上只限制样式起源,而不限制其他任何内容(例如脚本)。 CSP 用于限制 XSS 漏洞利用时可能造成的损害,因此仅限制样式来源并不能帮助您解决此问题。

回答 1 投票 0

URL 和 phpmyadmin 自动递增

我正在寻找解决我遇到的问题的最佳方法,并且我一直在寻找一种方法来尝试解决它。 我有一个名为 products 的数据库表,在这个表中我有所有...

回答 2 投票 0

如何使用 UDP 在两个独立网络之间传输任何类型的数据而不违反网络安全

我们如何在两个独立的网络上共享任何类型的数据而不违反使用 UDP 的安全机制?

回答 2 投票 0

使用 Volatility3 进行内存取证:如何查找有关所访问浏览器的用户的详细信息?

我正在研究一些内存取证。我得到了这个内存转储文件。我想知道在波动性中,如何找到有关访问了哪些网站的详细信息。最好是在 Microsoft Edge 中。 当前...

回答 1 投票 0

安装 Rust 板条箱安全吗? “crates.io”是否经过策划或审查是否有恶意软件?

对于 Debian 和 Ubuntu,有一些质量控制。使用 Boost(C++ 的主要存储库),可以进行重要的质量控制。 Rust crates(.io) 是否相似或者是完全免费的?任何人都可以...

回答 2 投票 0

在 VBA 项目中安全存储密码

我在公司的一项服务中建立了一个供不同人员使用的文件。 每个工作表均受密码保护,所有用户条目均通过 VBA 用户表单处理。所有纸张都受到相同的保护

回答 4 投票 0

努力创建 PowerShell 脚本来部署条件访问策略以阻止旧式身份验证

这是我在这里发表的第一篇文章,我真的希望有人能和我一起解决这个问题。 正如您可能在帖子标题中看到的那样,我正在尝试创建一个 PowerShell 脚本来部署

回答 1 投票 0

csrf漏洞测试

我在 IIS 上使用机器 A 上的 localhost 托管了一个小型 MVC 应用程序。我的主页中有以下 html。这里的域名是机器B的IP地址,用于测试目的。 我在机器 A 上使用 localhost 在 IIS 上托管了一个小型 MVC 应用程序。我的主页中有以下 html。这里的域名是B机的IP地址,用于测试目的。 <div class="row"> <div class="col-md-4"> <h2 class="jumbotron">You have won a prize!</h2> <p> To redeem your prize. Click this button. </p> <form action="http://target_IP_address/eline/webController/Populate" method="POST"> <input type="hidden" name="dateF" value="3/16/2022 3:01:26 PM" /> <input type="hidden" name="dateT" value="3/17/2022 3:01:26 PM" /> <input type="submit" class="btn btn-primary btn-lg" value="Give me my prize" /> </form> </div> </div> 现在,在机器 B 中,我登录到了存在漏洞的网站。然后,我单击一个链接,转到计算机 A 上托管的网站。当我到达该网站时,我单击 "submit" 按钮。这就是我的困惑开始的地方。机器 B 中没有发出此请求的记录。我确实在机器 A 中看到了该请求。这是我看到的。 我的印象是我会在机器 B 上看到该请求。因为我在机器 A 上看到了它,所以我确信我搞砸了。如果 response 缺少另一个自定义标头(csrf-token:一些唯一令牌),我实现的用于检查 csrf 攻击的修复应该将自定义标头(csrf-Detected:1)附加到 request。由于此标头没有显示在“响应标头”部分中,因此我认为检查没有发生在 Populate 中的 webController 方法之前。谁能指出我做错了什么? 从 Microsoft 网站查看此页面。 为了帮助防止 CSRF 攻击,ASP.NET MVC 使用防伪造令牌, 也称为请求验证令牌。 客户端请求包含表单的 HTML 页面。 服务器在响应中包含两个令牌。一个令牌作为 cookie 发送。另一个放置在隐藏的表单字段中。代币 是随机生成的,因此对手无法猜测这些值。 当客户端提交表单时,它必须将两个令牌发送回服务器。客户端将 cookie 令牌作为 cookie 发送,并且它 发送表单数据内的表单令牌。 (浏览器客户端 当用户提交表单时自动执行此操作。) 如果请求不包含两个令牌,服务器将不允许该请求。 要将防伪令牌添加到 Razor 页面,请使用 HtmlHelper.AntiForgeryToken 辅助方法: @using (Html.BeginForm("Manage", "Account")) { @Html.AntiForgeryToken() } 此方法添加隐藏表单字段并设置 cookie 令牌。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.