---
template: overrides/blog.html
icon: material/plus-circle
title: SQL injection - String
description: >
search:
exclude: true
hide:
- feedback
tags:
- SQL Injection
---
# __SQL injection - String__
:octicons-calendar-24: April 28, 2023
---
## __Tài nguyên và link challenge__
Tài nguyên của challenge này tại [https://www.root-me.org/en/Challenges/Web-Server/SQL-injection-String](https://www.root-me.org/en/Challenges/Web-Server/SQL-injection-String)
Link challenge này tại [:octicons-arrow-right-24: http://challenge01.root-me.org/web-serveur/ch19/][http://challenge01.root-me.org/web-serveur/ch19/]
[http://challenge01.root-me.org/web-serveur/ch19/]: http://challenge01.root-me.org/web-serveur/ch19/
## __Tổng quan__
Trong challenge này, mục tiêu của ta là lấy mật khẩu admin. Cụ thể là tiêm câu truy vấn phù hợp để truy xuất được thông tin về account có trong cơ sở dữ liệu.
Một vài keyword có thể hữu dụng cho việc truy vấn dữ liệu trong table như order by, group by,...
## __Kịch bản tấn công__
### Bước 1: Kiểm tra website
Với những thăm dò đầu tiên, ta nhận thấy rằng lỗi SQL có thể được khai thác ở url http://challenge01.root-me.org/web-serveur/ch19/?action=recherche.
Như thường lệ, ta thử tiêm 1 truy vấn đơn giản `' or 1=1` ngay lập tức ta nhận được kết quả như hình bên dưới
Ta thử test với `' or1=1` để kiểm tra thông báo lỗi như nào
Như hình trên, ta thấy thông báo cú pháp "or1" bị lỗi (vì không có dấu cách ::) ), nhưng quan trọng hơn ta thấy được database của website này dùng SQLite3.
### Bước 2: Thăm dò lỗi và tìm flag
Rồi, đây có vẻ là loại UNION. Ta tiến hành kiểm tra số cột bị lỗi. Khi ta dùng query `' order by 3--` ngay lập tức bị lỗi và ta xác định được bảng này có 2 cột
Tiếp theo, ta kiểm tra cột hiển thị bằng `' union select 1, 2--` và ta nhận được cả 2 cột đều có thể khai thác.
Hơn nữa, vì đây là SQLite3 nên ta sẽ dùng `' union select 1,sql from sqlite_master--` để tìm bảng
Well, ta thấy được bảng users. Có bảng user rồi thì ta làm gì?
::) Thì ta đọc nó thôi: `' union select username,password FROM users--`
Well, ta có được danh sách account như hình trên rồi kìa. Lụm flag thôi nào
!!! success "__Flag__"
c4K04dtIaJsuWdi