ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Addis Ababa
    Wargame/Microcorruption 2014. 8. 14. 11:21

    이번 문제는 login 함수가 없다. main 함수를 살펴보자.

    4438 <main>
    4438:  3150 eaff      add	#0xffea, sp
    443c:  8143 0000      clr	0x0(sp)
    4440:  3012 e644      push	#0x44e6 "Login with username:password below to authenticate.\n"
    4444:  b012 c845      call	#0x45c8 <printf>
    4448:  b140 1b45 0000 mov	#0x451b ">> ", 0x0(sp)
    444e:  b012 c845      call	#0x45c8 <printf>
    4452:  2153           incd	sp
    4454:  3e40 1300      mov	#0x13, r14
    4458:  3f40 0024      mov	#0x2400, r15
    445c:  b012 8c45      call	#0x458c <getsn>
    4460:  0b41           mov	sp, r11
    4462:  2b53           incd	r11
    4464:  3e40 0024      mov	#0x2400, r14
    4468:  0f4b           mov	r11, r15
    446a:  b012 de46      call	#0x46de <strcpy>
    446e:  3f40 0024      mov	#0x2400, r15
    4472:  b012 b044      call	#0x44b0 <test_password_valid>
    4476:  814f 0000      mov	r15, 0x0(sp)
    447a:  0b12           push	r11
    447c:  b012 c845      call	#0x45c8 <printf>
    4480:  2153           incd	sp
    4482:  3f40 0a00      mov	#0xa, r15
    4486:  b012 5045      call	#0x4550 <putchar>
    448a:  8193 0000      tst	0x0(sp)
    448e:  0324           jz	#0x4496 <main+0x5e>
    4490:  b012 da44      call	#0x44da <unlock_door>
    4494:  053c           jmp	#0x44a0 <main+0x68>
    4496:  3012 1f45      push	#0x451f "That entry is not valid."
    449a:  b012 c845      call	#0x45c8 <printf>
    449e:  2153           incd	sp
    44a0:  0f43           clr	r15
    44a2:  3150 1600      add	#0x16, sp

    별다른 특이사항이 없고, 공격할 부분이 마땅히 보이지 않는다.

    하지만 새롭게 printf문이 추가되었다. 여기서 냄새가 난다.

    바로 이번레벨에선 Format String 취약점이 등장한다.


    또한 이번레벨은 보안레벨이 낮은 LockIT Pro HSM-1를 사용하므로,

    단순히 password를 비교한 후 stack에 값을 저장하고 이 값이 0이 아니면 unlock된다.

    그러므로 RET를 조작하여 실행흐름을 바꿀 필요 없이, 단순히 sp가 가리키는( 0x3616 ) 부분의 값만 바꾸면 된다.


    16362578256e 로 간단하게 클리어.

    'Wargame > Microcorruption' 카테고리의 다른 글

    Jakarta  (0) 2014.08.11
    Santa Cruz  (0) 2014.08.04
    Montevideo  (0) 2014.07.31
    Whitehorse  (0) 2014.07.31
    Johannesburg  (0) 2014.07.31
Designed by Tistory.