ThcCTF 2021의 SQL for dummies 문제다. 웹 사이트 주소가 주어져 있는데, 해당 웹 사이트를 통해 flag를 얻는 것 같다. 문제 이름, 설명을 고려했을 때 sql injection을 통한 로그인 우회로 flag를 얻는 것 같다는 생각이 들었다.
주어진 주소에 접속하면 위 사진과 같은 화면이 뜬다. 예상대로 로그인 화면이다.
보통 username, password가 유효(올바른지)한지 검증하는 취약한 sql 쿼리문은 select <유효를 검증할 컬럼명> from <회원 정보 테이블> where <테이블의 username 컬럼> = '<입력한 username>' and <테이블의 password 컬럼> = '<입력한 password>';로 처리된다.
이 문제 역시 위와 같은 쿼리문으로 작성됐다 가정하고 쿼리문의 where(조건)절이 무조건 참이되도록 1' or '1' = '1' --를 입력 값으로 줘 보았다.
(처음에는 admin으로 로그인해야지 flag를 얻을 수 있는줄 알고 admin' --를 입력 값으로 줬다. 이 역시 성공했다.)
sql injection을 통해 인증 우회를 하니 flag를 얻을 수 있었다.
'CTF' 카테고리의 다른 글
[HSCTF 8] misc - seeded-randomizer (0) | 2021.06.20 |
---|---|
ThcCTF 2021 - Living QR Code (0) | 2021.06.12 |
ThcCTF 2021 - Welcome (0) | 2021.06.12 |
wtfCTF 2021 - k3Y (0) | 2021.06.05 |
wtfCTF 2021 - MoM5m4g1c (0) | 2021.06.05 |