본문 바로가기

분류 전체보기88

pwntools 기본 명령어 pwntools는 리눅스 환경에서 exploit코드 작성을 쉽게 해주는 파이썬 라이브러리이다. exploit 실습에서 불편하게 input을 주지 않고 편리하게 input과 output을 받아오기 위해서 사용한다. 우분투에서 파이썬에 접속한 후 from pwn import*를 입력해주면 pwntools library에 로드가 가능하다. p=process('./바이너리명') 명령어를 입력하면 로컬 바이너리에 연결할 수 있다. p=remote('./주소', 포트번호) 명령어를 입력하면 원격 서버 바이너리에 연결할 수 있다. 이렇게 연결을 하고나서 바이너리에 input을 넣자! p.send('문자') 입력하면 된다. 이 명령어는 개행문자는 포함하지 않는다. p.sendline('문자') 이 명령어는 개행문자까지.. 2021. 9. 24.
어셈블리 핸드레이 2 2번도 풀어보자 함수를 살펴보니 func함수와 main함수를 중점으로 보면 좋을 것 같다. 메인함수 먼저 맨 앞 두줄은 함수 프롤로그이고 mov DWORD PTR [rbp-0x4], 0x0 이거는 처음에 변수를 정해주는 것 같다. mov edi 0x4006c4 뒤에 있는 주소가 뭔지 모르겠어서 아래 사진처럼 직접 확인을 해보니까 "점수를 입력하세요 : " 이거였다. 이게 프린트 되게끔 printf 함수를 불러왔다. 그리고 lea rax, [rbp-0x4] rbp-0x4에 저장된 주소를 rax에 저장한다. mov rsi, rax rsi에 rax(rbp-0x4 주소)값을 넣고 mov edi, 0x4006e1 아래를 참고하면 뒤의 값은 %d이다. mov eax, 0x0 이렇게까지 해주면 scanf를 호출한다... 2021. 9. 7.
어셈블리 핸드레이 1 2주차 숙제로 핸드레이를 직접 해보는 숙제를 내주셨다. 먼저 gdb-peda를 실행하여 어떤 함수가 있는지 i fu 명령어로 살펴보았다. func함수와 main함수가 있어요!! 하나씩 어떤 함수인지 살펴보자. 일단 메인함수를 어셈블리어로 확인해보자. push ebp mov ebp,esp 여기는 함수의 프롤로그 부분인 듯 하고 mov DWORD PTR [ebp-0x4], 0x0 여기 부분은 ebp-0x4의 데이터 4바이트를 참조하여 여기에 0을 넣어라! 이런 뜻인 것 같다. lea eax, [ebp-0x4] 이거는 ebp-0x4에 저장된 주소를 eax에 저장하라는 의미이다. 그러고 나서 eax 그니까 여기서 값은 0이고..? 이걸 push하고 %d를 push한 것은 내 생각에는 scanf("%d", eax.. 2021. 9. 7.
CVE-2019-17320 | 넷사랑 XFTP Client 버퍼오버플로우 취약점 넷사랑 사의 XFTP Client에서 발생하는 버퍼 오버플로우 취약점을 해결한 보안 업데이트 발표했다. 영향 받는 버전을 사용 중인 이용자는 해결방안을 참고하여 최신버전으로 업데이트 하기를 권고했다. XFTP Client에서 공격자가 제어 가능한 FTP 서버의 파일을 다운로드할 때 파일명을 복사하는 과정에서 버퍼 오버플로우가 발생하여 임의 코드를 실행할 수 있다. XFTP Xftp 개념 Xftp는 넷사랑 컴퓨터에서 개발한 파일 전송 클라이언트로 FTP와 SSH의 확장 기능인 SFTP 프로토콜을 지원한다. 윈도우즈 탐색기와 거의 유사한 구조로 설계 되어있고 탭 기반 인터페이스를 갖고 있어서 사용하기가 용이하다. 간결하고 직관적인 인터페이스로 기본적인 파일 전송과 관리가 가능하여 접근성이 좋다. Xftp 기.. 2021. 8. 31.