목록dreamhack (5)
'll Hacker
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/17 rev-basic-3Reversing Basic Challenge #3 이 문제는 사용자에게 문자열 입력을 받아 정해진 방법으로 입력값을 검증하여 correct 또는 wrong을 출력하는 프로그램이 주어집니다. 해당 바이너리를 분석하여 correct를 출dreamhack.io step1. main함수 분석 char형 배열 v4에 256개의 원소가 들어갈 수 있는 공간을 스택에 할당memset(v4, 0, sizeof(v4));를 사용해 v4의 256바이트를 0으로 설정"Input: "을 출력 후, v4에 256바이트의 문자열을 사용자에게 입력받아서 저장함sub_140001000함수에 v4를 인자로 주..
코드 분석 일단 여기서 힌트를 얻을 수 있는 것은 정규표현식을 사용하여 이메일 주소 패턴이 매칭이 된다면 해당 이메일 주소와 플래그 값을 화면에 출력해준다고 구현되어있다.(feat. chatgpt) 그렇다면 패턴은 어떻게 되는 것인가? 여기서 뭔지 모르겠어서 쥐피티한테 물어봤다 (쥐피티없었으면 어쩔뻔;;) 그래서 패턴에 맞게 임의로 dr12_a5e3am@naver.com을 입력했더니!!! 플래그를 얻을 수 있었다.
코드 분석 세 가지 엔드포인트로 나눠서 분석 -> /, /file, /admin 첫 번째 코드 부분 -> 그냥 홈화면 같다. 힌트없음 /file에서 HTTP GET 요청에 대한 쿼리 문자열에서 path값인 해당 경로의 파일을 열어서 내용을 화면에 출력하는 코드이다. Path traversal 의도한 문제인 것 같음. 여기서 쿼리문자열(쿼리스트링)이란? 사용자가 입력 데이터를 전달하는 방법으로 url 주소에 어떤 데이터를 파라미터를 통해 서버측에 전달하는 것 정해진 엔드포인트 주소 이후에 ?(물음표)룰 쓰는 것으로 쿼리스트링이 시작 parameter = value로 필요한 파라미터의 값 파라미터가 여러개일 경우 &를 붙힌다. /admin에서 @key_required는 무엇인가? 물어보면 코드 맨 위에 나와..