Skip to content
Tags

SQL Truncation

Estimated time to read: 3 minutes

May 02, 2023


Tài nguyên của challenge này tại https://www.root-me.org/en/Challenges/Web-Server/SQL-Truncation

Link challenge này tại http://challenge01.root-me.org/web-serveur/ch49/

Tổng quan

Trong challenge này, mục tiêu của ta là cần truy xuất quyền truy cập vào khu vực admin. Bài này nói về việc cắt bớt input đầu vào nếu input vượt quá quy định ở phía BE.

Kịch bản tấn công

Bước 1: Kiểm tra website và lấy flag ::)

Website cho ta một trang đăng kí tài khoản và 1 trang đăng nhập tài khoản. Công việc của ta là đăng kí 1 tài khoản nào đó nhưng

Image title

Hình ảnh mô tả trang đăng kí

Tiếp theo, ta vào trang đăng kí xem có lượm nhặt được gì không.

Image title

Hình ảnh mô tả trang đăng kí

Source code trang này có vẻ là một gợi ý cho ta, ta lượm được 1 đoạn lệnh SQL về việc tạo bảng

1
2
3
4
5
CREATE TABLE IF NOT EXISTS user(   
    id INT NOT NULL AUTO_INCREMENT,
    login VARCHAR(12),
    password CHAR(32),
    PRIMARY KEY (id));

Từ đoạn code trên, ta thấy được username chỉ tối đa 12 kí tự ta sẽ tiêm payload trên 12 kí tự và để cho hệ thống nó ngắt các kí tự phía sau ví dụ admin 123 và password là admin123456. Sau đó qua trang admin nhập password và lấy flag ::).

Image title

Hình ảnh mô tả kết quả login account admin trên
Chậm lại và suy nghĩ 1

Tại sao khi tạo tài khoản với độ dài lớn hơn độ dài phía db đặt ra mà không nhận được thông báo lỗi?

Giải quyết chậm lại suy nghĩ

Contact me :>

Chậm lại và suy nghĩ 2

Có cách nào để sửa lỗi này không và làm thế nào để biết lỗi này?

Giải quyết chậm lại suy nghĩ 2

Contact me :>

Flag

J41m3Qu4nD54Tr0nc

Comments