2010-01-12 51 views
8

我對XSS攻擊的理解主要集中在通過表單輸入惡意輸入(持續XSS攻擊)的人身上。這是一個有效的XSS攻擊

但是我試圖理解非持續性。這是作爲一個例子(顯然警報可以取代一些更險惡......)

http://localhost/MyProject/action.do?Title=<script>alert('XSS');</script> 

回答

9

是的,幾乎所有的考慮,如果你已經登錄,這些腳本也可以訪問你的cookies,並可以發送到任何地方。

4

這絕對是一個漏洞,如果不出意外,你可以發送XSS代碼的鏈接是這樣的人。

14

但是,該鏈接的一個問題是,<tags>通常不會在沒有使用URL首先對其進行編碼的URL中進行。所以郵寄這個鏈接或發佈它不會對你有什麼好處。

它的更真實的URL編碼的形式是..

http://localhost/MyProject/action.do?Title=%3Cscript%3Ealert%28%27XSS%27%29%3B%3C%2Fscript%3E%

點擊該網址後,目標Web服務器會取消轉義的Title值,如果...

<script>alert('XSS');</script> 

...寫成原樣而不是將HTML轉義頁面,這絕對是XSS。

3

我沒有評論傑夫阿特伍德的答案的聲望,所以我會在這裏不同意。像這樣的鏈接肯定可以郵寄並用於利用易受XSS反映的網站。我使用Gmail和一個可以控制的網站對其進行測試。

也許編碼是在後臺完成的,但無論如何,我都可以輸入鏈接,發送電子郵件,然後點擊鏈接並開始工作。另外,在我嘗試的每個瀏覽器中,我都能夠直接輸入有效負載而無需編碼,並讓腳本觸發。

所以是的,該代碼是「有效的XSS」,如果您的網站觸發該JavaScript,那麼您的網站容易受到反映的XSS攻擊。

0

是的,這是一個XSS漏洞。 Tittle字符串未經過消毒處理,並且與渲染前相同。 通過使用Web應用程序防火牆,如OWASP Stinger

0

可以防止XSS提示警告是測試跨站點腳本或XSS的應用程序漏洞最突出和最廣泛使用的方式。如果這樣的URL顯示了一條提醒,很可能同一個URL可以 -

  1. 內部重定向客戶惡意網站或

  2. 就送從cookie或會話的人複製的信息。

並且客戶會覺得它的信任網站已經這樣做了,因爲他會繼續在url中看到受信任的網站域。