# HTB TwoMillion Writeup nmap掃描結果,有開22跟80 port  連過去網頁是舊版HTB的頁面  如果要辦帳號需要邀請碼  原始碼內可以看到如何生成邀請碼  點到 http://2million.htb/js/inviteapi.min.js ,裡面內容被加密過,要去解密  把這段貼到解密網站,可以看到解密後的明文code https://lelinhtinh.github.io/de4js/ 這邊顯示要用api只能用POST去訪問  透過POST去訪問有一串密文,這邊有提示是ROT13加密 `curl -X POST http://2million.htb/invite/api/v1/invite/how/to/generate`  ROT13加密,解密結果,有一串邀請碼生成路徑  透過POST去訪問 `curl -X POST http://2million.htb/api/v1/invite/generate`  獲得一串base64,拿去decode獲得邀請碼  可以去辦帳號登入HTB了  進入後,可以去access頁面載VPN連線檔  透過burp可以看到他透過API去請求VPN生成  `/api/v1`裡面可以看到各種API的功能  如果直接請求`/admin/setting/update` 他會跟你講content-type錯誤  指定為`applocation/json`後,會顯示缺少email  輸入我們自己的mail之後會顯示缺少是不是admin的判斷  把要求的參數都加進去之後,這邊就把自己更新成admin了  透過`/admin/vpn/generate`裡面的命令注入漏洞可以獲得底層的控制權限 >這邊要再指令後面插入注釋`#`才能成功利用  這邊讀取`.env`檔案,通常這檔案裏面都會放些機密性比較高的資訊  * DB_USERNAME=admin * DB_PASSWORD=SuperDuperPass123 利用ssh連線過去之後就可以看到user flag  `find / -perm -u=s 2>/dev/null` 搜尋帶SUID的文件 找到別人留下的CVE檔案  >正規方法是email裡面有漏洞利用的提示 > https://github.com/Fanxiaoyao66/CVE-2023-0386 利用方式是分別開兩個終端執行,如下圖 成功利用後就獲得root flag 
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up