Lab 12

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

Lab 5

CTF Sql Injection


1. Giới thiệu
Tại bài lab này sẽ thực hiện một số bài CTF liên quan về SQL injection
tương tự như các bài lab trước
2. Các bước thực hiện

Tạo Account thực hiện 3 bài đầu tiên ở mục Sql Injection: 

https://ringzer0ctf.com/challenges

Most basic SQLi pattern.

(https://ringzer0ctf.com/challenges/1 )

Random Login Form

.(https://ringzer0ctf.com/challenges/171 )

Po po po po postgresql.

(https://ringzer0ctf.com/challenges/21 )
Part 1: Most basic SQLi pattern

Ở phần này thì khá đơn giản để bypass qua được

Nếu thử gõ ký tự bất kỳ ‘ ta sẽ bị báo lỗi syntax.

Nhưng thử sửa lại thành:

thì ta có thể thu được flag


Part 2: Random Login Form

Ở phần này sẽ chia 2 phần Login và Register:

- Đầu tiên ta thử tạo một account là user


- Sau đó ta login thử vào account user và sẽ nhận được
một đoạn message

- Ta sẽ được báo không giống với một tài khoản admin


nào đó
- Nhưng khi thử quay lại để tạo một tài khoản admin thì
nhận được thông báo tài khoản có tên admin đã được
đăng ký
Thử tìm hiểu và search trên mạng thì ta có thể được biết rằng ở
trong cơ sở dữ liệu những khoảng trắng giữa các ký tự trong user
sẽ bị loại bỏ khi tạo user đó.

Nhờ thông tin này nên ta thử quay lại và tạo một user là

“a d m i n”

Giữ mỗi ký tự sẽ chứa một khoảng trắng


Sauk khi tạo account thành công , ta quay sang login vào thử và sẽ
nhận được flag .
Part 3: Po po po po postgresql.

Đầu tiên thử câu lệnh 1’ or 1=1# ta sẽ bị thông báo không phù hợp

Sau đấy thử gõ ‘ ta sẽ bị báo lỗi syntax


Và ở đây ta chú ý là khi ta nhập user, password vào thì nó sẽ được mã hóa
sang mã hash khi vào database và có form là:

SELECT * FROM users WHERE (username = ('') AND password = ……

Ta thử thay đổi trong phần username:

…………..WHERE (username = (''))or true --) AND password………

Vậy thì ta thử gõ trong phần username: ‘)) or true --

Và kết quả sẽ nhận được flag

You might also like