Files
go_pwner/workspace
2026-07-18 21:37:15 +03:00
..
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00
2026-07-18 21:37:15 +03:00

CTF Workspace

Рабочая папка для решения задач с winpwn. Библиотека — в ../go_pwner/, не трогай.

Структура

workspace/
├── go.mod              ← replace winpwn => ../go_pwner (не трогай)
├── template/           ← шаблон нового solve-скрипта
│   └── main.go
│
├── bof_basic/          ← стек overflow, базовый
├── task1_leak/         ← info leak → redirect (нет ASLR)
├── task2_rop/          ← BOF + ROP chain + DEP
├── task3_fmtstr/       ← format string (нет скомпилированного бинаря)
│
├── heap_lfh/           ← UAF + LFH grooming
├── heap_typemix/       ← UAF type confusion, без LFH
├── heap_overflow/      ← adjacent chunk overflow, NT Heap backend
├── heap_segment/       ← adjacent chunk overflow, Segment Heap
├── heap_info_leak/     ← OOB read + ASLR bypass + UAF
│
└── demos/              ← демо API winpwn, не задачи
    ├── pe_multitool/   ← checksec, IAT/EAT, ROP-сканер
    ├── shellcraft_winexec/ ← генерация PIC x64 shellcode
    └── leak_msvcrt/    ← поиск system() + cmd.exe в msvcrt.dll

Каждая задача:

task1_leak/
├── main.go    ← solve-скрипт, запускать отсюда: go run .
├── task1.exe  ← бинарь-цель
├── flag.txt   ← флаг (открывается целевым процессом)
└── src/
    └── task1.c  ← исходник задачи

Запуск

cd C:\tools\workspace\task1_leak
go run .

Новая задача

cd C:\tools\workspace
mkdir mynew
cd mynew
# скопируй бинарь: copy C:\path\to\chal.exe .
# скопируй шаблон: copy ..\template\main.go .
go run .

Документация

  • C:\tools\go_pwner\USAGE_RU.md — краткий справочник по-русски
  • C:\tools\go_pwner\USAGE.md — полный гайд на английском