91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

XSS漏洞詳解

發布時間:2020-07-22 13:20:09 來源:網絡 閱讀:2399 作者:Snow狼 欄目:安全技術

Xss漏洞介紹:

Cross-Site Scripting,簡稱為XSS或跨站腳本或者跨站腳本gongji。是一種針對網站或者應用程序的漏洞gongji技術,也是利用代碼注入的一種。它允許惡意用戶將代碼注入網頁,其他用戶瀏覽網頁時將會受到影響。
XSS gongji分為三類:反射型,存儲型,DOM型

XSS漏洞原理及利用:

反射型XSS
反射型XSS又稱非持久型XSS,gongji方式僅具有一次性。
gongji方式:gongji者通過包含XSS代碼的惡意鏈接發送給受害者,當受害者訪問該連接時,服務器接收該受害者用戶的請求并進行處理,然后服務器把帶有XSS代碼的數據發送給受害者用戶的瀏覽器,瀏覽器解析這段包含XSS代碼的惡意腳本,就會觸發XSS漏洞,完成gongji。
利用
我們用dvwa來展示基礎的XSS利用
XSS漏洞詳解
在輸入框中輸入<script>alert(/xss/)</script>,點擊submit即可彈出
XSS漏洞詳解
存儲型XSS
存儲型XSS又稱持久型XSS,惡意腳本將被永久的保存在服務器的數據庫或者文件中。
gongji方式:多見與論壇,博客以及網站留言板。gongji者在發帖,留言的過程中,將惡意XSS腳本連同正常信息注入內容,隨著帖子,留言板被服務器存儲下來,惡意XSS腳本也將保存在服務器中,當其他用戶瀏覽帖子或者留言時,惡意XSS腳本會在他們的瀏覽器中執行。
利用
XSS漏洞詳解
在message框中輸入<script>alert(/xss/)</script>,點擊sign即可彈出xss
XSS漏洞詳解
此時查看頁面源代碼
XSS漏洞詳解
可以看到我們的惡意代碼成功保存在服務器上
DOM型XSS
全稱Document Object Model,使用DOM可以使程序和腳本能夠動態訪問更新文檔的內容,結構及樣式。
DOM型XSS是一種特殊類型的反射型XSS,基于DOM文檔對象模型的一種漏洞。
gongji方式:用戶請求一個經過專門設計的鏈接,由gongji者提交且包含惡意XSS代碼,服務器的響應不會以任何形式包含gongji者的腳本,當受害者的瀏覽器處理這個響應時,DOM對象就會處理XSS惡意代碼。
利用
XSS漏洞詳解
圖中DOM型XSS例子為再輸入框里輸入內容點擊替換,會在“這里會顯示輸入的內容”替換為輸入的信息
XSS漏洞詳解
我們在輸入框中輸入<img src=1 onerror=alert(/xss/) /> ,點擊替換,即可觸發XSS
XSS漏洞詳解


##這里為DOM型XSS漏洞源碼
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Test</title>
<script type="text/javascript">
function tihuan(){
document.getElementById("id1").innerHTML = document.getElementById("dom_input").value;
}
</script>
</head>
<body>
<center>
<h7 id="id1">這里會顯示輸入的內容</h7>
<form action="" method="post">
<input type="text" id="dom_input" value="輸入"><br />
<input type="button" value="替換" onclick="tihuan()">
</form>
<hr>

</center>

</body>
</html>


單擊替換時會執行tihuan()函數,而tihuan()函數是一個DOM操作,通過document,getElementById獲取ID為id1的節點,然后將節點id1的內容修改成id為dom_input中的值。

XSS常用語句及編碼繞過

XSS常用測試語句
<script>alert(/xss/)</script>
<img src=1 onerror=alert(/xss/) >
<svg onload=alert(/xss/) >
<a href=javascript:alert(/xss/) >
常見的XSS編碼繞過有js編碼,html實體編碼,url編碼
js編碼
js提供了四種字符編碼的策略
三位八進制數字,如果個數不夠,在前面補0,例如"e"的編碼為"\145"
兩位十六進制數字,如果個數不夠,在前面補0,例如"e"的編碼為"\x65"
四位十六進制數字,如果個數不夠,在前面補0,例如"e"的編碼為"\u0065"
對于一些控制字符,使用特殊的C類型的轉義風格(例如\n和\r)
html實體編碼
命名實體:以&開頭,以分號結尾
字符編碼:十進制,十六進制ASCII碼或者Unicode字符編碼
url編碼
使用XSS編碼測試時需要考慮html渲染的順序,針對多種編碼的組合時,要選擇合適的編碼進行測試
常用繞過方式
雙寫繞過:基于“黑名單”的方式如調用str_replace函數將輸入的<script>刪除,可以構造語句:<sc <script> ript> alert(/ xss /)</ script>繞過
大小寫混淆繞過:<ScRipt> alert(/ xss /)</ script>
報錯繞過(利用img ,body 等標簽的事件或者iframe 等標簽的src 注入惡意的js 代碼,我這里直接就簡寫成報錯繞過了,因為基本都是靠報錯條件來觸發):<img src =1 onerror = alert(/ xss /)>

XSS漏洞的修復

過濾用戶輸入的數據
對輸出到頁面的數據進行相應的編碼轉換

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

斗六市| 石台县| 上高县| 临桂县| 冕宁县| 抚宁县| 呼和浩特市| 巴林左旗| 卢湾区| 揭阳市| 即墨市| 潼南县| 麻城市| 宁武县| 兴业县| 弋阳县| 东光县| 牟定县| 蛟河市| 山丹县| 临泉县| 监利县| 桂阳县| 衡阳市| 许昌县| 尚志市| 林口县| 张掖市| 湖南省| 逊克县| 铜川市| 珠海市| 松原市| 重庆市| 舟曲县| 衡南县| 高邑县| 衡阳市| 三都| 隆安县| 邢台县|