728x90

보안공부/pwnable.kr 5

[pwnable.kr] passcode

ssh 이젠그냥 기본공식... 뜨는 파일 세 개 중에 확장자 c인거 먼저 열어봤음 fflush(stdin) : 입력 버퍼 지우는 함수 입출력 함수들이 버퍼를 공유하기 때문에 오류가 발생할 수 있음... 이를 피하기 위해 스트림 파일의 버퍼를 싹 ~ 청소해준다 %100s -> 문자열 출력폭이 100이라는 뜻 일단 뭐든 해봄 뭐가... 문제지--? https://bachs.tistory.com/entry/Pwnablekr-passcode pwnable.kr passcode 1. 문제확인 Mommy told me to make a passcode based login system. My initial C code was compiled without any error! Well, there was some c..

(수정중)[pwnable.kr] flag

malloc() : 동적 메모리 할당 다운 받은 파일을 hexedit으로 열어봄 수상한 부분 발견~~ url 들어가보니까 이게... 나오는데 그렇다면 UPX란~? UPX는 여러 운영체제에서 수많은 파일 포맷을 지원하는 오픈 소스 실행 파일 압축 프로그램 UPX 압축되어있는 파일인가? 그럼 일단 풀어봄 언패킹하기... 칼리 켠다 아 리버싱은 아직 정말 모르겠다~~

[pwnable.kr] bof

칼리 리눅스 켰음 이 선생님께서 어셈블리어 명령어부터 숙지하라고 하셨다... 넵 출처: https://webstone.tistory.com/123 pwnable-Bof write up 이번 시간에는 pwnable.kr에서 bof문제에 대해 write up해보겠다. 해당 bof writeup을 하기 전 간단하게 assembly 언어의 기본 명령어 부터 숙지하자. opcode(CPU에서 실행할 수 있는 단일 명령어) push -스택에.. webstone.tistory.com opcode(CPU에서 실행할 수 있는 단일 명령어) push 스택에 값을 넣음 pop 스택에 값을 뺀다 add 값을 더함 sub 값을 뺀다 mov 값을 넣음 ex) a=b ebp=esp lea 값 대신 주소를 넣음 cmp 두 값을 비교..

[pwnable.kr] collision

MD5란... 128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다 (출처: 위키백과) putty로 들어감 ls로 목록 보니까 col col.c flag 세 개 있음 flag는 역시나 권한때문에 못 봄 col.c 열어봤다 4바이트씩 5번 더해서 20byte로 만들어야함... (int 라서 4바이트) 16진수 21DD09EC를 5로 나눴더니 몫은 6C5CEC8 근데 21DD 09E8 * 5 = 21DD09EC나옴;; 나머지는 0x4임(그냥 4 아니고 16진수 4!!) 0x6C5CEC8 + 0x4 = 0x6C5CECC 6C5CEC8*4 + 0x6C5CECC 수 맞추기 위해서 6C5CEC8로 네 번, 6C5CECC을..

[pwnable.kr] fd

들어가서 비밀번호 guest 입력하니 메인 화면이 반겨준다. 제일 수상해보이는 flag 먼저 열어봄... 안열린다. fd도 열어봤는데 알 수 없는 말이 가득하다. fd.c 열어봤더니 오... 함수설명 strcmp(): 문자열 비교 함수 -1: ASCII 코드 기준으로 문자열2(s2)가 클 때 0: ASCII 코드 기준으로 두 문자열이 같을 때 1: ASCII 코드 기준으로 문자열1(s1)이 클 때 앞의 !(느낌표)는 NOT 의미 -> 다르면 0, 같으면 1 atoi() : 문자열을 정수 타입으로 바꿔주는 함수, char to integer read() : 파일을 읽는 함수 read(fd, buf, 32)는 fd라는 파일디스크립터를 buf배열버퍼에 저장, 길이는 최대32 라는 뜻... 0x1234 16진수..

728x90