전체 글241 [book] 리버스 엔지니어링 기드라 실전 가이드: Chapter 1 실습 환경 설정 실습 파일 다운로드(https://www.hanbit.co.kr/support/supplement_survey.html?pcode=B7974847632): GZF(기드라 데이터베이스), PE, ELF, APK 포함 기드라 다운로드: https://github.com/NationalSecurityAgency/ghidra/releases *기드라 실행을 위해선 Java 17+ 이상 버전이 필요: https://www.oracle.com/java/technologies/downloads/#jdk20-windows 가상머신에 VM을 올려 기드라 분석 환경 설정 (참고 블로그: https://maktony.tistory.com/11) 기드라에 연습 스크립트 경로 추가 과정 1. Chapter 1:.. 2023. 5. 4. [book]리버싱과 시스템 해킹의 원리(x64dbg 디버거) 1. x64dbg 디버거 1.1 설치 및 사용 - 링크: https://sourceforge.net/projects/x64dbg/ 최신 버전 설치 후 압축을 해제하면 “release” 폴더에 있는 exe로 실행이 가능하다. 실행시 다음과 같은 창을 볼 수 있는데 메인 창에 해당하는 기능은 다음과 같다. idx 구분 설명 (1) 프로그램 코드 어셈블리어 코드와 명령어 코드를 나타내고 있는 목적 코드 (2) 레지스터 CPU의 레지스터의 값을 보여주는 창이며, 실행 단계에서 값의 변화를 확인 가능 (3) 메모리 메모리 공간의 값을 HEX 코드(16진수)와 ASCII 코드로 보여주며, 관심 있는 주소를 설정해 값의 변화를 확인 가능 (4) 스택 함수에서 사용하는 스택을 보여줌. 지정 확인 가능 (5) 실행 상태.. 2023. 5. 4. [WP plug-in] 플러그인 만들기 (1-2) *다음의 유투브 영상을 따라 제작하였습니다. https://www.youtube.com/watch?v=0l7JTie_6jM&list=PLriKzYyLb28kR_CPMz8uierDWC2y3znI2 1) 개발시 오류 확인을 위해 config.php에서 디버그 옵션을 True로 활성화시킨다. 2) 먼저 아래의 워드프레스 플러그인 경로에 플러그인 폴더를 생성해야한다. [wordpress 설치폴더] > wp-content > plugins > [플러그인 폴더 생성] 3) 이후 플러그인 폴더에 플러그인 이름과 똑같은 PHP파일을 만들고 package와 주석으로 플러그인에 대한 설명을 기술한다. 이를 수행할 시 내가 만든 플러그인이 WP 플러그인에 설치된 것을 볼 수 있다. 4) 필요하다면 라이센스의 내용을 소스코드.. 2023. 2. 27. [Dreamhack] W - STAGE 2 Background: Web 1. 웹 HTTP를 이용해서 정보를 공유하는 서비스를 웹이라고 한다. 정보 제공 주체는 웹 서버, 정보를 받는 이용자를 웹 클라이언트이다. 웹 서비스의 구조에서 이용자의 요청을 받는 부분을 프론트엔드, 요청을 처리하는 부분을 백엔드라고 부름 프론트엔드는 웹 리소스로 이루어져 HTML, CSS, JS 등으로 이루어진다. 2. HTTP/HTTPS 2-1 HTTP HTTP란 서버와 클라이언트의 데이터 교환을 요청과 응답 형식으로 정의한 프로토콜이다. 웹 서버는 HTTP 서버를 HTTP 서비스 포트에 대기시킨다. 이 포트는 일반적으로 TCP/80 또는 TCP/8080이다. 네트워크 포트와 서비스 포트 네트워크 포트 중 특정 서비스가 점유하고 있는 포트를 서비스 포트라고 하며 각 서비스는 전송 계층의 정해진 프로.. 2023. 2. 22. [안드로이드] 폰 루팅 및 프리다 서버 설치 1.1. 진단 폰 루팅 Step 1. 진단 폰 루팅을 위해서 ‘설정>시스템>소프트웨어 정보’를 누른다. 빌드 번호 항목이 보이면 빌드 번호를 연속 클릭해 개발자 옵션을 활성화 시킨다. Step 2. 개발자 옵션에서 ‘USB 디버깅’ 옵션을 킨다. Step 3. 이후 루팅에 필요한 파일들을 모두 다운로드 받아 준다. 오딘, twrp, magisk, dm-verity _forceEncrypt 파일이다. dm-verity의 경우 안드로이드 시스템 보안 매커니즘으로 dm-verity _forceEncrypt를 통해 dm-verity와 강제 암호화 기능을 강제로 비활성화할 수 있다. Step 4. 핸드폰에 ‘빅스비 버튼’+’볼륨 하’+’전원’ 버튼을 동시에 눌러 다운로드 모드로 진입한다. 이후 오딘을 열고 ID:.. 2023. 2. 10. Prototype Pollution 1. 프로토 타입 Java, C 와같은 클래스 기반 객체 지향 프로그래밍 언어와 달리 자바스크립트는 프로토타입 기반 객체 지향 언어이다. 클래스 기반 객체 지향 프로그래밍 언어는 객체 생성 이전에 클래스를 정의하고 객체를 생성하지만 프로토타입 기반 객체지향 프로그래밍 언어는 클래스 없이 객체를 생성한다. 자바스크립트의 모든 객체는 부모 객체와 연결되어 상속되는데 이런 부모 객체를 프로토타입이라고 한다. 모든 객체들이 메소드와 속성들을 상속 받기 위한 템플릿으로써 프로토타입 객체를 가진다. 최소 하나 이상의 다른 객체로부터 상속을 받는다. 프로토타입 객체도 또 다시 상위 프로토 타입 객체로부터 메소드와 속성을 상속받을 수 있는데 이를 프로토타입 체인이라고 한다. 상속되는 메소드들은 객체 생성자의 proto.. 2023. 2. 8. DDE(Dynamic Data Exchange)와 CSV Injection 1. CSV injection CSV injection은 CWE-1236에 Improper Neutralization of Formula Elements in a CSV File로 기록되어 있는 취약점이다. 사용자가 제공한 정보를 CSV 파일에 저장하지만 스프레드 시트에서(대다수) 파일을 열때 명령으로 해석될 수 있는 구문을 적절히 필터링하지 않아 발생한다. 서비스의 도메인에서 웹 페이지, API를 통해 CSV 파일을 다운로드하는 기능이 있다면 점검 포인트가 된다. 이 중 사용자의 입력값을 통해 CSV를 수정할 수 있다면 공격 포인트로 볼 수 있다. 2. DDE의 개념 문서를 작성할 때 사용하는 대표적인 프로그램으로 MS word. Excel 등이 있는데 이런 문서 파일엔 매크로 기능이나 'JS', 'J.. 2023. 2. 7. [AI] 기초 개념 학습 #2(강화 학습) 1. 강화 학습의 개념 강화학습이란 상태(state), 행동(action), 보상(reward)로 구성되어 있다. 강화학습은 순차적인 의사결정 문제에서 누적 보상을 최대화하기 위해 시행착오를 거쳐서 상황에 따른 행동정책을 학습한다. 에이전트와 환경으로 정의하면 에이전트는 학습의 주체, 의사 결정자, 행동의 주체이며 환경은 에이전트를 제외한 모든 것이다. 에이전트가 St라는 상태에서 At라는 행동을 하면 환경이 이를 관측하고 Rt+1의 보상과 다음 상태 St+1를 에이전트에 전달한다. 2. 마르코프 확률 마르코프 확률은 강화학습에 있어 선행되어야하는 개념이다. Markov Property(마르코프 확률)는 미래의 상태는 현재의 상태에 영향을 받으며 과거의 상태는 영향을 받지 않는다는 이론이다. 현재에 대한.. 2023. 1. 31. [AI] 기초 개념 학습 #1(ML 종류) 0. 인공지능(artificial intelligence) : 인간의 지능적인 활동을 할 수 있도록 컴퓨터를 구현하는 것 - 튜링 테스트: AI의 성능을 시험하는 방법으로 이미테이션 게임이라고도 한다. 일반인이 컴퓨터와 대화해서 사람으로 판정하는 비율이 30%이상 되면 인간처럼 사고할 수 있는 시스템이라고 간주하는 것이다. 1. 머신러닝 인공지능의 한 분야로 컴퓨터가 학습할 수 있는 알고리즘과 기술을 개발하는 분야이다. 1-1. 지도 학습 입력(x)에 대해 레이블(y)를 달아놓은 데이터를 컴퓨터에게 학습시키는 것 1) 분류 레이블 y가 이산적인 경우(범주형 변수인 경우) 분류 혹은 인식 문제라고 부른다. - 종류 : 로지스틱 회귀법, KNN, 서포트 벡터 머신 (SVM), 의사 결정 트리 2) 회귀 레이.. 2023. 1. 30. 이전 1 2 3 4 5 6 ··· 27 다음