목록2024/05/22 (5)
Iriton's log
※*본 포스트는 '리버싱 입문' 책을 참고하여 작성되었습니다. abex crackme를 다운 받을 수 있었던 Crackme.de 사이트가 접속 불가능 해져서 구글링을 통해 주워 온 exe 모음집이다.악성 프로그램일 수도 있으니 가상머신에서 분석하는 것을 추천한다. 1. 프로그램 동작 방식메세지 박스로 Make me think your HD is CD-Rom 이라고 뜬다.그러고 확인 버튼을 누르면 아니라는 메세지 박스가 뜬다.목적은 프로그램 실행 시 HD가 CD-Rom으로 인식되도록 변경하는 것 2. 엔트리 포인트PEView 프로그램으로 exe 파일을 열면 PE 구조와 정보를 볼 수 있다.Entry Point는 1000이고 Image Base는 400000이다.Image Base의 값부터가 실제 저장되는..
Description: 사용자의 정보를 조회하는 API 서버입니다.Path Traversal 취약점을 이용해 /api/flag에 있는 플래그를 획득하세요!Path Traversal경로 탐색 공격(디렉터리 탐색)은 웹 루트 폴더 외부에 저장된 파일 및 디렉터리에 액세스 하는 것을 목표로 한다. "../" -> 시퀀스 및 그 변형으로 파일을 참조하는 변수를 조작하거나 절대 파일 경로를 사용하여 애플리케이션 소스 코드 또는 구성을 포함하여 파일 시스템에 저장된 임의의 파일 및 디렉터리에 액세스하는 것이다. 취약점 분석입력 받은 userid에 대한 정보를 출력한다.근데 api/flag를 보면 되는데 경로가 api/user/{userid}이기에 userid에 ../flag를 넣으면api/flag를 볼 수 있게 되..
*본 포스트는 Dreamhack - Systemhacking Lecture 을 참고하여 작성되었습니다.라이브러리프로그램들이 함수나, 변수를 공유해서 사용할 수 있게 한다.자주 사용되는 함수들의 정의를 묶어서 하나의 라이브러리 파일로 만들고, 이를 여러 프로그램이 공유해서 사용할 수 있도록 지원하고 있다.C의 표준 라이브러리인 libc는 우분투에 기본으로 탑재된 라이브러리 링크많은 프로그래밍 언어에서 컴파일의 마지막 단계로 알려져 있다.프로그램에서 어떤 라이브러리의 함수를 사용한다면 호출된 함수와 실제 라이브러리의 함수가 링크 과정에서 연결된다.리눅스에서 c 소스 코드는 전처리, 컴파일, 어셈블 과정을 거쳐 ELF 형식을 갖춘 오브젝트 파일로 번역된다.오브젝트 파일은 실행 가능한 형식을 갖추고 있지만, 라..
*본 포스트는 Dreamhack - Systemhacking Lecture 을 참고하여 작성되었습니다.NX(No-eXecute)실행에 사용되는 메모리 영역과 쓰기에 사용되는 메모리 영역을 분리하는 보호 기법어떤 메모리 영역에 대해 쓰기 권한과 실행 권한이 함께 있으면 시스템이 취약해지기 쉽다.예를 들어, 코드 영역에 쓰기 권한이 있으면 공격자는 코드를 수정하여 원하는 코드가 실행되게 할 수 있고, 반대로 스택이나 데이터 영역에 실행 권한이 있으면 Return to Shellcode와 같은 공격을 시도할 수 있음.CPU가 NX를 지원하면 컴파일러 옵션을 통해 바이너리에 NX를 적용할 수 있으며, NX가 적용된 바이너리는 실행될 때 각 메모리 영역에 필요한 권한만을 부여받는다.checksec 명령어를 이용하..
01. 서브쿼리하나의 쿼리 안에 존재하는 또 다른 쿼리서브쿼리는 위치에 따라 다음과 같이 나눌 수 있다.SELECT 절 - 스킬라 서브쿼리FROM 절 - 인라인 뷰WHERE 절, HAVING 절 - 중첩 서브쿼리(1) 스킬라 서브쿼리SELECT 절에 위치하지만 컬럼이 올 수 있는 대부분 위치에 사용할 수 있다.컬럼 대신 사용되므로 반드시 하나의 값만 반환해야 하며 그렇지 않은 경우 에러를 발생(2) 인라인 뷰FROM 절 등 테이블명이 올 수 있는 위치에 사용 가능(3) 중첩 서브쿼리WHERE 절과 HAVING 절에 사용할 수 있음.중첩 서브쿼리는 메인쿼리와의 관계에 따라 다음과 같이 나눌 수 있음.비연관 서브쿼리 - 서브쿼리 내에 메인쿼리의 컬럼이 존재하지 않음.연관 서브쿼리 - 서브쿼리 내에 메인쿼리의..