XSS概念:通常指黑客通過HTML注入纂改了網頁,插入惡意腳本,從而在用戶瀏覽網頁時,控制用戶瀏覽器的一種攻擊。
XSS有三種:
反射型xss:只是簡單地把用戶輸入的數據反射給瀏覽器,簡單來說,黑客往往需要用戶誘使用戶點擊一個惡意鏈接,才能攻擊成功。
存儲型XSS:將用戶輸入的數據存儲在服務器端。
DOM XSS:通過修改頁面的DOM節點形成的XSS。
反射型xss
LOW等級:
先利用alert測試是否存在xss


出現彈窗,說明存在xss。
編寫PHP文檔獲取頁面的cookie:
<?php
$cookie=$_GET[‘cookie’];
file_put_contents(‘cookie.txt’,$cookie);
?>
編寫js代碼將頁面的cookie發送到cookie.php中

這里的js代碼要用url編碼

頁面跳轉,說明js執行成功

接下來查看phpstudy中www目錄下是否出現cookie.txt


成功拿到cookie
利用得到的cookie登陸DVWA的首頁:



成功登陸
Medium等級:
同樣,先利用alert進行彈窗測試
發現頁面沒有反應,有可能是<script>被過濾了,瀏覽器雖然會過濾<script>標簽關鍵字,但是只過濾一次,所以可以想辦法繞過。
(1)通過構造兩個<script>標簽,即嵌套:


出現彈窗,說明存xss
(2)也可以大小寫混寫進行繞過


出現彈窗,說明存在xss
然后利用js代碼獲取cookie,成功拿到cookie

High等級
還是先利用彈窗測試是否存在xss,像low和medium等級那樣操作發現頁面並沒有出現彈窗。
接下來我們換個標簽,img標簽和iframe標簽(在一個HTML中嵌入另一個HTML):
Img:<img src=x onerror=alert(1)>

Iframe:<iframe onload=alert(1)>

兩個都成功的出現彈窗
存儲型XSS:
和上面一樣的操作,只是要注意的是在這個里面文本框是有長度限制,但是可以借助火狐的插件Tamper Data,在Tamper Data加入寫的js代碼獲取cookie


