[Write-up] Cửa hàng đồ chơi Quận 4 – Junior Hacking Talents

link: https://junior.ctflag.asia/challenges

  • Giao diện chính
  • Đoạn mã nguồn cho trước
  • Bạn có thể thấy rõ là mã nguồn đang hướng ta đến lỗ hổng SQLi vì nó chỉ lọc dấu nháy đơn trong đầu vào, vậy là câu lệnh injection của ta không được có nháy đơn.
  • Các bạn để ý thấy câu lệnh truy xuất 2 dữ liệu đầu vào là username và password, vậy là ta có 4 nháy đơn.
  • Vì thế ý tưởng ở đây là ta sẽ nháy đơn có sẵn để thay thế nháy đơn mà ta cần sử dụng, bằng cách loại bỏ dấu nháy đơn thứ 2 bởi kí tự \ – tức nháy đơn đóng cho username và sử dụng nháy đơn thứ 3 làm dấu nháy đóng cho dấu nháy đơn thứ nhất, từ đó đầu vào password sẽ được tự do chèn mã khai khác và chỉ việc cmt nháy đơn cuối là được:
1"select username from users where username='\' and password='malicious command-- -'"
  • Có thể các bạn chưa biết thì \’ sẽ làm nháy đơn đó bị vô hiệu hóa hoàn toàn. Và thế là ta có thể thoải mái đưa câu lệnh injection hợp lệ vào ô password mà không cần truyền vào nháy đơn như thường lệ, mình chỉnh type thành text cho dễ nhìn
  • Kết quả trả về
  • Như vậy là chúng ta đã có thể inject được vào database, việc tiếp theo là ta cần tìm flag trong này thôi. Trước tiên mình sẽ tìm thử trong các bảng xem có bảng nào chứ flag không
  • UNION SELECT table_name FROM information_schema.tables WHERE table_name like "%flag%"-- -
  • Kết quả trả về
  • Vậy là mình đã có được tên bảng là “flag_304ad593” chắc chắn chứa flag rồi, giờ cần lấy tên cột nữa là xong
  • UNION SELECT column_name FROM information_schema.columns WHERE table_name like "flag_304ad593"-- -
  • Kết quả ta được
  • Giờ thì lấy flag trong cột “flag_3e53dc” thôi
  • UNION SELECT flag_3e53dc FROM flag_304ad593-- -
  • Kết quả ta được

Tham khảo:

  • Em Quốc Anh.

Published by Nhat Truong

Hi

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: