분류 전체보기 139

[Heap] ptmalloc2(pthread malloc 2)

Memory Allocator의 일종리눅스에서 사용됨, GLibc에 구현됨목표메모리의 효율적인 관리1. 메모리 낭비 방지▶ 메모리 할당 요청이 발생하면먼저, 해제된 메모리 공간 중에서 재사용할 수 있는 공간이 있는지 탐색여기에 요청된 크기와 같은 크기의 메모리 공간이 있다면 이를 그대로 재사용 ▶ 작은 크기의 할당 요청이 발생하면해제된 메모리 공간 중 매우 큰 메모리 공간이 있는 경우 그 영역을 나누어 주기도2. 빠른 메모리 재사용 ▶ 메모리 공간을 해제할 때, tcache 또는 bin이라는 연결 리스트에 해제된 공간의 정보를 저장해둠 이유: 운영체제가 프로세스에게 제공해주는 가상 메모리 공간은 매우 넓으므로,특정 메모리 공간을 해제한 이후에 이를 빠르게 재사용하려면 해제된 메모리 공간의 주소를 기억하고..

WSL 활성화 ↔ VT-x/EPT or AMD-V/RVI 활성화 전환

WSL 활성화해당 VM이 위치한 폴더의 .vmx 파일 >다음 라인 추가: hypervisor.cpuid.v0 = "FALSE" windows 기능 켜기/끄기 >"Hyper-V"와 "Windows Subsystem for Linux" 켜기 VMware Workstation >Edit > Preferences > Display tab > "Accelerate 3D graphics" 활성화Settings > Processors tab > "Virtualize CPU performance counters"와 "Virtualize Intel VT-x/EPT or AMD-V/RVI" 끄기 관리자 권한으로 PowerShell >dism.exe /online /enable-feature /featurename:Virt..

IT/기타 2024.07.23

VMware Ubuntu 브릿지 설정 방법

나는 host machine = Windows 11, guest virtual machine = Ubuntu 22.04였다. 1. (확실치는 않지만) host machine에서제어판 > 네트워크 및 공유 센터 > 어댑터 설정 변경 > 현재 연결된 것 우클릭 > 속성 > VMware Bridge Protocol 체크 2. host machine에서VMware Workstation 열기 > 해당 virtual machine의 Settings > Network Adapter > Network connection 섹션에서 Bridged 선택  3. 해당 virtual machine 들어가서아래 명령어 실행ip addr 만약 거기서 ens33에 "DOWN"으로 되어있다면 -> 아래 명령어 실행sudo ip lin..

IT/기타 2024.07.20

[Windows test mode]

>> Test mode (Test Signing Mode) 신뢰할 수 있는 certificate authority(Microsoft 등)가 전자서명해주지 "않은" driver/system file들도 설치/실행 할 수 있다. >> Test mode 끄고 켜는 방법 1. secure boot 해제 test mode의 on off는 secure boot이 해제된 상태에서만 가능하므로 해제한다. 노트북 켠 뒤, 부팅 다되기 전에 F8 눌러 Advanced startup options 진입 > Troubleshoot 클릭 > Advanced options 클릭 > UEFI Firmware Settings 클릭 > Boot > Secure boot control (삼성 노트북 기준) 2. test mode on/..

IT/기타 2024.07.15

[System Hacking] out_of_bound

>> 소스코드 >> 메모리 구조 higher.. --stack-- Return addressold EBP [ebp]push ecx [ebp - 4]? [ebp - 8]? [ebp - 12]idx값 [ebp - 16] -- stack-- namecommand lower.. Q. idx의 주소는 어떻게 알았는가?A.소스 코드를 보면 idx는 scanf()의 두번째 argument로 입력되므로,어셈블리에서 scanf()가 호출되기 전 부분을 보고, 그 순간에 stack에 push되는 걸 보자.   0x08048723 :    lea    eax, [ebp-0x10]    0x08048726 :    push   eax    0x08048727 :    push   0x8048832    0x0804872c :..

보안/Wargame 2024.07.10

[Web Hacking] file-download-1

>> 소스 코드 upload 과정에서는 filename에 ".."가 들어가는지 점검한다. 그러나 download 과정에서는 filename에 ".."가 들어가는지 확인하지 않는다.  >> exploit 소스코드를 보면,업로드되어있는 파일을 읽기 위해서는/read에 "name" parameter를 전달해야 한다. 실제로 업로드&read 테스트를 해봐도,http://host3.dreamhack.games:21074/read?name=mytitle로 접속하게 됨을 확인할 수 있다. 즉, http://host3.dreamhack.games:21074/read?name=☆로 접속함으로써, ☆ 파일을 읽는 것이다. 그러므로, 만약 공격자가 상위 디렉토리의 flag.py를 읽고 싶다면,☆ 자리에 ../flag.py를..

보안/Wargame 2024.07.09