no image
ftz level18
소스가 좀 길어졌습니다 처음보는 함수도 있어서 당황스러웠는데 해석해가면서하니 이해가 됬습니다. while문먼저보면 while은 무한루프를 돕니다. 그리고 조건문 if에서 check==deadbeef 가 되면 shellout 함수를 실행하게 됩니다. FD_ZERO 같은것들은 잘몰랐는데 구글링해보니 입력값을 받아온다고 그런거같습니다. switch에는 0x08일시 count가 -- 되는것을 볼 수 있습니다. 또 0x08인데 -1을 한다는것은 마이너스가되서 스택안에서 check값을 바꿀수 있다는 뜻입니다. 스택에서 check은 string[0]의 4바이트입니다. 스택의 구조가 이렇습니다. 그러면 바로 공격해봅시다. 쉘이따졋습니다!
2017.04.16
no image
ftz level17
전에 풀엇던거랑 상당히 유사하지만 rtl 이 가능하다 하지만 환경변수로 풀겟다. 이번에도 그냥 40바이트를 주면되겟다. 환경변수에 쉘코드를 넣고 주소값을 얻은뒤 공격하면된다. rtl은 확실하게 공부하고 다시풀어보겠다. 찜찜하지만...
2017.04.15
[pwnable.kr]bof
보호되어 있는 글입니다.
2017.04.14
no image
FIT-HACK CTF Connect 150
한 이미지에서 png파일만 109개였다; png하나씩 다 뽑아내고 다 붙이니 flag가 보였다. 너무한 노가다...
2017.04.14
no image
ftz level16
힌트를보면 프로그램이 정상적으로 흘러간다면 hello there 을 출력하게 됩니다. main함수를보면 정수형으로 crap을 선언하고 포인터 call 과 char형 buf가 20바이트 선언되었습니다. gdb로 프로그램을 보면 풀어오던 문제랑 별다를게없습니다. call에 printit 주소인 0x8048500가 저장이 됩니다. 공격코드는 nop * 40 + shell주소를 넣어주면 됩니다. 공격하기 전에 shell의 주소를 알아야합니다. objdump를 통해 알아낼수있지만 gdb로 shell의 주소를 얻었습니다. 필요한게 모두 수집되었으니 공격했더니 level17의 쉘을 얻었습니다.
2017.04.14
no image
ftz level15
힌트를보면 별다른게없다 그런데 포인터가 사용됬다. gdb 로 깟을때 별차이도없는것같다. level14에서 주던대로 40byte 주면 될것같다. 0xdeadbeef 의 주소는 0x80484b2 이다. 리틀엔디안 형식으로 \xb2\x84\x04\x08 을 주면된다. 그대로 공격하면 처음에 쉘은 땃는데 권한상승이안되서 좀 놀랏다... ㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷ
2017.04.14
no image
ftz level14
char형으로 buf를 20byte주고 fgets로 buf를 45개를 받는다 if에서 check변수값이가 0xdeadbeef면 15레벨의 쉘을 띄운다. ebp-56 에서 deadbeef가 ebp-16 이니 56 - 16하면 40이다 . nop으로 40바이트준뒤에 deadbeef를 리틀엔디안으로주면 된다. .
2017.04.14
CodeGate2017 컨퍼런스 후기
보호되어 있는 글입니다.
2017.04.14


소스가 좀 길어졌습니다


처음보는 함수도 있어서 당황스러웠는데


해석해가면서하니 이해가 됬습니다.


while문먼저보면 while은 무한루프를 돕니다.


그리고 조건문 if에서 check==deadbeef 가 되면


shellout 함수를 실행하게 됩니다.


FD_ZERO 같은것들은 잘몰랐는데 구글링해보니 입력값을 받아온다고 그런거같습니다.


switch에는 0x08일시 count가 -- 되는것을 볼 수 있습니다.


또 0x08인데 -1을 한다는것은 마이너스가되서 스택안에서 check값을


바꿀수 있다는 뜻입니다.


스택에서 check은 string[0]의 4바이트입니다.



스택의 구조가 이렇습니다.


그러면 바로 공격해봅시다.






쉘이따졋습니다!




'Wargame - 고등학교 시절 가독성 주의 부탁드립니다.) > PWNABLE' 카테고리의 다른 글

Protostar stack0  (0) 2017.04.16
ftz level19  (0) 2017.04.16
ftz level17  (0) 2017.04.15
[pwnable.kr]bof  (0) 2017.04.14
ftz level16  (0) 2017.04.14


전에 풀엇던거랑 상당히 유사하지만


rtl 이 가능하다


하지만 환경변수로 풀겟다.



이번에도 그냥 40바이트를 주면되겟다.



환경변수에 쉘코드를 넣고




주소값을 얻은뒤




공격하면된다.




rtl은 확실하게 공부하고 다시풀어보겠다.


찜찜하지만...

'Wargame - 고등학교 시절 가독성 주의 부탁드립니다.) > PWNABLE' 카테고리의 다른 글

ftz level19  (0) 2017.04.16
ftz level18  (0) 2017.04.16
[pwnable.kr]bof  (0) 2017.04.14
ftz level16  (0) 2017.04.14
ftz level15  (0) 2017.04.14

[pwnable.kr]bof

2017. 4. 14. 23:36

This is a protected article. Please enter the password.








한 이미지에서 png파일만 109개였다;


png하나씩 다 뽑아내고


다 붙이니 flag가 보였다.


너무한 노가다...


'Wargame - 고등학교 시절 가독성 주의 부탁드립니다.) > CTF' 카테고리의 다른 글

TamuCTF Web Detective on the Scene  (0) 2017.04.22
TamuCTF pwn1  (0) 2017.04.22
[Codegate CTF_2017] BabyMISC  (0) 2017.03.30
EasyCTF  (0) 2017.03.22
EasyCTF Forensic - ManeEvent  (0) 2017.03.22


힌트를보면 프로그램이 정상적으로 흘러간다면


 hello there 을 출력하게 됩니다.


main함수를보면 정수형으로 crap을 선언하고


포인터 call 과 char형 buf가 20바이트 선언되었습니다.



gdb로 프로그램을 보면 풀어오던 문제랑 별다를게없습니다.


call에 printit 주소인 0x8048500가 저장이 됩니다.


공격코드는 nop * 40 + shell주소를 넣어주면 됩니다.



공격하기 전에 shell의 주소를 알아야합니다.


objdump를 통해 알아낼수있지만 gdb로 shell의 주소를 얻었습니다.



필요한게 모두 수집되었으니 공격했더니


level17의 쉘을 얻었습니다.



'Wargame - 고등학교 시절 가독성 주의 부탁드립니다.) > PWNABLE' 카테고리의 다른 글

ftz level17  (0) 2017.04.15
[pwnable.kr]bof  (0) 2017.04.14
ftz level15  (0) 2017.04.14
ftz level14  (0) 2017.04.14
ftz level13  (0) 2017.04.13


힌트를보면 별다른게없다 그런데


포인터가 사용됬다.



gdb 로 깟을때 별차이도없는것같다.


level14에서 주던대로 40byte 주면 될것같다.




0xdeadbeef 의 주소는 0x80484b2 이다.


리틀엔디안 형식으로 \xb2\x84\x04\x08 을 주면된다.


그대로 공격하면 





처음에 쉘은 땃는데 권한상승이안되서 좀 놀랏다...

ㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷㄷ


'Wargame - 고등학교 시절 가독성 주의 부탁드립니다.) > PWNABLE' 카테고리의 다른 글

[pwnable.kr]bof  (0) 2017.04.14
ftz level16  (0) 2017.04.14
ftz level14  (0) 2017.04.14
ftz level13  (0) 2017.04.13
ftz level12  (0) 2017.04.11


char형으로 buf를 20byte주고


fgets로 buf를 45개를 받는다


if에서 check변수값이가 0xdeadbeef면


15레벨의 쉘을 띄운다.




ebp-56 에서 deadbeef가 ebp-16 이니


56 - 16하면 40이다 .





nop으로 40바이트준뒤에 deadbeef를 리틀엔디안으로주면 된다.

.



'Wargame - 고등학교 시절 가독성 주의 부탁드립니다.) > PWNABLE' 카테고리의 다른 글

ftz level16  (0) 2017.04.14
ftz level15  (0) 2017.04.14
ftz level13  (0) 2017.04.13
ftz level12  (0) 2017.04.11
ftz level11  (0) 2017.04.11

CodeGate2017 컨퍼런스 후기

2017. 4. 14. 00:12

This is a protected article. Please enter the password.