一文带你读懂点击劫持详解+实验
這個漏洞聽起來似乎比getshell還炫酷,但如果真正理解了,其實就會發現其實還是挺簡單的
漏洞原理
點擊劫持又稱UI-覆蓋攻擊,是2008年由互聯網安全專家羅伯特·漢森和耶利米·格勞斯曼提出點擊劫持的概念。因為首先劫持的是用戶的鼠標點擊操作,所以命名叫點擊劫持。主要劫持目標是含有重要會話交互的頁面,如銀行交易頁面、后臺管理頁面等。曾經 Twitter 和 Facebook 等著名站點的用戶都遭受過點擊劫持的攻擊。
系統環境
- windows 10
- phpstudy-pro
- php7.3.4
- apache2
實驗過程
我們先模擬出一個正常登陸的頁面(服務A),編寫頁面源碼如下:
/*** 安全小站:http://www.anquanxiaozhan.com* b站: 一只技術君* Create by Sp4rkW on 2019 **/ <form action="login.php" method="post"><fieldset><legend>用戶登錄</legend><ul><li><label>用戶名:</label><input type="text" name="username"></li><li><label>密 碼:</label><input type="password" name="password"></li><li><label> </label><input type="submit" name="login" value="登錄"></li></ul></fieldset> </form> <?php /*** 安全小站:http://www.anquanxiaozhan.com* b站: 一只技術君* Create by Sp4rkW on 2019 **/ //簡單處理header('Content-type:text/html; charset=utf-8');// 處理用戶登錄信息if (isset($_POST['login'])) {# 接收用戶的登錄信息$username = trim($_POST['username']);$password = trim($_POST['password']);// 判斷提交的登錄信息if (($username != '') || ($password != '')) {$myfile = fopen("newfile.txt","w");$txt = $username." ".$password;fwrite($myfile,$txt);fclose($myfile);}} ?>頁面演示截圖如下:
由于沒有連接數據庫(懶),直接通過fwrite函數將表單數據存儲為txt到本地,以證明服務A做了相關處理。
由于這個服務沒有做任何防護處理,所以其存在點擊劫持漏洞,也可以通過最簡單的方式去進行驗證是否存在此漏洞,構造一個html頁面
/*** 安全小站:http://www.anquanxiaozhan.com* b站: 一只技術君* Create by Sp4rkW on 2019 **/ <iframe src="http://127.0.0.1/web1.php"></iframe>如果有如下情況出現,即可說明很大可能性存在點擊劫持漏洞,截圖演示如下:
繼續我們的點擊劫持漏洞驗證實驗,構造如下的代碼:
原理如下:
- 我們先在web2.php中構建了一個表單在瀏覽器顯示,我稱之為“膜x”
- 在通過iframe標簽構建第二層讓瀏覽器顯示的UI,我稱之為“膜y”
- 之后使用css對iframe標簽進行設置,首先通過width: 1440px; height: 900px; position: absolute; top: -0px; left: -0px;將其平鋪,之后通過opacity,z-index來將“膜y”移動到“膜x”上方對齊,并將其透明化,opacity數值從0到1,數值越小透明度越高,反之越明顯;z-index數值越高越靠近用戶,高數值控件在低數值控件前。
完整的效果是這樣的:
似乎好像很正常的一個頁面,但當修改opacity值,使“膜y”不再透明時,你就會發現問題。
也就是說,你表面上輸入的是確認身份框,實際上是登陸框;或許你會覺得,這誰這么傻亂輸入密碼啊,對我毫無危害,但你要想到,假如這只是一個按鈕的,比如說微博的關注按鈕,你點擊了一個別的頁面上的看似是關閉廣告的按鈕,實際上卻是已經不知不覺中關注了某個你不認識的人(前提微博有點擊劫持漏洞)。由此拓展,點擊劫持還是有很多用處的。
動態的演示效果無法使用圖片來演示了,有興趣看演示效果的,可以之后去我的b站觀看視頻~
總結
以上是生活随笔為你收集整理的一文带你读懂点击劫持详解+实验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每日随记
- 下一篇: 3.17 让你的小红书笔记排名更靠前的六