Profile

머리정리하는곳

c2w2m2

[Toddler's Bottle] random


문제입니다. ssh로 접속해서 코드를 보면



이런식인데 rand 함수는 시드를 주지 않으면 계속 같은 값이 나오게 됩니다. 고로 gdb로 뜯어서 random값만 알면 쉽게 뚫리겠네요.




처음으로 보는 64bit 입니다,,,  처음보고 진짜 고민 많이 했는데 이제는 매우조금 익숙해진,,,


저기 56번줄에 xor연산이 있습니다. eax는 우리가 넣은 key의 값입니다. 그럼 rbp-4 가 random 값이겠네요.


확인 ㄱㄱㄱㄱ



확인 해보면 random 값은 0x6b8b4567 입니다. 그럼


key ^ 0x6b8b4567 = 0xdeadbeef 이니까 처음에는 key를 1~2^32 까지 무차별 대입 하다가 드럽게 안나오길래 다른 방법을 찾아보니


A ^ B = C 일때 B ^ C = A 가 성립한다고 하네요. (신기)




바로 적용해보면 key 값은 3039230856이 됩니다. 


이걸 실행시키고 key값에 넣어보면 성공!

'Pwnable' 카테고리의 다른 글

[Plaid] Ropasaurusrex  (0) 2017.06.28
[Toddler's Bottle] cmd1 , cmd2  (0) 2017.05.30
[Toddler's Bottle] flag  (0) 2017.05.30
[Toddler's Bottle] bof  (1) 2017.05.24
[Toddler's Bottle] FD  (0) 2017.05.24