文章加密

;

2021年4月13日 星期二

xss

XSS game: https://xss-game.appspot.com/level2

解答: https://sls.weco.net/node/28009

google講解: https://www.google.com/about/appsecurity/learning/xss/index.html
...看到Spooky, huh? In this example, an evil JavaScript file was retrieved and embedded via XSS.

https://autoposter.pixnet.net/blog/post/116075291

http://evuln.com/tools/xss-encoder/

http://www.qa-knowhow.com/?p=2992

test my website xss Vulnerability: https://security.stackexchange.com/questions/163588/software-for-testing-xss-and-other-web-sites-vulnerabilities

Example tools include Burp Proxy and ratproxy.

https://www.zaproxy.org/


1. <script>alert("hi")</script>   -- reflected" XSS 

2. 找一個element加alert
  <a href="#" onclick="alert('hi')">test</a>   -- stored XSS

3. 研究程式碼,他用了html解析可以利用

https://developer.mozilla.org/en-US/docs/Web/API/Window/message_event

https://developer.cdn.mozilla.net/en-US/docs/Web/API/Window/postMessage

https://codertw.com/%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80/696792/

4. 研究程式碼,他用了html解析可以利用   要處理escaping data

5.<a href="javascript:alert(1)">Next &gt;&gt;</a>

6. 利用load載入含有惡意程式的另一支js,如https://www.gstatic.com/charts/loader.js?callback=alert載入後會alert
ex: 
        document.head.appendChild(scriptEl);
        scriptEl.src ="https://www.gstatic.com/charts/loader.js?callback=alert"
        document.head.appendChild(scriptEl);


結論: 只要是user-suppied data的就要注意被插入攻擊





補充知識:
window(窗口)可以top, parent, self, this替代,
  1. this等於self

  2. Top表示最頂層的一個窗口頁面

    最頂層頁面===》父頁面===》子頁面,self.top就代表其中的最頂層頁面,相當於子頁面的祖父。

    self.top 等於self.parent.parent


  3. Parent在進行父頁面訪問時使用

    parent用於在iframe框架頁中,frame框架頁中生成的子頁面中訪問父頁面的對象。例如:A頁面中有一個iframe或frame,那麼iframe或frame中的頁面就可以通過parent對象來引用A頁面中的對象。這樣就可以獲取或返回值到A頁面中。


  4. Opener在進行父頁面引用時使用

    opener用於在window.open打開的頁面引用執行window.open方法的的上級頁面的對象。例如:A頁面通過window.open()方

    法彈出了B頁面,在B頁面中就可以通過opener來引用A頁面,這樣就可以通過這個對象來對A頁面進行操作。


    window.opener.location.reload(); //子窗口刷新父窗口

    window.opener.location.href //獲取父窗口href

    window.opener.locaiton.pathname //獲取父窗口路徑名


  5. parent與opener的區別:

    parent是相對於框架來說父窗口對象

    opener是針對於用window.open打開的窗口來說的父窗口,前提是window.open打開的才有。



    取父窗口的元素方法:window.parent.document.getElementByIdx_x("父窗口元素ID");




沒有留言:

張貼留言