httponly:如果給某個 cookie 設定了 httpOnly 屬性,則無法通過 JS 指令碼 讀取到該 cookie 的資訊,但還Application 中手動修改 cookie,所以只是在一定程度上可以防止 XSS 攻擊,不是絕對的安全
雖然設定了httponly之後拿不到cookie,但是還是存在xss跨站語句,阻止的僅僅是獲取cookie
可以直接拿賬號密碼,cookie登入.
瀏覽器未儲存讀取密碼:需要xss產生於登入地址,利用表單劫持
瀏覽器儲存賬號面:產生在後臺的XSS,例如儲存型XSS
手工判斷xss跨站漏洞:
第一關:
第二關:
被轉義,檢視原始碼。
存在htmlsecialchars()函式:
把符號轉換為實體化標籤,xss經常過濾的情況
第二關:
閉合前面的雙引號,"><script>alert(1)</script>
第三關:
還是對<>進行了轉義,利用表單的滑鼠點選屬性。
'onclick='alert(1)
第四關:
第五關:
在關鍵字onclick過濾,on_click
藉助a herf屬性,自己建立一個javascript程式碼
"><a href="javascript:alert(1)">
第六關:
繼續用第五關的程式碼,發現herf被過濾,檢視原始碼。
關鍵字都被過濾,使用大寫替繞過
"><a hRef="javaScript:alert(1)">
第七關:
和upload-labs一樣,程式碼並無迴圈過濾,因此可以雙寫繞過
第八關:
大小寫,雙寫均不行,替換為unicode編碼
第九關:
這一關不看程式碼幾乎很難完成,程式碼會檢測是否存在http://
第十關:
&t_sort="type="="type="text"onclick="alert(1)"
檢視原始碼,發現屬性為hidden,被隱藏了。
第十一關:
http referer 頭,檢測來源。
瀏覽器會檢測此JS程式碼是否來
CSRF跨站請求指令碼,檢測來源。管理員在登入狀態的情況下,登入時觸發了一串新增管理員賬號的密碼,此時則會新增管理員。
檢測來源,也就是瀏覽器的同源策略,看看是否來自同一個域名,不是同一個域名的不接受
token驗證會解決這個問題
此關卡在referer頭輸入&t_sort="type="="type="text"onclick="alert(1)"
第十二關:
檢測user-agent aizhan網也存在跨站
後面的關卡也是各種隱藏的屬性,基本都是類似的,不在一一記錄。