XSS攻击(出现的原因、预防措施......)
? ? ? ?驗證XSS攻擊重點不是去查找可輸入哪些內(nèi)容會出現(xiàn)什么樣的bug就是測試XSS攻擊,重點是了解它出現(xiàn)的原理,為什么會出現(xiàn)XSS攻擊,導(dǎo)致一些問題出現(xiàn)?如何防御與解決XSS攻擊?以下我將簡單介紹以上提出的問題。
如何判定沒有被XSS注入?
我在數(shù)據(jù)交互的地方輸入什么內(nèi)容,則我輸入的內(nèi)容被實際展示出來,這樣我們才認為沒有被XSS注入。
?
XSS是什么?
XSS(Cross Site Scripting),即跨站腳本攻擊,是一種常見于web application中的計算機安全漏洞。XSS通過在用戶端注入惡意的可運行腳本,若服務(wù)器端對用戶輸入不進行處理,直接將用戶輸入輸出到瀏覽器,則瀏覽器將會執(zhí)行用戶注入的腳本。
?
XSS的分類?
1.非持久型,也叫反射型XSS。通過GET和POST方法,向服務(wù)器端輸入數(shù)據(jù)。用戶輸入的數(shù)據(jù)通常被放置在URL的query string中,或者是form 數(shù)據(jù)中。如果服務(wù)器端對輸入的數(shù)據(jù)不進行過濾,驗證或編碼,就直接將用戶輸入的信息直接呈現(xiàn)給客戶,則可能會造成反射型XSS。
2.持久型,也叫存儲型XSS。通常是因為服務(wù)器端將用戶輸入的惡意腳本沒有通過驗證就直接存儲在數(shù)據(jù)庫,并且每次通過調(diào)用數(shù)據(jù)庫的方式,將數(shù)據(jù)呈現(xiàn)在瀏覽器上。則該XSS跨站腳本攻擊將一直存在。若其他用戶訪問該頁面,則惡意腳本就會被觸發(fā),用于盜取其他用戶的私人信息。
?
XSS的原理分析與解刨:
詳見這篇文章:http://www.freebuf.com/articles/web/40520.html
?
XSS常見漏洞出現(xiàn)的地方:
數(shù)據(jù)交互的地方:
-get post cookies headers
-反饋與瀏覽
-富文本編輯器
-各類標簽插入和自定義
數(shù)據(jù)輸出的地方:
-用戶資料
-關(guān)鍵詞、標簽、說明
-文件上傳
?
XSS的驗證方式,以下的驗證均可說明當前可被XSS注入:
APP中涉及到H5的頁面,在可輸入框輸入以下內(nèi)容:
正常的頁面如下截圖:
1、在交互頁面輸入:<script> var valtest='{$dd}';</script>,頁面的編輯按鈕消失,且出現(xiàn)了\N,截圖顯示如下:
2、在交互頁面輸入<script>alert('xss')</script>?漏洞代碼,查看是否出現(xiàn)彈框中顯示出xss
3、在交互頁面輸入<span class="www"><script>alert(1)</script></span>,仍查看是否出現(xiàn)彈框。
?
XSS出現(xiàn)的原因?
在HTML中常用到字符實體,將常用到的字符實體沒有進行轉(zhuǎn)譯,導(dǎo)致完整的標簽出現(xiàn),在可輸入的文本框等某些區(qū)域內(nèi)輸入特定的某些標簽導(dǎo)致代碼被惡意篡改。
?
XSS的解決與防御措施?
服務(wù)器都會將JavaScript當做文本處理,在服務(wù)端整合進HTML文檔中,在瀏覽器解析這些文本的過程,也就是XSS被執(zhí)行的時候,所以主要的防御措施就是對任何用戶提交到服務(wù)器上的文本都要經(jīng)過編碼或者轉(zhuǎn)譯。
1、常見的HTML中有用的字符實體如下截圖:
2、以下的截圖中可以看到已解決了XSS的注入,因此可以看到輸入的內(nèi)容被實際展示了出來。詳見示例如下:
? ?
?我們對當前輸入的文本框內(nèi)容查看,實際它已對輸入的標簽進行了轉(zhuǎn)譯,因此輸入的內(nèi)容才可被實際展示出來,查看方式可通過將此頁面分享到微信、QQ等,用google Chrome打開,右鍵鼠標,查看“顯示網(wǎng)頁源代碼”。
? ?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/syw20170419/p/8639246.html
總結(jié)
以上是生活随笔為你收集整理的XSS攻击(出现的原因、预防措施......)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到飞是在长身体吗
- 下一篇: 怀孕晚期梦到蛇预示着什么