728x90
문제 설명
로그인 서비스입니다.
SQL INJECTION 취약점을 통해 플래그를 획득하세요. 플래그는 flag.txt, FLAG 변수에 있습니다.
Write up

Login 화면이 나오니 코드를 보고 로그인을 진행해야겠죠?

데이터베이스에 비밀번호가 guest인 guest유저와 비밀번호가 랜덤 헥사 16바이트인 admin 유저가 있다.
guest로 로그인을 하자.

오.. 이게 끝이다. 아무래도 코드를 더 봐야겠다.

/login 페이지를 보면...
로그인하는 userid가 admin이면 flag를 출력해주고, 아니면 아까처럼 hello를 띄워준다.
그러면 결국 admin으로 로그인을 성공해야한다.

근데 여기 query_db함수에서 다른 시큐어 코딩 없이 query 인자 값 그대로 실행하는 것을 볼 수 있다.
문제 제목에서 힌트를 보았으니, sql 명령어를 실행하면 될 것 같다.
admin으로 로그인을 성공해야하니, 뒤에 password를 가져오는 부분을 주석처리 해버리자.

엥 패스워드 입력란을 꼭 작성해야하나보다. 근데 어차피 무엇을 입력하던 주석처리니 아무거나 작성해보자.

비밀번호 인증 부분을 없애버려 로그인에 성공했다! 끗
'모의해킹 > Dreamhack Wargame' 카테고리의 다른 글
| error based sql injection 문제 풀이 (0) | 2025.11.03 |
|---|---|
| xss-2 문제풀이 (0) | 2025.10.29 |
| xss-1 문제풀이 (0) | 2025.10.27 |
| session-basic 문제풀이 (0) | 2025.10.24 |
| ROT128 문제풀이 (0) | 2025.10.22 |