Reference

    [Pwn] House of Force

    House of ForceHouse of 시리즈중 하나로 힙기반의 Top Chunk를 활용하는 취약점 공격기법이다. Top Chunk는 Heap의 청크 구조에서 힙영역의 가장 마지막에 위치하는 Chunk로Chunk할당 요청이 들어왔을때 재사용이 가능한 Chunk가 없는 경우 Top Chunk를 쪼개서사용할 수 있도록 Chunk영역을 반환해주는 역할을 한다. Top Chunk는 일반적으로 0x21000만큼이 할당되어있는데할당된 사이즈이상의 할당요청은 불가능한것이 기본이다. 그리고 Top Chunk는 Chunk를 쪼개서 사용할수 있게 반환하는 만큼Free를 통해 해제된 Chunk가 Top Chunk와 인접하게 되면 Top Chunk는 이를 병합한다. (0x48요청이 들어왔을때 헤더까지 해서 Top Chunk..

    [Pwn] _IO_FILE Arbitrary Write

    이전 _IO_FILE Arbitrary Read에 이어 특정영역의 값을 읽을 수 있는 공격_IO_FILE Arbitrary Write 기법에 대해 정리한 글입니다.드림핵 자료와 여러 자료를 참고해 정리했으며 다소차이점이 존재할수 있습니다.(잘못된 부분이나 틀린 부분이 있다면 댓글로 지적해주세요.) 먼저 이전에 작성한_IO_FILE의 구조체 분석과 _IO_FILE Arbitrary Read를 통해 해당 공격흐름을 분석했습니다.https://skysquirrel.tistory.com/270 [Pwn] _IO_FILE Arbitrary Read이전 _IO_FILE vtable Overwrite에 이어 특정영역의 값을 읽을 수 있는 공격 _IO_FILE Arbitrary Read 기법에 대해 정리한 글입니다. ..

    [Pwn] _IO_FILE Arbitrary Read

    이전 _IO_FILE vtable Overwrite에 이어 특정영역의 값을 읽을 수 있는 공격_IO_FILE Arbitrary Read 기법에 대해 정리한 글입니다.드림핵 자료와 여러 자료를 참고해 정리했으며 다소차이점이 존재할수 있습니다.(잘못된 부분이나 틀린 부분이 있다면 댓글로 지적해주세요.) 먼저 이전에 작성한 _IO_FILE vtable Overwrite 에서 _IO_FILE의 구조체를 분석해보며해당 _IO_FILE 구조체를 Overwrite하는 것으로 원하는 함수를 실행시키는 것이 가능하다는 것을 보았습니다.https://skysquirrel.tistory.com/269 [Pwn] _IO_FILE_Plus & _IO_FILE vtable Overwrite이전 Linux File System _..

    [Pwn] _IO_FILE_Plus & _IO_FILE vtable Overwrite

    이전 Linux File System _IO_FILE에 이어서 _IO_FILE_Plus와 _IO_FILE vtable Overwrite에 대한 정리글로 드림핵 자료위주로 정리하였습니다. https://skysquirrel.tistory.com/268 [Linux] Linux File System _IO_FILE 드림핵 로드맵을 진행하면서 이해하는데 어려운부분이 있어 공부하며 정리하는 글로 아래 자료를 참고하여 정리하였습니다. (공부중인 내용이므로 다르거나 틀린 내용이 있을 시 댓글로 알려 skysquirrel.tistory.com (공부중인 내용이므로 틀리거나 잘못된 부분이 있다면 댓글로 알려주세요.) _IO_FILE_plus 구조체 먼저 이전에 봤던 _IO_FILE_plus의 구조를 다시보면 _IO_j..

    [Linux] Linux File System _IO_FILE

    드림핵 로드맵을 진행하면서 이해하는데 어려운부분이 있어 공부하며 정리하는 글로아래 자료를 참고하여 정리하였습니다.(공부중인 내용이므로 다르거나 틀린 내용이 있을 시 댓글로 알려주시기 바랍니다.)https://dreamhack.io/lecture/courses/271 Background: _IO_FILE이번 강의에서는 _IO_FILE 구조에 대해 소개합니다.dreamhack.io _IO_FILE_IO_FILE이란 무엇인가?기존 C언어를 공부했을때나 pwn(포너블) 공부를 위해 여러문제를 접했을때아래 예시 코드와 같이 파일을 오픈해 읽거나 쓰는 fopen(), fwrite()함수를 많이 보았습니다.// gcc -o file2 file2.c #include int main(){ char file_data[25..

    [Pwn] SROP(Sig Return Oriented Programming)

    본글은 드림핵 자료를 참고삼아 좀더 빠르게 이해하고자 작성한 글로 틀린 내용이 존재할 수 있습니다.댓글로 틀린 부분에 대한 지적은 환영합니다.개요이전까지 ROP기법을 통해 보호기법이 걸려있는 파일에서 함수를 호출하는 방식을 사용했었습니다.하지만 코드에 따라 방법이 달라지는 방식이므로 기존보다 더 나은 기법들이 계속 생겨나고 있습니다.SROP는 그중에서 시그널을 활용하는 ROP기법입니다. 시그널먼저 운영체제는 크게 유저모드와 커널 모드로 나뉘어 있습니다.실제로 파일을 생성하고 실행하는 모든 작업은 이 두개의 모드가 서로 상호 작용하며 이루어지는데시그널은 두 모드 사이에서 프로세스에 특정 정보를 전달하는 매개체의 역할을 합니다. rt_sigreturn프로세스가 바뀌는 것을 컨텍스트 스위칭이라고 하는데커널 모..

    Redis DBMS 취약점과 공격기법

    본 글은 드림핵 로드맵을 진행하면서 작성자가 이해하기 위해 정리하는 글이므로 틀린부분이 있을 수 있습니다.틀린점은 댓글로 지적해주시면 감사드립니다. Redis여러가지 NoSQL중에 하나인 Redis라는 DBMS는 데이터를 작성하고 조회하는 명령어가 다음과 같습니다.$ redis-cli127.0.0.1:6379> SET test 1234 # SET key valueOK127.0.0.1:6379> GET test # GET key"1234"SET으로 새로운데이터 추가가 가능하고 GET으로 key를 통해 데이터의 조회가 가능한 구조입니다.각 명령어들은 다음과 같습니다. 데이터 조작 명령어GETGET key데이터 조회MGETMGET key [key ...]여러 데이터를 조회SETSET key value새로운 데..