学习xss的一些记录(一)
最近正在學習關于xss的一些知識,作為一個前端開發者,這個知識也是基礎的,以前也沒怎么好好學習與總結,深感慚愧,接下來的幾天時間好好補習下。
xss是什么
xss的全稱是Cross Site Scripting,即跨站腳本。攻擊者通過向要攻擊的網站中插入一些惡意html,或者js代碼,來達到攻擊這個網站的其他用戶的目的。
xss具體是怎樣的
解釋太抽象,我要來點案例
下面的一個例子來自這里,借用一下大神的例子,傳送門
1.看下面這個表單,它的功能是在輸入框中輸入一些內容,點提交后,下方會顯示你剛才的輸入
比如輸入abcd123,就顯示成這樣了,
因為你的輸入比較正規,所以沒什么問題,那如果你輸入一些邪惡的呢,比如說下面這個
那就執行了一段腳本了,這里是一個彈出框,只是用來說明這個腳本執行了,實際攻擊中并不是這樣用的,因為彈個框沒意義,哈哈。但如果這里不是彈出框而是獲取cookie呢,如果這段內容還可以被其他用戶看到的話,那就可以得到其他用戶的cookie了,可以利用這個cookie去登錄其他用戶的賬號,可以看到不該看的,想想就有點小激動有沒有。
xss居然還有分類
聽說xss分為反射型XSS,儲蓄型XSS,DOM XSS,哎喲有三種啊,他們都是什么鬼啊,應該要細細講來。
反射型XSS
原理是這樣的:
Hacker——發現存在反射XSS的URL——根據輸出點的環境構造XSS代碼——進行編碼、縮短(可有可無,是為了增加迷惑性)——發送給受害人——受害打開后,執行XSS代碼——完成hacker想要的功能(獲取cookies、url、瀏覽器信息、IP等等)
解釋來自于這篇文章,傳送門
這里可以看出是通過修改url的方式,因為url的參數可能在頁面中用到,那我們就可以在參數中加一些惡意代碼,當受害人訪問這個鏈接的時候,這個惡意代碼就執行了,當然首先要把這個url發給受害人。
儲蓄型XSS
儲蓄型也叫持久型,什么情況下才能持久呢,那就是被保存到數據庫中了,或者說被后端保存起來了。
原理應該是這樣的:
Hacker——發現存在儲蓄型XSS的表單或者能保存到后端的地方——根據輸出點的環境構造XSS代碼——受害人訪問這個輸出點,執行了XSS代碼——完成hacker想要的功能(獲取cookies、url、瀏覽器信息、IP等等)
比如說有一個留言板,大家都可以留言,可以想到這個留言是要保存到后端的,如果這個留言板有xss漏洞的話,我們發表一些惡意代碼,然后惡意代碼就被保存到服務器上了,當別人訪問的時候,惡意代碼執行,然后中招。
DOM XSS
參考文章
看了一些文章之后,感覺到DOM XSS也是反射型XSS的一種,因為他的攻擊方法也是在url上加參數,可能這個不同點在于對這個參數的處理上吧,反射型XSS應該是后端處理上,DOM XSS應該是javascript基礎上處理的,兩者差別不大,但與儲蓄型xss卻又明顯區別,差不多是這樣。
今天就先記錄到這里,搞懂xss是什么和大概攻擊狀況的問題,下一篇來記錄xss后端處理和前端處理的問題。
總結
以上是生活随笔為你收集整理的学习xss的一些记录(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 Daynamic 动态添加属性
- 下一篇: MyBatis --教程