[picoCTF] More SQLi

Monitor In Secure☃️·2024년 3월 11일

wargame_web

목록 보기
1/14

username을 admin, password는 1'or'1'='1 이라고 입력해보았더니, 아래와 같은 결과가 출력되었다.

1) 첫번째 시도
일반적인 sql인젝션을 시도해보았지만, 아래 사진과 같이 입력한 값이 그대로 출력되었다.

2) 두번째 시도
이번엔, username을 admin, password는 ' or 1=1-- 로 입력하여 로그인해보았다.

2-1)
칼럼 갯수를 알아보기 위해 union 명령어를 사용한다.

이렇게 하나씩 늘려가면서 칼럼의 갯수를 찾아본다.


위 출력으로 칼럼이 3개라는 것을 알 수 있다.

2-2)
이 때 몇가지 정보를 알아야할 것 같다. 워게임 이름이 'SQLi'이므로 sqlite라고 유추해볼 수 있을 것이다. 일단, sqlite의 마스터의 구조를 조사해보자면, type, name, tbl_name, rootpage, sql이 있다고 나와있다. 관련 정보는 밑의 글에 더 자세히 나와있다.

참고 및 출처) https://blog.naver.com/msyang59/220700786647


위의 결과를 토대로, more_table 안에 falg라는 값이 text 형식으로 저장되어있다는 것을 알 수 있다. select문으로 flag 정보를 알아보자.

예상과는 다르게 select문이 출력되지 않았다. 그렇다면 union 구문을 사용해보자.

flag값을 찾았다!

추가) 구글링을 해보니, burpsuite를 이용해서 하는 방법도 보여서 관련 자료도 참고해보면 좋을 것 같다.
https://hackmd.io/@nabilmuafa/ryanc7Vg3

0개의 댓글