BOB 10

공유메모리 매핑

메모리 매핑 작은 버퍼 대신 Page 단위로 큰 데이터를 빠르게 처리가능한 방식 파일이 매핑된 가상메모리와 파일은 커널에 의해 동기화 되기 전까지는 불일치할 수도 있음. 공유 메모리 매핑 방식 메모리 맵의 데이터를 변경하면, 그 즉시 커널에 의해 원본 파일과 데이터가 동기화되는 방식. 프로세스간 메모리 공유에 특화된 방식이기 때문에 IPC 통신에서도 주로 쓰인다. "ZwMapViewOfSection" 을 통한 공유 메모리 매핑 예제 // 물리 메모리를 사용하겠습니다. 선언. UNICODE_STRING DestinationString; RtlInitUnicodeString(&DestinationString, L"\\Device\\PhysicalMemory"); /* 중략 */ *a4 = 0; // 얻어올 ..

[C++] 가상함수(Virtual Function)

#C++ #가상함수 C++ 에는 가상함수라는 개념이 있다. 같은 OOP 언어인 자바의 가상함수와 유사한데, 기본 클래스에서 가상 함수를 정의하여, 해당 기본 클래스를 상속 받는 파생 클래스가 해당 가상함수를 재정의하여 사용하도록 유도하여 Runtime 에 함수의 다형성을 높이기 위한 문법이라고 한다. 실행타임에 함수를 재정의해서 유용하게 사용할 수 있다는 것은 이해했는데, 의문점이 그냥 가상함수말고 일반적으로 함수 정의한 다음에 상속받은 클래스 단에서 오버라이드(재정의) 하여 사용하면 되지않나??? 라는 의문이었다. 정말 원론(?) 적인 이유는 다른 게시글 에 설명이 되어있었는데 엉뚱한 소멸자를 호출시키지않게 하기 위해서이다. C++ 개발 경험이 많이 없기 때문에 이러한 세세한 부분에 대해서는 생각해볼 ..

<C++ study> 2023.01.02

Get First CVE

프로젝트 과정의 일환으로 발굴 취약점에 대한 CVE 를 넣었는데요. CVE-2022-43143 으로 결과가 나왔으며 publication 도 완료되었습니다. https://github.com/beekeeper-studio/beekeeper-studio/issues/1393 BUG: Beekeeper Remote Code Execution via XSS · Issue #1393 · beekeeper-studio/beekeeper-studio Author: bob11.devranger@gmail.com Date: 2022-10-07 OS: Windows, Linux, MacOS Beekeeper Studio Version: 3.6.6 DB Type&Version: MySQL 5.7 and 8.0 Also S..

<사는이야기> 2022.11.22

BoB 11기 솔직 합격후기

#솔직후기 #장점 #단점 합격은 한참전에 했는데 내년, 내후년에 볼 수 있는 사람들이 있을까봐 씁니다. 서류부터 면접까지 일단은 다 마음 편하게 임했던거 같습니다. 서류같은 경우에는 그냥 본인이 해왔던거 쓰는게 전체적인 틀입니다. 저 같은 경우에는 학년이 학년인지라 좀 해왔던거를 쓰는거에 있어서는 큰 부담은 안됐는데요. 혹시나 보이는 성과가 없을지라도 보안에 대해서 이런 것 까지 해봤다 라는 느낌으로 열정을 보여줄 수 있는 글이면 좋을 것 같다는 생각이 드네요. 그래도 조금 나이가 있는 지원자라면 나이가 어린 친구들에 비해 조금은 무언가 보여줄 수 있는게 있으면 더 좋을 것 같습니다. 면접은 솔직히 사람마다 다르긴한데, 저 같은 경우에는 질문을 두 개 밖에 못받아서 크게 알려드릴게 없습니다... 첫 번째..

<사는이야기> 2022.10.12

CVE ID 신청 방법

최근 CVE 신청할 일이 있었어서 정리해봄. 우선 CVE 를 등록해주는 기관선정을 해야하는데 본인이 찾은 취약점이 트리거 되는 프로그램의 벤더가 아래 링크에 있는 240개(2022.10.09 기준) 기관(통칭 CNA 라고 함) 중에 존재하면 해당 CNA 로 가서 먼저 제보하도록 권고 하고 있다. CNA Lists 링크 ex) visual studio code 에서 취약점을 찾았으면 CNA 역할을 하고있는 Microsoft Corperation 에 먼저 제보를 하면 빠르고 정확하게 CVE 를 발급받을 수 있다 일반적으로는 mitre corperation 에 제보하는 편이라고 한다. 기관선정을 했으면, 기관에 가서 신청을 해야하는데 필자같은 경우는 mitre 사이트에 가서 신청하였다. 신청 form 은 mi..

<사는이야기> 2022.10.09

Win-AFL 퍼저 빌드과정

#퍼징 #AFL-FUZZ #Win-AFL 리눅스에서는 AFL-FUZZ 를 사용했듯이 윈도우 환경에서도 Win-AFL 을 통해 퍼징을 진행할 수 있다. GUI 바이너리에도 가능하고, 커스텀해서 퍼징도 가능한듯..? 하다. 무엇보다도 단순 AFL-FUZZ 보다 확장된 기능이 있는데, Syzygy 를 통한 정적 명령어 삽입, DynamoRIO 를 이용한 동적분석 시 명령어 삽입, 하드웨어 트레이싱 등등... 이 있다고 한다. 일단은 빌드 부터 해보기로! 매우 쉽다. 1. CMAKE 설치 Win-AFL 을 빌드하는데에는 CMAKE 가 필요하다. DynamoRIO 기능을 cmake 를 통해 넣어주는 부분에서 필요한 것 같다. https://cmake.org/download/ 위 링크에 가서 자기한테 맞는 걸로 다..

반응형