pikachu--XSS(跨站腳本)(反射型,存儲型,DOM型)


1.反射性xss

 

 

輸入一些特殊字符跟數字組合

 

 

查看頁面源碼

 

 

可以看到它把我們輸入的內容原封不動的輸出

我們嘗試在輸入時候構造js的條件,輸入<script>alert(‘xss’)</script>,

這時我們可以看到輸入行對字數有限制,我們可以使用開發者工具進行修改,再次輸入。

 

 

 

 

成功執行,所以存在着xss漏洞,同時我們也可以看到這是一個get型的請求

http://192.168.27.156/pikachu/vul/xss/xss_reflected_get.php?message=%3Cscript%3Ealert%28%27xss%27%29%3C%2Fscript%3E&submit=submit

這里說一下,get與post的區別:get以url方式提交數據;post以表單方式在請求體里面提交

Get方式的xss漏洞更加容易被利用,一般利用方式是將帶有跨站腳本的URL偽裝后發送給目標   

Post方式因為是以表單方式提交,無法直接使用url方式進行攻擊

2.存儲型xss

 

 

我們留言 gxy 刷新一下 發現留言還在上面,也就是存儲到后台

 

 

輸入特殊字符+唯一標識符,提交,查看源碼    發現沒有做任何處理

 

 

構造js

 

 

彈窗   並且刷新之后 還是顯示這個框

 

 

查看XSS_stored.php源碼  知道就是把留言存儲下來

 

 

3.DOM型xss(前端輸入被dom獲取到,通過dom又在前端輸出了)

都是在前端操作的不涉及后端

 

案例一:

 

 

 

具體可以查看:https://www.w3school.com.cn/htmldom/index.asp

可以看一下getElementById()這個方法

 

 

 回到實驗平台

輸入222

 

 查看頁面源碼  看一下what do you see?是什么

搜索what        

 

 通過getElementById方法獲取text,text就是我們要輸入的內容,將text賦值給str,寫到了href里面

 

#’ onclick=”alert(222)”>

<a href=’#’ onclick=”alert(222)”>’>what do you see?</a>

 

 點擊下面的what do you see?  彈框

 

 說明這存在dom型的xss漏洞

 

案例二:輸入是從瀏覽器的url獲取的

 

 

 

查看源碼

 

 

 與案例一不同的是,輸入是從瀏覽器的url獲取的

 

構造閉合

#’ onclick=”alert(222)”>

 

 

 

 

只要用戶打開這個網頁

http://192.168.27.156/pikachu/vul/xss/xss_dom_x.php?text=%23%27+onclick%3D%22alert%2822%29%22%3E#

就可以把這個的內容插入到用戶頁面里面

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM