Є такий люто крутий дядько - Orange Tsai 🍊. Лютий кбшник і геній. І от я вирішив крім читання його статей клянути на його вибрані CTF. І почав з малого Babyfirst. Пройти - х?йня, а зрозуміти - виклик. До суті:
Запуск -
І відвідати в браузері http://0.0.0.0:80/index.php
А задача банальна - байпас фільтру.
Ця регулярка перевіряє: ^ - початок рядка, \w+ будь яку кількість букв або цифр і _ і $ - кінець рядка.
Проходження до болю банальне
http://0.0.0.0/index.php?args[]=%0a&args[]=touch&args[]=pwned
Але цікаво зрозуміти як це працює. В документації php розказується, що вони використовується PCRE - Perl Compatible Regular Expressions. В часи коли перл тільки розвивався, виникла проблема, підчас читання з файлу і перевірки чи його вміст підходить під регулярку, кінець рядка(\n) треба було прописувати в кожну регулярку, бо кожен рядок закінчується в файлі \n, коли ви натискаєте Enter. І це лютий гемор, тому ввели правило: $ означає кінець рядка і дозволяє далі не перевіряти, бо там або \0 або \n\0.
Відповідно ми спокійно додаємо %0A( закодований \n), що для exec означає виконувати наші команди в другому рядку, що в шелі - нові команди, все що ми захочемо.
І в шел приходить
Оревуар, Шошана!
<?php
$dir = 'sandbox/' . $_SERVER['REMOTE_ADDR'];
if ( !file_exists($dir) )
mkdir($dir);
chdir($dir);
$args = $_GET['args'];
for ( $i=0; $i<count($args); $i++ ){
if ( !preg_match('/^\w+$/', $args[$i]) )
exit();
}
//Замість орандж можна будь який файл,але віддам
//дань автору
exec("/bin/orange " . implode(" ", $args));
?>
Запуск -
sudo php -S 0.0.0.0:80
І відвідати в браузері http://0.0.0.0:80/index.php
А задача банальна - байпас фільтру.
!preg_match('/^\w+$/', $args[$i]
Ця регулярка перевіряє: ^ - початок рядка, \w+ будь яку кількість букв або цифр і _ і $ - кінець рядка.
Проходження до болю банальне
Але цікаво зрозуміти як це працює. В документації php розказується, що вони використовується PCRE - Perl Compatible Regular Expressions. В часи коли перл тільки розвивався, виникла проблема, підчас читання з файлу і перевірки чи його вміст підходить під регулярку, кінець рядка(\n) треба було прописувати в кожну регулярку, бо кожен рядок закінчується в файлі \n, коли ви натискаєте Enter. І це лютий гемор, тому ввели правило: $ означає кінець рядка і дозволяє далі не перевіряти, бо там або \0 або \n\0.
Відповідно ми спокійно додаємо %0A( закодований \n), що для exec означає виконувати наші команди в другому рядку, що в шелі - нові команди, все що ми захочемо.
І в шел приходить
/bin/orange
touch pwned
Оревуар, Шошана!
❤4🔥1
Наїбнулася гілка aws us-east 1
Для всіх в світі)
І Сігнал десктоп не працює. Як же класно коли все в хмарі, як же хуйово, коли хмара не працює)
Для всіх в світі)
І Сігнал десктоп не працює. Як же класно коли все в хмарі, як же хуйово, коли хмара не працює)
❤3
Forwarded from Думки, про які ніхто не питав
AWS втомивсь. Якщо якийсь ваш любимий сервіс не працює, або працює в обмеженому режимі - не треба поки на нього сваритись
❤1
Сьогодні на порядку денному підготовка до OSCP за допомогою вирішення HTB машин.
Aero
https://checklister.github.io/bezpc.github.io/2025/12/05/HTB-Aero.html
Aero
https://checklister.github.io/bezpc.github.io/2025/12/05/HTB-Aero.html
bezpc.github.io
Hack The Box - Aero
❤8
Новий день, нова машина
HTB Busqueda
https://checklister.github.io/bezpc.github.io/2025/12/06/HTB-Busqueda.html
HTB Busqueda
https://checklister.github.io/bezpc.github.io/2025/12/06/HTB-Busqueda.html
bezpc.github.io
Hack The Box - Busqueda
Hack the Box - Busqueda Новий день - нова машина. Сьогодні лінуксовська easy тачка з SSTI і експлуатацією кастомних скриптів. Почавши з базового Nmap - бачимо 2 відкриті TCP порти. Веб - 80 і SSH 22. Для другого в нас нема ні логіну, ні паролю, тому відкриваємо…
❤6
Цією статтею я хочу почати цикл про Active Directory. Сам я - готуюсь до OSCP і буду ділитися своїми записами і техніками, які можуть знадобитися. Стаття може бути душна, навіть фоточок нема, але від душі. Я намагався пояснити доступно, без шарів абстракції. Тож
Пірнаючи в AD ч1
Пірнаючи в AD ч1
bezpc.github.io
Diving Into AD: part one
Пірнаючи в AD: частина перша
❤8
Продовжую писати про AD. Частина 2 присвячена концепції Kerberoasting - найвідоміша атака на Active Directory.
Пірнаючи в AD ч2
Пірнаючи в AD ч2
bezpc.github.io
Diving Into AD: part two
Пірнаючи в AD: частина друга От, розібралися ми з TGT(дивитись першу частину) і навіть освоїли AS-REP roasting. Далі за логікою речей іде Kerberoasting, певне найвідоміша атака на AD. Але трохи бекграунду. Active directory не має окремих акаунтів для сервісів…
❤4
Репо з симуляціями атак різних груп APT
У ворога краще вчитися)
https://github.com/S3N4T0R-0X0/APTs-Adversary-Simulation
У ворога краще вчитися)
https://github.com/S3N4T0R-0X0/APTs-Adversary-Simulation
GitHub
GitHub - S3N4T0R-0X0/APTs-Adversary-Simulation: This repository contains detailed adversary simulation APT campaigns targeting…
This repository contains detailed adversary simulation APT campaigns targeting various critical sectors. Each simulation includes custom tools, C2 servers, backdoors, exploitation techniques, stage...
❤5