Level 01을 보면 user ID로 username을 보는데 사용되고 db에서 username을 반환한다고 설명되어 있다.

 

This application -> source를 통해서 SQLite3를 사용한다는 정보와 쿼리문이 보인다.

($injection을 통한 힌트로 인젝션을 진행해보자.)


1.

1 union select 1,2를 활용해서 컬럼 수를 확인해 본다.

진행 중 3부터 오류가 나는 것을 확인하고 컬럼 수가 2개인 것을 확인

 

**참고

SQLite 명령어 설명
sqlite_master information_schema(tables,columns)
sql 컬럼 정보

 

2.

컬럼 명을 확인하기 위해서 1 union select 1, sql from sqlite_master 사용

위와 같이 테이블 정보를 가져올 수 있었다 (password 이 부분에서 flag를 얻을 수 있을 것 같은 생각이 든다.)

 

3.

flag 값을 얻기 위해서 1 union select 1, password from users where id=1 사용

따란! flag 값 확인! WEBSEC{Simple_SQLite_Injection}

 

4.

flag 값 입력

칭찬을 받을 수 있었다.. good!


참고

1. union sql injection

https://m.blog.naver.com/koromoon/120172851234

2. sqlite 명령어

https://ittheif.tistory.com/135 

'워게임 > Websec.fr' 카테고리의 다른 글

[websec.fr] babysteps - Level 04  (0) 2021.07.18
[websec.fr] easy - Level 08  (0) 2021.07.14
[websec.fr] easy - Level 02  (0) 2021.07.11
[websec.fr] babysteps - Level 25  (0) 2021.07.07
[websec.fr] babysteps - Level 17  (0) 2021.07.04
복사했습니다!