본문 바로가기

Wargame Write-Up/HackCTF69

[HackCTF] (Pwnable) x64 Simple_size_BOF 풀이 문제를 다운받고, ida 로 열어보면, 문자열을 출력하고, buf 의 주소를 알려주고, buf 에 gets 로 입력을 받는다. 요로케 별다른 메모리보호기법이 적용되어있지 않다. 함수목록에는 별다른함수가 없고, 버퍼의 주소를 알기때문에, 버퍼에 쉘코드를 작성한뒤, DUMMY 를 채워넣어 ret address 를 조작해보자 [ 1. 쉘코드 ] https://blog.kimtae.xyz/28 쉘코드 메모 32bit (1)가장 기본적으로 쉘을 띄우는 코드 \x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80 \x6a\x68\x68\x2f\x2f\x2f\x73\x68\x2f\x62\x69.. 2020. 3. 21.
[HackCTF] (Pwnable) x64 Buffer Overflow 풀이 파일을 다운받고, ida로 열어보면, 함수리스트를 볼 수가 있다. 주의깊게 봐야할 함수는 main 과 callMeMaybe 이다. [ main ] scanf 로 문자열을 입력받아 Hello %s 로 출력해준다. Buffer : [rbp-0x110] [ callMeMaybe ] 쉘을 실행시켜준다. scanf 에서도 BOF 가 일어날수있다. [스택] 낮은주소 [buffer+0x110] [rbp] [ret address] 높은주소 ret address까지 dummy 값으로 채운뒤, ret address에 callmemaybe 함수의 주소를 쓰면 되겠다. [ payload ] DUMMY(0x110 + 8 )+ callmemaybe 주소 주소가 8바이트로 표현된다는것을 유의하며 exploit 코드를 짜보자 1 2.. 2020. 3. 21.
[HackCTF] (Web) 가위바위보 풀이 가위바위보페이지이다. 가위바위보를 아무리해도 점수같은것도 나오지않는다. 오른쪽위에 이름과 사진을 변경할 수 있는 페이지가있어서 이름을 help로 변경해봤다. 페이지가 php 여서 소스를 한번 봤다. HackCTFArena helpme 설정 프로필 사진이 변경되었습니다. 이름 진짜 이름을 변경하실 건가요? 현재 이름: helpme 새 이름: 프로필 이미지 /avatars 디렉토리 밑에사용자이미지가 있는 /helpme 가있다. 들어가보면 helpme 파일이 다운받아진다. php 파일을 올려 웹쉘을 실행시켜보자 확장자만 .php 로 바꿔서 올려도 잘 올라가는거 보니, 확장자 말고, 파일포맷을 확인하는 것 같다. 정상적인 JPG 파일포맷 뒤에 웹쉘을 작성하고 업로드해봤다 이제 php 파일에 접근하면되는데, 접근.. 2020. 3. 16.
[HackCTF] (Reversing) Static 풀이 문제를 다운받고 실행하면 Nope 이 나온다. ELF64 파일인데, 아이다로 열어보면 사용되는함수밖에 나오지 않는다. int __cdecl __libc_start_main( int (__cdecl *main)(int, char **, char **), int argc, char **ubp_av, void (*init)(void), void (*fini)(void), void (*rtld_fini)(void), void *stack_end) __libc_start_main 함수이다. 이 함수에서 main 함수를 호출하는데, 동적분석으로 인자로 받는 main함수의 위치를 알아보자 main 함수는 0x555555554a3a 에 있다고한다. [ main ] 지금부터 메인함수를 나눠서 설명해드릴께요 0x55555.. 2020. 3. 14.