XSS

作者: theLexical | 来源:发表于2019-06-11 21:47 被阅读0次

XSS攻击

  • 反射型XSS
    只是简单的把用户的输入反射给浏览器。一般要构造一个恶意的URL,然后诱使用户去点击,这样才能攻击成功。它是一次性的。
  • 存储型XSS
    这种类型的XSS,会把用户的输入存储到服务器端,具有很强的稳定性和持久性。比如在留言板,发布博客的地方,一旦用户去访问这个页面,就会遭到XSS攻击。
  • DOM-based XSS
    这种攻击并不是按照“是否保存在服务器端”来划分的。它从效果上来说,还是反射型XSS,只是因为发现它的安全专家把它单独划分了出来,就把它作为一个单独的分类了。
    它是修改了页面的DOM节点。
    来看一个例子:
<script>
function test(){
  var str = document.getElementById('text').value;
  document.getElementById('t').innerHTML = "<a href=' "+str+" '>testLink</a>";
}
</script>

<div id='t'></div>
<input type='text' d='text' value='' />
<input type='button' id='s' value='btn' onclick='test()' />

如果构造这样的输入:

' onclick=alert(/xss/) //

<a href='' onclick=alert(/xss/) //'>testLink</a>

就产生XSS攻击啦!

XSS防御

XSS的防御是很复杂的,浏览器有一些内置的防御措施,这里吧重点放在网站安全上。

  • HttpOnly
    XSS最常被用来窃取用户的Cookie,使用Httponly可以防止JS获得Cookie。比如:
<?php
header("set-Cookie: cookie1=test1");
header("set-Cookie: cookie2=test2;httponly, false");
>

<script>alert(document.cookie);</script>

但是这个也有绕过的办法。
比如Apache支持的一个Header是TRACE,它一般用于调试,会将请求头作为响应body返回。cookie在请求头中,利用这个特性,就可以获得cookie了。

  • 输入检查
    必须放在服务器端,因为在客户端很容易就能绕过。
    白名单,黑名单,长度限制,过滤。
    但是它对语境的理解并不完整。
  • 输出检查
    使用安全的编码函数。比如:
  • HTML的HtmlEncode
  • PHPhtmlentitieshtmlspecialchars(),这两个函数完全可以满足需求。
  • OWASP里有一个安全的JavascriptEncode

相关文章

  • 跨站攻击脚本-XSS

    XSS: Cross Site Scripting XSS 概念 XSS 分类 反射型xss攻击图示 XSS 攻击...

  • XSS payload.

    alert('XSS') alert("XSS") alert('XSS') alert("XSS") S...

  • test

    alert('xss')alert('xss') alert('xss')

  • Django中xss和静态文件的引用(十二)

    一、xss(跨域脚本攻击)的基本介绍 1、xss分类: 反射型xss 存储型xss 2、xss的概念 XSS攻击全...

  • XSS--LOG-1

    XSS总结: xss分为三种,反射型xss,DOM型XSS及存储型XSS,不同类型的XSS的危害不同,有兴趣的...

  • 第三章 XSS 攻击

    要点 XSS 攻击 XSS 防护 一、 XSS攻击 XSS攻击 (Cross-Site Scripting,跨站脚...

  • XSS 与 CSRF 两种跨站攻击

    XSS XSS:跨站脚本(Cross-site scripting) XSS:脚本中的不速之客 XSS 全称“跨站...

  • 网络安全必学知识点之XSS漏洞

    xss漏洞小结 一、初识XSS 1、什么是XSS XSS全称跨站脚本(Cross Site Scripting),...

  • php常见的攻击

    一、跨站点脚本攻击(XSS) XSS介绍: XSS : 跨站脚本(cross site script) XSS是指...

  • XSS-CSRF的bvwa破解

    A-XSS-Reflected 一、XSS:(中级别) 测试payload:“ alert(“xss”) ”:测试...

网友评论

      本文标题:XSS

      本文链接:https://www.haomeiwen.com/subject/ipbcfctx.html