반응형

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

+ Recent posts