Pwnable/LOB

[LOB] 17. SUCCUBUS

2020. 8. 28. 16:23

passcode : here to stay

(NO DRAG, NO PASSCODE)


간단하게 PLT를 이용하여 푸는 문제이다. PLT에 관련된 내용은 RTL에서 다루었다. 간단히 말해서 함수를 호출할 때 우선 PLT를 참고하고, 이 PLT는 다시 GOT를 참고한다. 문제는 다음과 같은 알고리즘으로 해결한다.

 

  • main 함수의 RET 값이 strcpy 함수의 주소로 덮인다.
  • 또한 strcpy 함수의 RET 값이 “AAAA”로 덮이기 때문에 이를 strcpy 함수의 기능을 이용하여 shellcode의 주소로 덮는다.
  • strcpy 함수를 이용하므로 인자의 개수 및 인자값을 잘 설정하여 argv[1]에 전달한다.
  • strcpy(char *dest, char const source)

따라서 payload는 다음과 같다.

NOP + shellcode + dummy(19) + &(strcpy) + dummy(4) + parameter_1 + parameter_2

 

이렇게 되면 strcpy 함수가 실행되어 parameter_1(“AAAA”가 덮인 부분)에 parameter_2(&(buffer))가 들어가게 되면서 strcpy 함수의 RET이 &(buffer)로 변조되게 된다. 이로 인하여 buffer에 넣어준 NOP+shellcode 가 실행된다.

 

우선 argv[1]+44 값이 &(strcpy@plt)가 되어야 하므로 strcpy 함수의 PLT 주소를 우선 구해보자.

strcpy@plt -> 0x8048410

buffer 시작 주소 -> 0xbffffbd4

이를 이용하여 exploit 해보자.


지속적인 segmentation fault 오류 발생.

 

gdb 분석 결과 -> buffer의 시작 주소를 strcpy 함수의 RET 값으로 변조하려고 했으나 계속하여 1byte씩 오류가 발생하는 바람에 쉘은 따지 못하였다. LOB 파일에 오류가 생겼는지는 모르겠지만 정확한 이유는 모르겠다. 어쨋든 문제를 해결하는 알고리즘에는 오류가 없으므로 정상적인 환경에서는 쉘이 따질 것이다.


[nightmare] : beg for me

저작자표시 (새창열림)

'Pwnable > LOB' 카테고리의 다른 글

[LOB] 19. XAVIUS  (0) 2020.08.28
[LOB] 18. NIGHTMARE  (0) 2020.08.28
[LOB] 16. ZOMBIE_ASSASSIN  (0) 2020.08.28
[LOB] 15. ASSASSIN  (0) 2020.08.28
[LOB] 14. GIANT  (0) 2020.08.28
'Pwnable/LOB' 카테고리의 다른 글
  • [LOB] 19. XAVIUS
  • [LOB] 18. NIGHTMARE
  • [LOB] 16. ZOMBIE_ASSASSIN
  • [LOB] 15. ASSASSIN
Lucvs
Lucvs
Department of Computer Science and Engineering, 21th, Sungkyunkwan University
Lucvs
Lucvs
Lucvs
전체
오늘
어제
  • 분류 전체보기
    • Lucvs
      • 훈련소 일기
      • 寿司
      • 영국 여행기
    • Pwnable
      • Techniques
      • FTZ
      • LOB
      • HackCTF
      • Dreamhack
      • pwnable.kr
      • CTF
    • Web Hacking
      • Techniques
      • Webhacking.kr
      • HackCTF
      • Dreamhack
      • LOS
    • Reversing
      • Dreamhack
    • Cryptography
      • Modern Cryptography
      • Algorithm
      • Differential Attack (차분 공격)
      • Linear Attack (선형 공격)
    • Forensic
      • Dreamhack
    • Programming
      • C
      • Python
      • Java
    • Deep Learning
    • Network
    • Project
    • Hardware
      • Raspberry Pi
      • Arduino

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 런던
  • 잉글랜드
  • rev-basic
  • J
  • Differential Attack
  • dreamhack.io
  • 공군
  • 공군 훈련소
  • 드림핵
  • Error-Based SQL Injection
  • Web Hacking
  • dreamhack
  • 효전화
  • blind sql injection
  • 여행기
  • 훈련소 일기
  • 훈련소
  • Los
  • 차분 분석
  • 기훈단
  • Lord of SQL Injeciton
  • 군대 일기
  • 웹해킹
  • 차분 공격
  • SQL INJECTION
  • 군대
  • 일기
  • lord of sql injection
  • 기본군사훈련단
  • 영국

최근 댓글

최근 글

hELLO · Designed By 정상우.
Lucvs
[LOB] 17. SUCCUBUS
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.