xss漏洞简析(干货)

xss漏洞

  • 给大家推荐一个xss训练平台:https://xss-quiz.int21h.jp/
  • 好好学习,天天向上
  • 由于xss代码会被过滤所以大部分是截图的形式

xss漏洞介绍

  • 跨站脚本攻击(cross site scripting),缩写xss
  • 恶意攻击者往web页面里插入script代码,当用户浏览该页面时,嵌入到其中web页面的script代码就会执行,从而达到恶意攻击者攻击用户的目的

反射型xss

  • 反射型xss又称为非持久型xss,这种攻击往往就有一次性
  • 流程:攻击者通过邮件等形式将包含xss代码的连接发送给正常用户,当用户点击时,服务器接受改用户的请求并进行处理,然后把带有xss的代码发送给用户。用户浏览器解析执行代码,触发xss漏洞

	echo $_GET["uname"];

xss漏洞简析(干货)_第1张图片

存储型xss

  • 存储型xss又称为持久性xss,攻击脚本存储在目标服务器的数据库中,具有更强的隐蔽性
  • 攻击者在论谈、博客、留言板中,嵌入xss攻击代码,帖子被目标服务器存储在数据库中,当用户访问时,就会触发xss代码

列:
xss漏洞简析(干货)_第2张图片

因为存储在了服务器上,所以没次访问页面都会弹出弹窗,会持久攻击

xss漏洞简析(干货)_第3张图片

xss绕过过滤方法

没有过滤的xss(直接注入)

  • 我们发现在表单中输入什么,下面就会显示什么

在这里插入图片描述

  • 我们输入xss代码
    在这里插入图片描述

  • 发现浏览其执行了我们的xss代码
    xss漏洞简析(干货)_第4张图片

属性中的xss漏洞(闭合属性注入)

  • 在漏洞点输入任意数据
    在这里插入图片描述

  • 并无返回内容,只是在表单中回现了
    在这里插入图片描述

  • 但是我们在input标签中看到了我们的输入
    在这里插入图片描述

我们想到可能是属性中存在xss

1.闭合属性中的符号
在这里插入图片描述

2.这样闭合了value(") 和 input (>) 后面接上js代码

在这里插入图片描述

隐藏参数的xss(bp抓包,注入)

  • 我们看到有一个 type=“hidden”
  • 这个就是隐藏标签,但同时可以进行xss攻击
    1.抓包,将标签闭合,并进行xss注入
    xss漏洞简析(干货)_第5张图片
    这样样就可以

HTML事件XSS(过滤了《script》标签)

  • 上面的基本上可以通过闭合就可实现XSS,但是我么的输入有可能会进行转义,这样我就无法进行xss,只能进行HTML事件XSS
  • onmouseover/onclink/οnlοad=“alert(document.domain);”
    1.当我们的输入为:
    alert(document.domain)" width="322" height="28">
    2.查看结果,转义了符号

在这里插入图片描述

4.尝试使用HTML事件xss:123" οnmοuseοver="alert(document.domain);
onmouseover:当鼠标在上面时,触发xss漏洞

xss漏洞简析(干货)_第6张图片

javascript伪协议XSS(8)

javascript伪协议介绍

  • 将javascript代码添加到客户端的方法是把它放置在伪协议说明符javascript的URL中。

  • 如果javascript代码包含多个语句,必须使用分号将其隔开
    javascript:var now = new Date(); “The time is:+now”

  • 只执行动作,不返回值的javascript语句
    javascript:alert(“hello world”)

javascript伪协议绕过

  • payload:javascript:alert(document.domain);
  • 一般与a标签结合使用
    111在这里插入图片描述

限制长度的XSS漏洞

  • 直接改动前端长度标签即可

在这里插入图片描述

十六进制绕过(15)

在这里插入图片描述

unicode编码绕过(16)

在这里插入图片描述

双写绕过(1o)

  • 过滤了 alert(document.domain);中的domain
  • 将domain进行双写:domdomainain
    在这里插入图片描述

加密绕过(10)

  • 过滤了 alert(document.domain);
  • 使用base64加密:alert(document.domain);
    在这里插入图片描述
    • atob是解密函数,解密后eval将其变成字符串,就可正常执行

感谢大家的关注,如果文章中有错误大家可以留言哦。

你可能感兴趣的:(xss漏洞简析(干货))