sql-inj: addslashes($id); как с этим бороться

Discussion in 'Песочница' started by dr.IdioT, 30 Oct 2008.

  1. dr.IdioT

    dr.IdioT New Member

    Joined:
    29 Oct 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    Значить имеется
    $var=addslashes($_POST['id'])
    и
    query="SELECT * FROM `table` WHERE `id`='$var' LIMIT 1"

    Вопрос: каким образом можно обойти addslashes
    чтобы мускл съел запрос.
    запрос будет примерно такой из URL:
    _http://[site]/index.php?id=-1' UNION SELECT 1,1,<?php x ?>,1,1 into DUMPFILE 'log/file.php' /*

    кто может помочь любой инфой по этому поводу буду о4ень рад)
    дали наводку что с этим могут легко расправяться С-шники...
     
  2. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    http://ru2.php.net/addslashes
     
  3. dr.IdioT

    dr.IdioT New Member

    Joined:
    29 Oct 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    вижу только рассуждения. откройте мне глаза...
     
  4. Qwazar

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

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Никак, если выключен magic_quotes, в таком случае возможно двойное слеширование, но такой лажи не допустят.
     
  5. dr.IdioT

    dr.IdioT New Member

    Joined:
    29 Oct 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    magic_quotes_gpc off
    происходит только addslashes
     
  6. Spyder

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

    Joined:
    9 Oct 2006
    Messages:
    1,388
    Likes Received:
    1,209
    Reputations:
    475
    никак
     
  7. 1ten0.0net1

    1ten0.0net1 Time out

    Joined:
    28 Nov 2005
    Messages:
    473
    Likes Received:
    330
    Reputations:
    389
    Попробовать передать $var не методом POST - GET, COOKIE.
    P. S. into DUMPFILE 'log/file.php' /* - разве нужен не полный путь?
     
  8. dr.IdioT

    dr.IdioT New Member

    Joined:
    29 Oct 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    sql-inj не возможна... тема закрыта =)
     
  9. [Raz0r]

    [Raz0r] Elder - Старейшина

    Joined:
    25 Feb 2007
    Messages:
    425
    Likes Received:
    484
    Reputations:
    295
    теоретически обход addslashes() возможен, если MySQL использует мультибайтовую кодировку, например GBK, BIG5, SJIS (но не UTF-8)
    Подробнее
    http://raz0r.name/vulnerabilities/sql-inekcii-svyazannye-s-multibajtovymi-kodirovkami-i-addslashes/
     
  10. dr.IdioT

    dr.IdioT New Member

    Joined:
    29 Oct 2008
    Messages:
    5
    Likes Received:
    0
    Reputations:
    0
    к сожалению в данном случае она ее и не использует =)
     
  11. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25
    Не теоретически,дружищща Разик:),а практически.Работает,как часы,если квотес отдыхает:).Вот только не пойму,почему же двойная фильтрация ставит крест на всём этом.

    1. MySQL 4.1.х->4.1.20 , 5.0.x->5.0.22 и PHP < 5.2.5
    2. mysql_quotes_gpc = off (а что,про другие массивы уже забыли?)) )
    3.А кто вообще их юзает?)))Впервые вообще их встречаю:(:(:(Вот баг с сессиями - другое дело...
    4.Если комменты *повязаны*,то в поле запроса можно внедрить запрос не более,чем разрешённая длина самого поля(((.

    Поправьте меня,если что не так,но только мягко:)(Веля очень ронимая душа))) ).

    МногоЗЫ: Недолго это будет актуально,ибо уже пыхыпы 5.2.9...
     
  12. Велемир

    Joined:
    19 Jun 2006
    Messages:
    1,123
    Likes Received:
    96
    Reputations:
    -25

    http://www.xakep.ru/magazine/xa/118/070/1.asp

    Попробуй что-то из этой статьи выудить нового:).Я тут про сессии начиталось.К немногознанию прибавилось необузданное:)
     
    1 person likes this.