본문 바로가기

wargame.kr 11 / tmitter

2020. 10. 22. 16:10

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에는 adminadmin     는 같은 문자열 취급이라는 특징도 있죠.

 

그러니 id 입력부분의 글자수 제한을 풀어버리고

 

id에 admin                           a / ps 에 12345678 을 집어넣으면

admin                           aadmin 은 다른 문자열이라서 아이디 중복검사를 통과하게 되는데

입력된 문자열의 길이가 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
댓글