CSRF的基本概念、縮寫、全名
CSRF(Cross-site request forgery):跨站請求偽造。 (推薦學習:PHP影片教學)
PS:中文名一定要記住。英文全稱,如果記不住也拉倒。
CSRF的攻擊原理
用戶是網站A的註冊用戶,且登入進去,於是網站A就下發cookie給用戶。
從上圖可以看出,要完成一次CSRF攻擊,受害者必須滿足兩個必要的條件:
(1)登入受信任網站A,並在本地產生Cookie。 (如果使用者沒有登入網站A,那麼網站B在誘導的時候,請求網站A的api介面時,會提示你登入)
(2)在不登出A的情況下,造訪危險網站B(其實是利用了網站A的漏洞)。
我們在講CSRF時,一定要把上面的兩點說清楚。
溫馨提示一下,cookie保證了使用者可以處於登入狀態,但網站B其實拿不到 cookie。
XSS的基本概念
XSS(Cross Site Scripting):跨域腳本攻擊。
XSS的攻擊原理
XSS攻擊的核心原理是:不需要你做任何的登入認證,它會透過合法的操作(例如在url中輸入、在留言框中輸入),向你的頁面注入腳本(可能是js、hmtl程式碼區塊等)。
最後導致的結果可能是:
盜用Cookie破壞頁面的正常結構,插入廣告等惡意內容D-doss攻擊
CSRF 與XSS 的差異
區別一:
CSRF:需要使用者先登入網站A,取得cookie。 XSS:不需要登入。
區別二:(原理的區別)
CSRF:是利用網站A本身的漏洞,去請求網站A的api。 XSS:是注入網站 A JS程式碼,然後執行 JS 裡的程式碼,竄改網站A的內容。
以上是php csrf攻擊與xss攻擊區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!