
users테이블에서 username과 password를 구해보자.
이번에 사용할 함수는 CAST() 함수다.
CAST(컬럼 명, 값 AS 변경하려는 데이터 타입)
오류부터 찾아보자.

오류가 발생했다.
오류내용을 보면 TrackingId를 검증하는 쿼리며, id값 뒤에 작은따옴표가 붙는 것을 알 수 있다.
작은 따옴표 뒤에 주석을 넣으면 어떻게 될까?

정상적으로 출력된다.
CAST함수를 사용하여, users테이블이 존재하는지 확인해 보자.

아!! 앞에 AND가 있기 때문에 반환 값이 bool형식이어야 한다.
bool형식으로 다시 보냈다.

이번에는 2개 이상의 쿼리가 반환돼서 에러가 발생했다.

코드가 잘렸다...
TrackingId를 지우고 다시 보내보자.

제대로 출력된다.
users 테이블이 존재한다는 뜻이다.
username을 출력해 보자.
' AND 1=CAST((SELECT username FROM users LIMIT 1) AS int)--

첫 번째 계정이 administrator다.
password를 출력해 보자.

'Burpsuite Academy' 카테고리의 다른 글
| Lab: Blind SQL injection with time delays and information retrieval (0) | 2024.05.30 |
|---|---|
| Lab: Blind SQL injection with time delays (0) | 2024.05.29 |
| Lab: Blind SQL injection with conditional errors (0) | 2024.05.28 |
| Lab: Blind SQL injection with conditional responses (0) | 2024.05.27 |
| Lab: SQL injection UNION attack, retrieving multiple values in a single column (0) | 2024.05.24 |