728x90

이 문제는 pwn중에서 가장 많이 풀린 문제이다. 일단 무슨 파일인지 알아보자.

 

 

보면 또 64비트 ELF파일이다. 그럼 실행시켜보자.

 

 

배스킨라빈스 31게임을 한다. 인터넷에서 필승법을 찾아서 시도했지만 쟤가 반칙을 쓰면서 졌다. 그럼 어쩔수 없이 디버깅을 해야겠다.

 

 

만약 이긴다면 저런 문구를 볼수있다. 일단 힌트가 ROP라고 한다.

 

 

일단 checksec을 통해 보호기법을 확인해보자. NX가 걸려있는걸 봐서는 확실히 힌트가 제대로 된것임을 대충 짐작할 수 있다.

 

 

일단 컴퓨터의 입장에서 your turn에 내가 입력을 넣어준다. 그러니 여기서 분명 오류가 나올것이라고 생각하고 보았다. 이 문제에서는 함수 이름을 바꾸지 않아서 금방 찾을 수 있었다. read함수를 보면 숫자를 입력받는데 문자열로 받고 있다. 그래서 오버플로우가 발생한다.

 

 

 

 

 

 

 

 

 

 

 

'ctf write-up > Codegate CTF 2018' 카테고리의 다른 글

Miro - crypto  (0) 2018.02.09
RedVelvet - reversing  (0) 2018.02.09
728x90

이번 ctf에서 가장 많이 풀린 리버싱 문제이다. 일단 어떤 파일인지 먼저 보자.

 

 

file 명령어를 통해 이 문제는 64비트 ELF파일임을 알았다. 이제 한번 실행을 시켜보자.

 

 

보면 flag를 입력하는곳이 있고 틀린 값이 들어오면 그냥 종료시켜버린다.

 

 

gdb-peda를 통해 종료시키는 함수를 찾았다. 일단 angr를 이용해서 풀것이기 때문에 이 주소를 적어두고 main문을 보자.

 

 

gdb-peda로 보면 0x4012aa에 보이는 func1처럼 밑으로 쭉 내리면 여러 함수들을 거치게 되어있다. 0x401277을 보면 글자수가 26글자인것을 알수있다. 일단 그걸 기억해두고 다시 내려보자.

 

 

여기부분이 일단 가장 괜찮아 보였다. 한번 코딩해보자.

 

 

이렇게 angr를 이용하여 코딩을 해주었다. angr 사용법은 나중에 자세히 포스팅 하겠다. 한번 돌려보자.

 

 

 

돌리면 저렇게 flag값이 나온다. 그런데 저게 인증이 안되었다. 그래서 happiness노래 가사를 찾고 b를 a로 바꾸어서 인증을 하니 성공했다.

 

 

이건 gdb-peda를 이용하여 푼것이고 아이다같은 디버거가 편하면 그걸로 풀어도 상관없다.

 

'ctf write-up > Codegate CTF 2018' 카테고리의 다른 글

Miro - crypto  (0) 2018.02.09
BaskinRobins31 - pwn  (0) 2018.02.09
728x90

아까전에 노트북을 업데이트를 위해 재부팅하였다. 그런데 갑자기 잘 되던 와이파이에 인터넷 없음이라는 것만 뜨고 인터넷 연결이 안되었다. 그래서 해결 방법을 찾아보았다.

 

 

 

일단 윈도우키랑 R키를 동시에 눌려서 실행창을 열어준다음 devmgmt.msc를 쳐서 장치관리자를 실행하자.

 

 

저기서 Intel(R) Dual Band Wireless-AC 3168을 지워준다. 이건 MSI기준이고 다른 노트북들도 그냥 Wireless라고 표시된 드라이버를 지우면된다.

 

 

그리고 네트워크 어댑터를 우클릭해서 하드웨어 변경 사항 검색을 클릭해준다. 그리고 재부팅을 해주자.

 

 

 

그러면 깔끔하게 고쳐진것을 볼수있다.

 

'Tip' 카테고리의 다른 글

한글 수식편집기 사용법  (0) 2018.08.06
리눅스 apt-get 에러날때  (0) 2018.05.15
외국사이트 우리말로 보기  (0) 2018.02.12

+ Recent posts