11번 문제에요.
배점은 264점, 이름은 tmitter 에요.
트짹이네요.
tmitter
you need login with "admin"s id!
===========================
create table tmitter_user(
idx int auto_increment primary key,
id char(32),
ps char(32)
);
들어가보면 로그인과 가입버튼이 있네요.
저기 위에 적혀있는
TMITTER is not fake twitter! :p
는 무시하자고요~
가입으로 들어가서
id testttttt / ps testttttt
로 가입을 하고,
로그인을 해보면?
입력창이 있네요.
당연히 입력하면 밑에 기록이 되고요.
그러면 이제 가입부분을 잘 살펴보면 저런게 있어요.
<!--hint : you need join with admin-->
맨 처음 테이블 만들때 썼던 쿼리에
id char(32),
가 있었잖아요?
저기에 32글자가 넘어가는 무언가를 집어넣으면 32글자 뒤로는 잘라내고 집어넣게 되요.
그리고 DB에는 admin 과 admin 는 같은 문자열 취급이라는 특징도 있죠.
그러니 id 입력부분의 글자수 제한을 풀어버리고
id에 admin a / ps 에 12345678 을 집어넣으면
admin a 와 admin 은 다른 문자열이라서 아이디 중복검사를 통과하게 되는데
입력된 문자열의 길이가 33글자여서 가장 뒤의 a가 잘려나가게 되요.
그러면 DB에 들어가는 문자열은 admin 인데
DB의 특성상 저거랑 admin 은 같은 문자열로 취급을 하게 되요.
그러니 id admin / ps 12345678 로 로그인을 하면?
this flag is only for [???.???.???.???] ->
5d3d2388850b18052485aeaae9e60f55c8e3261d
This admin account will be deleted now...
빠밤!
키가 나왔네요.
'연구글 > wargame.kr' 카테고리의 다른 글
wargame.kr 13 / img recovery (0) | 2020.10.26 |
---|---|
wargame.kr 12 / type confusion (0) | 2020.10.23 |
wargame.kr 10 / md5_compare (0) | 2020.10.21 |
wargame.kr 9 / DB is really GOOD (0) | 2020.10.19 |
wargame.kr 8 / md5_password (0) | 2020.10.13 |