전체 글 172

fsb 이젠 좀 이해하기 (어떻게 arbitrary write가 되는가?)

fsb의 무시무시한 점은1. 임의주소에2. 원하는 값을쓸 수 있다는 것이다.  임의 주소에 쓸 수 있는 이유는 %187c%11$hhn 덕분이고원하는 값을 쓸 수 있는 이유는 %187c%11$hhn 덕분이다. 여기서 또 레전드인게 임의주소인 이유는 %11$인자 위치에 있는'그 주소에' 값을 쓸 수 있기 때문이다. (&의 개념 -> printf("%s", buf) 처럼. %s는 buf(char *) 를 참조한다.) 따라서 %11$ 위치에 원하는 주소를 입력하고 %(원하는 값)c 이용해서 원하는 값을 만들면 된다.

공부/JUN STUDY 2024.09.27

VMware에서 vagrant up 할때 오류해결

사용한 커맨드와 문제상황vagrant box add junbox jun.boxvagrant init junboxvagrant upvagrant ssh 에러메세지vagrant up Bringing machine 'default' up with 'virtualbox' provider...==> default: Clearing any previously set forwarded ports...==> default: Clearing any previously set network interfaces...==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat==> default: Forwardi..

공부/JUN STUDY 2024.09.26

ROP와 튜링완전성

튜링 완전성(Turing Completeness)이란 컴퓨터 시스템이나 프로그래밍 언어가 **튜링 기계(Turing Machine)**와 동일한 계산 능력을 가지고 있음을 의미합니다. 즉, 튜링 완전성을 갖춘 시스템은 적절한 알고리즘과 메모리 자원이 주어진다면 이론적으로 어떠한 계산 문제도 해결할 수 있다는 것을 뜻합니다. 튜링 완전성의 개념은 **앨런 튜링(Alan Turing)**의 이론적 모델에서 유래한 것으로, 모든 계산 가능한 함수나 프로그램을 처리할 수 있는 가상의 기계를 기반으로 하고 있습니다. 튜링 기계는 무한한 테이프(메모리)와 이를 읽고 쓸 수 있는 헤드를 가지고 있고, 정해진 규칙에 따라 동작하는 모델로, 그 계산 능력의 기준을 설정한 것입니다.예시로 설명하면:프로그래밍 언어: 튜링 ..

공부/JUN STUDY 2024.09.23

대한민국 전문연구요원제도 이해하기 (2024.9월기준)

필자는 현재 -IST 계열 전산학부 대학원에 재학중인석사과정 미필 학생이다. 100% 본인이 이해한 바에 근거하여 작성하였으며 오류가 있을 수 있다. 대한민국 전문연구요원제도 이해하기 2024년 9월기준   대한민국엔  1. 석사전문연구요원 2. 박사전문연구요원 크게 두가지의 전문연구요원제도가 있음 (전부 3급이상 현역기준) 1의 경우 석사학위취득 후 병역지정업체에서 3년간 근무 2의 경우 박사학위취득기간 + 1년 병역지정업체에서 근무 하는 것으로 군복무를 대체함   전문연제도에 관심있는 사람의 가장 중요한 고민은 "내가" "어떻게" 할 수 있는가 일 것이다. 이에 집중해서 써보면 1의 경우 나를 병역지정업체에서 선발을 해주면된다. 쉽게 말해 특정한 회사에 골라서 취업을 하면 되는 것. 따라서 해당 회..

GitHub에서 push 했을때 유저 이름이 바뀌어있는경우 해결

깃허브를 사용할때원격 repository 를 clone해서 쓰거나 fork 이후에 나의 작업물들을 remote repository에 push 후에이름이 이상하게 기록된 경우가 있을 수 있다.   그럴땐 아래와 같이 해결해주면 된다.// check my name & emailgit config user.name git config user.email// change my name & emailgit config --local user.name junfuture1103 git config --local user.email junhak1103@naver.com

Vim을 이용한 Line Breaks (자동 줄바꿈 하기) set tw 이용 gqap

특정 보고서 포맷에 맞게끔 원하는 text width에 맞게 긴 문장의 글을자동으로 줄바꿈하는것이 필요할때가 있다. 자동줄바꿈(Line Breaks) 전The rapid advancement of technology in recent years has led to significant changes in various industries, including healthcare, finance, education, and communication, where innovations such as artificial intelligence, machine learning, blockchain, and the Internet of Things are reshaping the way we live, work, a..

공부/JUN STUDY 2024.09.03

Mysql Access denied Error 해결법 Enter password: ERROR 1698 (28000): Access denied for user 'root'@'localhost'

인증 플러그인 변경:MySQL에 sudo로 접속:sudo mysql플러그인 변경: MySQL 프롬프트에서 다음 명령어를 실행하여 root 사용자의 인증 방식을 변경합니다.여기서 your_new_password는 새로운 비밀번호로 설정합니다.ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_new_password';변경 사항 적용:FLUSH PRIVILEGES;MySQL에서 로그아웃:EXIT;다시 로그인 시도:mysql -u root -p

공부/JUN STUDY 2024.08.22

AFL++ qemu mode 이해하기 (High-performance binary-only instrumentation for afl-fuzz)

AFL qemu mode를 이해하고 사용하기위해 아래링크의 글을 읽어본다. AFL++의 qemu mode를 사용하면 Snapshot mode, Deferred initialization, Persistent mode를 사용할 수 있다.참고로 필자는 바이너리의 실행시점에서 initialize 과정을 bypass해서 퍼징의 성능을 높이고 싶어, Snapshot mode를 사용하는 방법을 익히고싶어 이 글을 읽게되었다. https://github.com/AFLplusplus/AFLplusplus/blob/stable/qemu_mode/README.md AFLplusplus/qemu_mode/README.md at stable · AFLplusplus/AFLplusplusThe fuzzer afl++ is af..

공부/JUN STUDY 2024.08.08

AFL++ custom mutator 이해하기 (1) - file input으로 넣기

0. 들어가며https://aflplus.plus/docs/custom_mutators/ Custom Mutators | AFLplusplusThe AFLplusplus websiteaflplus.plus AFL++에는 custom mutator 라는 기능이 있다. 이를 이용해 grammer based input을 생성해내도록하거나 file input이 아닌 다른 방법으로 input을 전달할 수 있도록 고칠 수 있다고 하는데, 어떻게 하면 그렇게 사용할 수 있을지 사용해보았다. AFL++는 기본적으로 파일을 입력으로 받는 프로그램에 대해서만 input을 전달하는 기능을 제공하기때문에, 이를 잘 이용하면 grammer based input을 udp와 같은 다양한 채널로 전송할 수 있을거라는 가정으로 분석해..

공부/JUN STUDY 2024.07.24
728x90