pwnlab-init靶機測試筆記


Vulnhub-pwnlab-init靶機地址

Netdiscover 找到靶機地址,nmap掃描

dirserach掃描先

訪問鏈接,注意到有=號,page=login可能對應着包含login.php文件

嘗試包含其他文件,注意這兒文件沒有跟.php 說明代碼中有處理,所以一般我們包含其他文件如/etc/passwd或者其他格式文件是顯示不出來的。 需要使用偽協議來操作
文件包含可以參考:https://github.com/Go0s/LFIboomCTF

先嘗試讀取login.php
/?page=php://filter/read=convert.base64-encode/resource=login

解碼后得

可以看到,數據庫賬戶密碼在config文件中,同時這兒采用了預編譯,所以注入不了
重新包含config文件后可得

嘗試使用密碼登陸ssh和mysql
發現22沒端口沒開 遍歷所有端口看是不是開在了大端口

仍未發現 好吧 嘗試mysql

找到了用戶密碼,登陸后自動跳轉到了上傳頁面,可以傳馬了

傳php馬會報錯格式限制,

查看upload文件

白名單驗證后綴,保存文件時人為添加后綴,繞過不了。。
接着回到dirsearch截圖,查看到還有index.php

Index.php包含了一個文件,而這個文件我們可控
先上傳一個圖片馬

接着在cookie處添加lang變量訪問index.php,

Shell來了

提權:
看到home下有4個目錄,各自權限都是自己 。看到底下三是數據庫里顯示的那三個

嘗試登陸他們賬號 先切換到tty

python -c '__import__("pty").spawn("/bin/bash")'

kent空的

kent竟然不對。。

kane有東西

msgmike文件是個可執行文件,調用了cat命令,並且存在setuid setgid !

那么我們可以將cat命令替換成bash,就可以獲取msgmike所屬的mike權限了

已經是mike權限了,先將環境恢復
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

來到mike的home目錄 ,又來了個msg2root

執行msg2root后仍然是將輸入變輸出,但是嘗試id后發現輸出是會被執行的,但是一直是本地執行

分析該程序
前面能看到這個程序把我們的輸入寫入到messages.txt中,后面猜測紅框處是不是一條變量語句,其中先輸出我們的輸入,后獲取messages.txt內容,然后調用system命令執行

輸入1;bash -p ,使用分割符繞過並執行命令。

總結:
考察了文件包含,偽協議,替換原生命令以利用給定條件,逆向盲猜等
難度簡單


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM