tryhackme-Expose(暴露)

Junglezt發表於2024-03-15

資訊收集

使用nmap對靶機進行埠掃描

這裡我在列舉21埠和1883埠並沒有獲得任何資訊,接著訪問1337埠進行資訊收集

什麼都沒有,接著進行目錄掃描

這裡由於我的wordlists的問題,並沒有掃描到想要的目錄,不過也掃描到了一些常規的目錄

透過參考wp,得到目錄名為admin_101,其實在/admin目錄有提示,但是由於我的wordlists問題,導致掃描不出結果
接著我們訪問admin_101目錄,和admin目錄一樣的登入頁面,不過這次我們可以真正的登入了

根據題目的描述,這裡很可能是sql注入漏洞,使用sqlmap爆破即可
這裡有一個工具使用的細節,如果指定http://10.10.141.65:1337/admin_101/網址讓sqlmap尋找注入點,可能尋找不到,可能需要新增--level引數和--risk引數,以及--forms引數可能查詢到注入點,但是幸運的是,sqlmap工具支援識別http 請求頭資訊進行注入,所以這裡我們使用burpsuite抓取資料包頭,使用sqlmap進行sql注入爆破

接著使用sqlmap進行注入

sqlmap -r target.txt --batch --dbs --current-db
  • --dbs:獲取所有資料庫
  • --current-db: 獲取資料庫的版本
  • --batch: 讓sqlmap自動化執行

一個重要的資料庫expose,使用--dump獲取該資料庫的所有資訊

sqlmap -r target.txt --batch -D expose --dump

得到網站的密碼為VeryDifficultPassword!!#@#@!#!@#1231,登入檢視

沒什麼有用的資訊,但是上述expose資料庫中還有另外一個表config,其中透漏了兩個檔名/file1010111/index.php/upload-cv00101011/index.php

先訪問/file1010111/index.php檢視一下什麼情況
需要密碼輸入破解出的密碼easytohack


登入成功後提示讓我們檢查DOM樹結構,右鍵檢查檢視

得到提示,使用Get方式進行file引數的傳參,透過嘗試為檔案包含,可以包含/etc/passwd

/file1010111/index.php?file=/etc/passwd

檔案包含可以讀取一些檔案,但是並不能反彈shell,這裡我並沒有嘗試php://input或者data://一些偽協議,接著訪問/upload-cv00101011/index.php,透過提示我們訪問密碼為Z開頭的使用者,也就是zeamkish

登入後是一個檔案上傳頁面,但是不能點選upload按鈕

初始訪問許可權

檢視原始碼是js前段驗證,禁用js後將php-reverse-shell.php上傳

上傳成功後提示我們上傳路徑在原始碼

接著訪問/upload_thm_1001目錄

此時我們已經找到了php檔案位置,在本地監聽nc -lvp 4444,然後訪問php檔案獲得shell

上述中我們檢視flag.txt檔案失敗,但是讀取ssh_creds.txt檔案獲取zeamkish使用者的密碼為easytohack@123

使用ssh連線,獲得flag.txt

許可權提升

接著查詢suid檔案,發現很多可以提權的程式

使用find提權獲得root shell,讀取flag.txt

相關文章