반응형
SQL injection 문제입니다. 관리자의 패스워드를 알아내라고 하네요.
문제에 접속하니 로그인 창이 뜨네요. 관리자의 패스워드를 알아내야 하므로 id에 admin, password는 가장 기본적인 sql 쿼리인 'or1=1-- 을 넣어주었습니다.
그랬더니 에러문이 출력되었습니다. or 1=1을 띄어주어야 하나 봅니다.
이번엔 id에 admin, password에 'or 1=1-- 을 넣어주었습니다. 그랬더니 admin의 패스워드가 아닌 user1의 패스워드가 출력되네요.
여기에선 sql injection 취약점이 존재한다는 사실을 알 수 있었습니다.
그래서 id 부분에 sql 쿼리문을 넣어보았습니다. 처음에는 admin'or 1=1-- 로 시도 하였더니 안되더라구요.
그래서 admin'or '1'='1 을 넣어보았습니다.
!!! admin의 패스워드가 출력되었어요! 하지만 마스킹 처리가 되어있네요. 당황하지 마시고 F12 개발자도구를 열어봅니다...
소스코드 상에는 패스워드가 평문으로 출력되어 있네요. 해당 값이 flag 값입니다.
서버 단에서 마스킹 처리를 한 후에 클라이언트 단으로 넘어와야 하는데,, 이 부분도 취약점으로 볼 수 있겠네요.
어쨌든 클리어!
반응형
'Study > Wargame' 카테고리의 다른 글
root-me >> Command injection (0) | 2018.04.24 |
---|---|
root-me >> HTTP Header (0) | 2018.02.23 |
root-me >> Improper redirect (0) | 2018.02.22 |
root-me >> Driectory traversal (0) | 2018.02.21 |
root-me >> Install files (0) | 2018.02.21 |