Chào mọi người đây là post đầu tiên của mình trên blog. Thật ra thì lần đầu đi thi SVATTT2019 cảm thấy rất hào hứng, bên cạnh đó thì cũng chả biết khỉ gì trong đầu, may thay kết thúc vòng loại, thì team mình cũng có cái giải là giải khuyến khích :)))

Nói chung là cả team noob nên đi để học hỏi là chính và ngắm gái SIU là 10, về phần mình thì thi xong giải đó mình cũng chả giải ra chall nào cả, nên về nhà hardcore lại và cũng tìm hiểu đôi chút pass qua được chal Trần Tiger này.

Nghe bảo đây còn là chall cho điểm 👻 Sau khi config docker và clone từ anh Tsu thì cũng đã gặp lại Mr.Tiger

Config challenge

Nhìn vào đề bài lúc đầu cũng chả hình dung ra gì, cứ đọc những câu thoại nổi tiếng của Mr.Tiger thì chỉ nhận thấy những file được load từ hệ thống lên url..

Test submit

Cứ thử payload liên tục..

http://localhost:8004/?tientri=/etc/passwd

http://localhost:8004/?tientri=../../../../etc/passwd

Nhưng cũng bị chặn nốt, liên tục responder Đồ Dô Dăn Qóa 😠 lần đầu pentest cũng khá bế tắc nên ngồi search một lúc thì thấy tools dirsearch để brute force dir trong site này, sau khi run xong thì nhận thấy có folder rất quen đó là upload

Dirsearch Brute Force

Liền truy cập vào thì cũng nhận thấy có thêm lỗi “Directory Listing”, ngoài ra còn có file flag.php click vô xem bùm Flag Cena

Upload directory

Khi xem qua hết các file thì có thấy file khá nghi ngờ là backdoor.php, thường thì file này do admin hay attacker để lại với mục đích dễ truy cập để điều khiển hệ thống. Truy cập vào thì thấy khá nhiều 💩 theo đúng nghĩa đen lẫn nghĩa bóng ..

Access backdoor.php

Sau một hồi payload cũng mò ra được một đống source code chả hiểu gì

http://localhost:8004/?tientri=backdoor.php

Payload backdoor.php

Up source code để debug vậy, sau khi setup về local của máy thì đi thẳng vào source code

Source code

Thì ta thấy tác giả để 2 dòng code này nhằm tránh in ra lỗi nên không debug được nên xóa 2 dòng code này đi..

<?php
error_reporting(0);
@ini_set('display_errors', 0);
?>

Thì mình chạy lại, woaa xổ ra cả mớ lỗi

Code error

Đây cũng là những lỗi do tác giả đưa ra vì chưa defined.. Tiếp theo phải debug ở những chỗ input thì trong PHP sẽ gồm GET/POST, mình bắt đầu tìm thấy 3 nơi input bằng method GET sẵn tiện format lại code cho dễ nhìn…

Để ý dòng dưới cùng của mớ hỗn độn lỗi ở trên ta thấy 1 function vwuu4y() ngay dòng Fatal error

Fatal error: Uncaught Error: Call to undefined function vwuu4y() in E:\xampp\htdocs\pentest\index.php:2 Stack trace: #0 {main} thrown in E:\xampp\htdocs\pentest\index.php on line 2

Theo mình nghĩ sẽ chứa gì đó trong function rồi encode theo hướng nào đó để mình convert về đúng function như ý tác giả

Tiếp theo mình sẽ var_dump từng biến input trong method GET để xem có gì trong đấy..

var_dump($_________________);
$__=!""*73+25-72-$_GET[$_________________];

var_dump()

Thì như thông báo dòng input đó bắt mình nhập vào kí tự o Như vậy mình sẽ nhập o vào url và kèm theo đó brute force để xem nhận lại được gì không…

http://localhost:8076/pentest/index.php?o=12

Thì nó đã đổi sang function strr4v() Như vậy thì cần brute force bằng số để leak thêm nhiều function thì mình sẽ dùng burp suite để leak.. Với mỗi payload sẽ noti ra Call to undefined function với mỗi name khác nhau, như vậy ta hình dung ra nếu payload đúng sẽ không hiện dòng thông báo trên vì vậy filter dòng noti này thì nhận được payload là 25

Payload burpsuite

Mình sẽ dump tiếp 2 biến GET còn lại..

var_dump($_________________);
var_dump($__________);
$_GET[$_________________]($_GET[$__________]);

Thì nhận được dòng thông báo như hình bên dưới..

Payload burpsuite

Lúc này sẽ dễ hình dung hơn 2 biến GET này là:

` $GET“tsutsu”;`

Giờ chỉ cần chạy url brute force để xem như nào 🕵️🕵️🕵️

http://localhost:8004/upload/tientri/backdoor.php?o=25&tsutsu=passthru&e=ls

http://localhost:8004/upload/tientri/backdoor.php?o=25&tsutsu=passthru&e=ls%20../

http://localhost:8004/upload/tientri/backdoor.php?o=25&tsutsu=passthru&e=cat%20../flag.php

Payload burpsuite


FLAG SVATTT{Defe4t_Th3_PhP_ObfuScate!}

Thật ra phải tìm hiểu đủ thứ sau kì thi mới pass được bài này và cũng học được nhiều thứ, cảm ơn anh Tsu rất nhiều. Cảm ơn mọi người đã ghé đọc.

Cheering …

Alt Text