XSS之Session安全(一)

2021-07-05 05:39:25 字數 1058 閱讀 1707

xss對session的利用主要有兩種:session劫持和csrf,先談前者。

原理很簡單,攻擊實驗也很好實現,但依然防不勝防

session雖然儲存在server端,但是在client必須有某種標識(以下稱sessionid)來與server端的session相對應。通常sessionid在client的存在方式有

3種:cookie、url字尾、html隱藏節點。

sessionid的作用主要有2個:跟蹤和記錄使用者行為、免身份認證

xss指令碼可以獲取sessionid,然後利用該sessionid登入使用者賬戶,進而做一些不好的事情(看**、刪東西、發廣告....)

這裡提出一種基於請求計數器和session有效期的解決方案。由於調研不是很充分,不能保證該方案為首次提出。

下面說明該方案的工作原理:

client首次發起http請求時請求中沒有sessionid,server自然不知道是誰發的請求,需要一次認證過程。認證成功後,server為了下次該client又來請求時不用再搞一遍麻煩的認證,給它生成乙個唯一的sessionid。

同時server還記錄了會話期間該client的請求次數n作為sessionid的字尾,sever每收到該client的請求就將n加1。同時為了保證計數器的值n不被篡改和猜測,在會話建立時產生乙個會話金鑰sessionkey,用sessionkey給n簽名作為sessionid的字尾而不是直接將n作為sessionid字尾。

這樣如果有人偷了sessionid後冒充別人發出乙個請求時會有幾種情況發生:

1)該sessionid已經過期,攻擊失敗

2)改sessionid未過期,但是計數器n已經失效(在此之前client又發出了請求導致n增大)

3)sessionid未過期,計數器n未失效,攻擊成功,但是client接下來的請求會導致server刪除該session記錄,攻擊不能繼續;或者client關閉會話導致server刪除session,攻擊不能繼續

方案存在不足,繼續思考中,歡迎好人的好建議!

web安全之xss攻擊

xss攻擊的全稱是cross site scripting xss 攻擊,是一種注入式攻擊。基本的做法是把惡意 注入到目標 由於瀏覽器在開啟目標 的時候並不知道哪些指令碼是惡意的,所以瀏覽器會無差別執行惡意指令碼,從而導致使用者資訊和一些敏感資訊被盜取和洩漏。xss一般分為兩種型別,持久化的xss和...

金融專案開發 安全之xss

xss是跨站指令碼攻擊的簡稱 往往是攻擊者輸入的指令碼決定攻擊的力度 簡單的就是乙個js彈框,為了檢測系統有沒有xss漏洞 其他的還有嵌入ifrom,img一類的 危害是可以竊取使用者cookie 偽造使用者登陸 發生這種原因一般都是使用者輸入了指令碼被瀏覽器執行了 如果你要想預防這種情況 不要嘗試...

前端安全問題之 XSS

前端安全問題之 xss 各行各業 安全 問題都是乙個很大的話題,在it中我們可以把安全問題按照發生的區域分,可以分為後端安全問題和前端安全問題,作為一名前端開發,這篇文章我們就先來總結一哈給前端有關的安全問題咯。xss攻擊 又叫跨站指令碼攻擊,主要是通過使用者輸入或者其他方式,來向我們的程式中注入一...