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 |