BlogHide Resteemsjej2660 (25)in hacking • 6 years agofuzzing theory퍼징(fuzzing)이란 무엇인가? 어플리케이션에 무작위 변수를 무차별 적으로 대입하여 시스템을 fuzz 시키는것 이를 통해 시스템의 취약점은 찾을 수 있다. 두가지의 fuzzing 방법 Mutation vs. Generation Mutation의 경우 입력값을 순수하게 랜덤으로 돌려 무작위로 append하거나 replace 한다…jej2660 (25)in programming • 6 years agomemory layout메모리는 다음 과 같이 구성된다 ㅡㅡㅡㅡ낮은 주소(low address)ㅡㅡㅡ 1. 코드 영역(code) 프로그램의 코드가 불러와 지는 영역 2.데이터 영역(data) 전역변수나 정적 변수가 저장되는 영역 3.BSS 초기화 되지 않은 변수 영역 4. heap 영역 동적 변수(malloc, free, remalloc) 사용자가…jej2660 (25)in linux • 6 years agoftz trainertrain5 whoami : 나의 정보 id : whoami보다 더 자세한 정보 uname -a : 커널 정보 확인. 서버에 아이디가 있는 상태에서 정보를 캐낼 때 가장 먼저 하는것이 커널 버전을 보는 것. 2.2.18 이전 버전의 모든 커널들에는 취약점이 있음. cat /etc/*release : 서버에 설치된 OS정보 확인…jej2660 (25)in programming • 6 years agoshell code쉘코드 시스템에서 특정 명령을 실행하는 작은 사이즈의 코드 일반적으로 기계어 코드로 작성뎀 EX…jej2660 (25)in programming • 6 years agoassembly language어셈블리어 기계어 와 1대1로 대응하는 언어 시스템 이해에 필요함 레지스터 범용 레지스터, 상태 레지스터, 플래그 레지스(cpu 내의 저장공간) 레지스터 구조 1.데이터 레지스터:EAX, EBX, ECX, EDX EAX: Extended Accumulator Register 곱셉이나 나눗셈 연산에 사용, 함수의 결과값 저장…