목록Hacking (53)
'll Hacker
문제 설명주어진 바이너리 파일에서 플래그를 찾아보세요!힌트는 압축 패스워드는 ZIP 구조 어딘가에...입니다.풀이힌트를 보게 되면 zip 파일이라는 것을 알 수 있다. zip 구조 파악zip 파일은 압축된 여러 개의 파일을 하나로 묶어 저장하는 형식이며, 내부적으로 여러 개의 파일 설명자와 중앙 디렉터리로 구성된다.local file descriptors = 로컬 파일 설명자zip파일에는 개별 파일이 저장되는데, 각각의 파일에는 다음 요소들이 포함된다.로컬 파일 헤더(Local file Header) : 파일 정보(파일명, 압축 방식, 크기 등)를 저장한다.압축 및 암호화된 데이터 : 파일의 실제 데이터가 압축 및 암호화된 형태로 저장된다.옵션 데이터 설명자 : 일부 Zip 파일에서 사용되며, 데이터 길..
1. Write up 작성https://portswigger.net/web-security/access-control/lab-user-role-controlled-by-request-parameter Lab: User role controlled by request parameter | Web Security AcademyThis lab has an admin panel at /admin, which identifies administrators using a forgeable cookie. Solve the lab by accessing the admin panel and using it to ...portswigger.net/admin 에 들어갈 수 없다고 뜸로그인 페이지버프스위트에서 응답이 쿠키를 ..
일부 운영체제나 상용 프로그램은 제품을 활성화하기 위해 시리얼 코드나 제품키를 요구하는 경우가 있음. 이용자가 제품키를 입력하면, 키가 검증되는 과정을 불법적으로 리버싱하여 우회하거나 올바른 제품키를 생성하는 행위를 크래킹이라고 부름일반적으로 이용자로부터 어떠한 입력값을 받고 그 입력값이 정답인지 아닌지를 검증하는 프로그램.목표는 입력값이 검증되는 과정을 리버스 엔지니어링으로 분석하여 정답이 되는 입력값을 찾아야함. Step1. 프로젝트 생성 및 코드 브라우저 실행 Step2. 동작 구조 분석Language ID : x86 아키텍처 64비트 명령어집합(Instruction Set)Compiler ID : gcc로 컴파일되었음.Executable Format을 통해 해당 파일이 Executable and ..
문제 설명어셈블리 언어에 대한 지식이 있으시다면 이 문제는 쉽게 해결할 수 있는 아주 간단한 문제입니다.필요한 정보만을 찾아 플래그를 획득해주세요. step1. main(or start)함수 분석설명)위에 if문은 별로 중요하지 않은 것 같음strlen( ) 함수와 check_password( )를 분석해봐야될 것 같다. 그리고 enc_flag는 플래그가 암호화된 상태인가라고도 생각해봤다.여기서 check_password를 잘 구현해야될 것 같다.step2. main 내부 함수 분석1) strlen 함수 호출문자열 길이 계산 코드 2) check_password 함수이 함수는 두 바이트 배열(a3과 a4)의 내용을 반복적으로 XOR 연산하고, 그 결과를 초기 값 a2에 누적하는 작업을 수행합니다.루프는..
https://dreamhack.io/wargame/challenges/672 Collect MeDescription 이 문제에서 주어지는 프로그램은 이름이 func_n() 형태인 함수들을 가지고 있습니다. func_0()부터 func_927()까지 총 928개 함수가 있습니다. 각 함수는 char형 지역 변수 1개씩을 가지고 있습dreamhack.io 푸는중
https://dreamhack.io/wargame/challenges/92 Secure MailDescription 중요한 정보가 적혀있는 보안 메일을 발견하였습니다. 보안 메일의 비밀번호는 생년월일 6자리인 것으로 파악되나, 저희는 비밀번호 정보를 가지고 있지 않습니다. 비밀번호를 알아내dreamhack.io 이미지에 난독화되어있는 메일을 확인할 수 있는데생년월일이면 브루트 포스해도 괜찮을 것 같다.하지만 나는 자바스크립트 코드를 모르기 때문에남의 블로그 브루트포싱하는 자바스크립트를 분석할 것이다.(자바스크립트 공부⭐) window.alert = function ( text ) { console.log( 'tried to alert: ' + text ); return true; };위 코드는 웹 페이..
https://dreamhack.io/wargame/challenges/22 rev-basic-8Reversing Basic Challenge #8 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io step1. main 함수 분석입력을 받고, 해당 값이 맞으면 "Correct" 틀리면 "Wrong" 출력 step2. main 함수 내부 함수 분석sub_140001000함수 if문에 (unsigned __int8)(-5**(_BYTE *)(a1+i)) != byte_140003000[i]가 거짓이겠끔 파이썬을 구현해줘야함 step3. 역연산unsigne..
https://dreamhack.io/wargame/challenges/20 rev-basic-6Reversing Basic Challenge #6 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io step1. main함수 분석입력하고 입력값이 맞으면 Correct, 틀리면 Wrong 출력하는 함수이다. step2. main 내부 함수 분석sub_140001000함수8비트 값을 byte_140003020 배열의 인덱스로 사용하고 있음. 해당 인덱스 위치에서 값을 가져옴byte_140003020 data는 아래와 같음byte_140003000은 0~18..