오늘도 짱짱아이다로 열어보니 대학교 팀을 고르고 game함수가 있는 조건문으로 뛰어서 스코어가 121209이상이면 조건문 안으로 들어오는 것 같다. 해당 조건문에 들어오면 read함수에서 s크기보다 더 많이 받아주는 것을 볼 수 있다. bof취약점이다. 해당 부분을 맞춰주고, sh같은 문자가 들어있는지 검사한 뒤에 마지막으로 buf가 변조되었는지 봐주고 함수가 종료된다.

우선 game함수를 보면 menu함수에서 menu출력해주고 경기할 값을 입력해주면 해당 값에 따라 gogo함수에서 진행해서 전역면수 score값을 바꿔준다. 7번은 숨겨진 항목!

score은 unsigned int이고, gogo에는 score을  -- 해주는 기능이 있음으로 score값이 -가 되면 엄청 큰 숫자로 바뀌게 된다.

원하는 조건문까지 들어온 것을 확인할 수 있다. 보면 ebp가 0x124만큼 떨어져 있음으로 저만큼 채우고 ret값에 system함수 주소 넣어주고   sh주소 찾아서 인자로 넣어주면 될 것 같다......라고 생각했는데 오류가 떴다

확인해보니 memcmp함수에서 buf와 random_bak을 비교해주더라. s을 덮으면서 buf도 같이 덮어서 그런거 같은데 buf값을 어케 확인해 줄까 고민하다가 4u가 눈에 띄었다. team이름을 정하는 부분에서 printf함수를 보면 %s가 \n이 나올때까지 출력한다 한다. 그 앞에 read함수는 4u만큼 입력값을 받는데 생각해보면 뒤에 atoi로 변환해 v8에 넣어주고 nptr은 출력해주는 것을 볼 수 있다. 그럼 read에서 `1aaa`를 넣어주면 \n도 안들어가니 계속 출력될 것 같다. 

이런식으로 작성해주면 되겠다!....했는데 되지 않는다...

다시 덮은 스택을 보고 있는데 포인터로 선언된 v10이 마음에 걸렸다. 해당 부분을 맞춰줘야 하나 싶어 주소를 찾아 넣어주니 해결 되었다!

'war game > game' 카테고리의 다른 글

[practice]-19950320  (0) 2019.07.28
[practice]-daRk_TempLer  (0) 2019.07.23
[practice]-rain_dROP  (0) 2019.07.23
[practice]-catchme  (0) 2019.07.16
[practice]-rop_practice64  (0) 2019.07.15

이번 문제는 remote bof이다. 거의 처음 접해본 문제여서 이것 저것 찾아보느라 오래걸렸다. 문제를 보면 recv에서 bof가 일어나는것을 볼 수 있다. 공격방법은 [buffer+44]+[ret]+[nop]+[shellcode]이다.

다만 서버에 ret주소를 모름으로 brute force를 사용해야한다.

맥북이 먼가 잘 안되서 워룸컴으로 진행했다.

우선 해당 터미널의 주소를 파악하고

nc로 4444포트에 접속해 놓는다.

워룸컴에는 peda가 있음으로 이용해 쉘코드를 만들고

페이로드를 작성한 뒤

실행시켜주면

아까 열어둔 포트에서 연결이 되었다고 뜬다~

 

https://d4m0n.tistory.com/93

 

[Linux/x86] Shell Reverse TCP Shellcode

Shell Reverse TCP Shellcode 이번 글에서는 Shell Reverse TCP Shellcode를 만들어 볼 것이다. Shell Reverse TCP Shellcode는 Local이 아닌 Remote 환경에서 대상 시스템의 쉘을 탈취하고자 할 때 사용된다. Rem..

d4m0n.tistory.com

TCP Shellcode 만드는 법

https://eunice513.tistory.com/275

 

[LOB] Level20: xavius → death_knight [完]

death_knight /* The Lord of the BOF : The Fellowship of the BOF - dark knight - remote BOF */ #include #include #include #include #include #i..

eunice513.tistory.com

peda로 쉘코드 만드는 법

 

https://k1rha.tistory.com/entry/Hackerschool-몽이형이-쓰신-리모트-버퍼오버플로우-총-정리remote-buffer-overflow-theory-by-mongil

 

Hackerschool 몽이형이 쓰신 리모트 버퍼오버플로우 총 정리(remote buffer overflow theory by mongil)

리모트 버퍼 오버플로우 총정리 made by Hackerschool_mongil 이번 WGD에선 데몬 형태로 작동하는 네트워크 프로그램에 대한 버퍼 오버플로우 공격 기법들에 대해 학습해 보도록 하겠다. 지금까지 우리는 로컬 영..

k1rha.tistory.com

remote bof 총정리

'war game > LOB' 카테고리의 다른 글

mac OS LOB실행  (0) 2019.07.04
LOB-level19(fgets + destroyers)  (0) 2019.07.04
LOB-level18(plt)  (0) 2019.07.03
LOB-level17(function calls)  (0) 2019.07.03
LOB-level16(fake ebp)  (0) 2019.07.03

+ Recent posts