[FE-CTF 2022] Dig Host 1

Information Gathering

Hi, có cái giải CTF mà các challenges web exploit của nó toàn là lỗi Command Injection. Thôi thì tớ làm luôn seri 3 bài Command Injection luôn vậy.

Đọc cái tên của challeng cũng biết là lỗi Command Injection. Dig host, trong đó dig là một tool trên Unix giống như nslookup ở trên Windows.

Lệnh dig được dùng để phân giải tên miền thành các địa chỉ IP.

Ví dụ: dig www.google.com

Dig

Exploit

Để khai thác challenge này, mình cần biết 1 khái niệm gọi là multi command line. Nghĩa là thực hiện nhiều lệnh trên 1 dòng lệnh.

Các bạn có thể tham khảo ở đây.

Khi mình nhập vào DNS của Microsoft vào (1.1.1.1) thì hệ thống sẽ show ra info cái DNS đó.

Dig

Lệnh thực thi của hệ thống sẽ là: dig 1.1.1.1. Giống như hình bên dưới.

Ý tưởng của mình sẽ là dùng tiếp câu lệnh tiếp theo (ls: hiển thị các file và folder trong thư mục hiện tại) và ngăn cách câu lệnh trước bởi dấu ;.

Đưa payload đó lên hệ thống và ta đã thấy được các file hiện tại.

Nhiệm vụ cuối cùng là tìm file flag và tiến hành đọc nó. Mình sẽ back lại 1 cấp và đã tìm thấy file flag.

Có một cách nữa để tìm file flag nhanh hơn. Đó là dùng lệnh find

1
2
3
4
find -type f -name "flag"

-type f: là tìm tất cả các file
-name "name": có tên là name

Kết quả khi tìm bằng lệnh find thì flag nằm ở ./web-apps/php/flag.

Dùng lệnh cat để đọc flag ra nữa là xong.

1
1.1.1.1;cd /; find -type f -name "flag"; cat ./web-apps/php/flag

References

  1. https://www.makeuseof.com/how-to-run-multiple-linux-commands-at-once/#:~:text=On%20Linux%2C%20there%20are%20three,The%20Logical%20AND%20(%26%26)%20operator
  2. https://github.com/dovankha/PayloadsAllTheThings/tree/master/Command%20Injection#filter-bypasses
  3. https://knowledge-base.secureflag.com/vulnerabilities/code_injection/os_command_injection_vulnerability.html

[FE-CTF 2022] Dig Host 1
https://dovankha.github.io/2022/11/06/dig-host-1/
Author
Khado
Posted on
November 6, 2022
Licensed under