일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- CTF
- 증적 사진
- 보고서
- 웹 해킹
- 로그인
- sql injection
- XSS
- 모의해킹
- Python
- file upload
- cookie 탈취
- 세션
- 웹 개발
- php
- Los
- 문제 풀이
- 과제
- blind sql injection
- union sql injection
- JS
- Error based sql injection
- 게시판 만들기
- 로그인페이지
- FridaLab
- csrf
- 보안 패치
- MySQL
- lord of sql injection
- sql injection point
- 웹개발
- Today
- Total
목록전체 글 (126)
Almon Dev

OSI 7 Layer OSI 7 Layer 란? OSI 7 계층(OSI 7 Layer)은 국제 표준화 기구(ISO)에서 네트워크 통신의 점검과 유지보수를 체계적으로 수행할 수 있도록 네트워크 통신 과정에서 사용되는 프로토콜과 역할을 7개 계층으로 나누어 정의한 모델입니다. 이는 우리가 더 쉽게 이해하기 위해 개념적으로 만든 것으로 실제 OSI 모델은 네트워킹 중 어떤 역할도 수행하지 않습니다. OSI 7 Layer 구성 네트워크 통신이 어떻게 이루어지는지를 이해하기 위해, 7계층(응용 계층)부터 1계층(물리 계층)까지 순서대로 살펴보겠습니다. 7계층: 응용 계층 (Application Layer) 응용 계층은 HTTP, SMTP, FTP 등과 같은 프로토콜이 동작하는 계층으로, 데이터의 출발지이자 최..

스프링 부트 [Spring MVC & 파라미터 처리] 이유PHP로 웹 개발을 처음 시작할 때 가장 먼저 만든 기능은 로그인 페이지였습니다. 당시 GET, POST 요청에서 파라미터를 직접 받아 처리했는데, 현재는 스프링에서 이를 어떻게 다루는지 배우며, 컨트롤러와 타임리프를 통해 파라미터를 HTML로 연동하는 구조를 익히고 있습니다. Spring MVC Spring MVC는 Model, View, Controller 세 가지 구성 요소로 이루어져 있으며, 웹 애플리케이션에서 요청을 받고, 처리하고, 결과를 화면에 출력하는 과정을 역할별로 분리하여 효율적으로 관리할 수 있도록 돕는 아키텍처입니다. 저는 보통 MVC라고 하면 보통 삼각형의 이미지를 떠올리는데 스프링 MVC는 조금 더 복잡합니다.기본적인 MV..

FridaLab 3 문제chall03 함수의 리턴값을 true로 만들어야 하는 문제입니다. 풀이 1. 소스 코드를 확인합니다.=> uk.rossmarks.fridalab 패키지 -> MainActivity 클래스 -> chall03 메서드 2. 실행 중인 MainActivity 인스턴스를 가져와 chall03를 true를 반환하는 함수로 덮어쓰는 스크립트입니다.=> implementation은 메서드를 후킹 하여, 해당 메서드의 동작을 가로채고 원하는 기능으로 덮어씌워 실행되도록 만드는 함수입니다. 3. frida를 이용해서 FridaLab이라는 실행 중인 앱의 프로세스에 접근해서 chall03.js 스크립트를 삽입합니다.=> 2번 문제에서 생성한 파이썬 코드를 이용해 1~3번 스크립트를 모두 실행하였..

스프링 부트 첫 프로젝트 생성하기 이유웹해킹을 계속 공부하면서 제가 가진 웹에 대한 이해가 부족하다고 느껴졌습니다. 사실 PHP, MySQL을 이용한 개발은 국내에서 자주 사용되지도 않는다는 점도 알게 되었고요... 그래서 이전에 Java를 배운 경험과 스프링 프레임워크를 잠깐 사용해 본 경험을 살릴 겸, 스프링 부트를 처음부터 공부하고자 합니다. 프로젝트 생성프로젝트 생성 절차를 진행하면서 나오는 키워드를 바탕으로 스프링의 기본 용어, 개념을 다시 정리했습니다. 1. 스프링 프로젝트 jar를 생성합니다.=> 프로젝트 설정을 한 뒤에, jar 파일을 생성합니다. Gradle, Maven컴파일, 테스트, 의존성 관리, 패키징 등을 자동으로 해주는 빌드 도구입니다.Gradle - Groovy => Groov..

FridaLab 2 문제chall02라는 이름의 함수를 실행해야 하는 문제입니다. 풀이 1. 소스 코드를 확인합니다.=> uk.rossmarks.fridalab 패키지 -> MainActivity 클래스 -> chall02 메서드 2. 실행 중인 MainActivity 클래스의 인스턴스를 가져와 chall02 메서드를 실행하는 Frida 스크립트입니다.=> chall02 메서드는 static 메서드가 아니기 때문에 인스턴스에서만 실행할 수 있습니다.Java.choose => 지정한 Java 클래스의 실행 중인 인스턴스를 찾아서 접근할 수 있게 해주는 Frida 함수입니다. 3. frida를 이용해서 FridaLab이라는 실행 중인 앱의 프로세스에 접근해서 chall02.js 스크립트를 삽입합니다. 4. ..

FridaLab 1 문제challenge_01 클래스의 chall01 변수의 값을 1로 설정하는 문제입니다. 풀이 1. 소스코드를 확인합니다.=> apk 파일을 디컴파일하면 내부의 패키지 구조와 클래스의 내용을 확인할 수 있습니다. 2. challenge_01 클래스의 chall01 변수의 값을 1로 설정하는 JavaScript 코드를 작성합니다.=> frida는 API를 사용하기 위해 JavaScript를 사용합니다. Java.perform => 앱 실행 중 Java 가상머신이 준비되면 등록한 콜백 함수를 실행하는 Frida의 함수입니다. Java.use => 앱의 Java 클래스에 접근할 수 있도록, 해당 클래스를 조작할 수 있는 래퍼 객체를 반환하는 Frida의 함수입니다. 3. nox 가상 디바..

evil_wizard 문제 풀이 evil_wizard 문제 문제 분석 문제 목표GET 메서드의 email 파라미터 값과 데이터베이스에서 가져온 admin 계정의 이메일이 일치할 경우, solve("evil_wizard") 함수가 실행됩니다. 이 함수는 문제를 성공적으로 해결했을 때 호출되는 것으로 보이므로, 이 문제의 목표는 admin 계정의 이메일 주소를 탈취하는 것입니다.$_GET[email] = addslashes($_GET[email]);$query = "select email from prob_evil_wizard where id='admin' and email='{$_GET[email]}'";$result = @mysqli_fetch_array(mysqli_query($db,$query))..

hell_fire 문제 풀이 hell_fire 문제 문제 분석 문제 목표GET 메서드의 email 파라미터 값과 데이터베이스에서 가져온 admin 계정의 이메일이 일치할 경우, solve("hell_fire") 함수가 실행됩니다. 이 함수는 문제를 성공적으로 해결했을 때 호출되는 것으로 보이므로, 이 문제의 목표는 admin 계정의 이메일 주소를 탈취하는 것입니다.$_GET[email] = addslashes($_GET[email]);$query = "select email from prob_hell_fire where id='admin' and email='{$_GET[email]}'";$result = @mysqli_fetch_array(mysqli_query($db,$query));if(($r..