![]() |
sql-inj: addslashes($id); как с этим бороться
Значить имеется
$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ень рад) дали наводку что с этим могут легко расправяться С-шники... |
http://ru2.php.net/addslashes
|
вижу только рассуждения. откройте мне глаза...
|
Никак, если выключен magic_quotes, в таком случае возможно двойное слеширование, но такой лажи не допустят.
|
magic_quotes_gpc off
происходит только addslashes |
никак
|
Попробовать передать $var не методом POST - GET, COOKIE.
P. S. into DUMPFILE 'log/file.php' /* - разве нужен не полный путь? |
sql-inj не возможна... тема закрыта =)
|
теоретически обход addslashes() возможен, если MySQL использует мультибайтовую кодировку, например GBK, BIG5, SJIS (но не UTF-8)
Подробнее http://raz0r.name/vulnerabilities/sql-inekcii-svyazannye-s-multibajtovymi-kodirovkami-i-addslashes/ |
к сожалению в данном случае она ее и не использует =)
|
Цитата:
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... |
Цитата:
http://www.xakep.ru/magazine/xa/118/070/1.asp Попробуй что-то из этой статьи выудить нового:).Я тут про сессии начиталось.К немногознанию прибавилось необузданное:) |
| Время: 21:16 |