
15.02.2016, 23:57
|
|
Участник форума
Регистрация: 10.05.2015
Сообщений: 251
С нами:
5795606
Репутация:
31
|
|
Доброго время суток, уважаемые античатовцы. Я вот тут наговнокодил мини-фильтрацию от скуль на PHP, хочу проверить насколько он дырявый.
Господа скульщики, не поможете с этим делом?
URL: http://185.86.76.169/
Вроде с GET'ом все легко и просто, там достаточно поставить фильтрацию от всех символов кроме букв и цифр, но пока этого не сделал, оставил и в GET'e фильтрацию по словам. Самое интересное заключается в POST параметре, ибо излишния фильтрация будет во вред нормальной работе. Специально для этих дел формочку сверстал.
Ну как то так.. Не верю что говорю это, но надо учиться защитаться от таких уродов как мы.
P.S Я знаю что фильтрация на приходящие запросы не обьективна для фикса скули, но все же.
|
|
|

16.02.2016, 01:19
|
|
Banned
Регистрация: 21.11.2007
Сообщений: 181
С нами:
9721141
Репутация:
1013
|
|
с кодом было бы все проще)
|
|
|

16.02.2016, 15:46
|
|
Постоянный
Регистрация: 10.02.2012
Сообщений: 830
С нами:
7502006
Репутация:
90
|
|
Сообщение от Filipp
↑
Доброго время суток, уважаемые античатовцы. Я вот тут наговнокодил мини-фильтрацию от скуль на PHP, хочу проверить насколько он дырявый.
Господа скульщики, не поможете с этим делом?
URL:
http://185.86.76.169/
Вроде с GET'ом все легко и просто, там достаточно поставить фильтрацию от всех символов кроме букв и цифр, но пока этого не сделал, оставил и в GET'e фильтрацию по словам. Самое интересное заключается в POST параметре, ибо излишния фильтрация будет во вред нормальной работе. Специально для этих дел формочку сверстал.
Ну как то так.. Не верю что говорю это, но надо учиться защитаться от таких уродов как мы.
P.S Я знаю что фильтрация на приходящие запросы не обьективна для фикса скули, но все же.
какой то неадекватный фильтр для post
блокирует запрос "ololo ololo"
но пропускает апостроф и выдает ошибку запроса
'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 ''''' at line 1
согласен с yarbabin, лучше бы исходники глянуть
|
|
|

16.02.2016, 16:29
|
|
Участник форума
Регистрация: 10.05.2015
Сообщений: 251
С нами:
5795606
Репутация:
31
|
|
Сообщение от yarbabin
↑
с кодом было бы все проще)
Сообщение от t0ma5
↑
какой то неадекватный фильтр для post
блокирует запрос "ololo ololo"
согласен с
yarbabin
, лучше бы исходники глянуть
Спасибо, пофиксил для поста. Вот фильтрация для GET'а:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'/(and|or|union|where|limit|group by|select|\'|\"|dbms|hex|substr|%|{|0x|,|version(|)information.shema|\/\*\*\/|\s)/i'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$sql[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR]
А вот для POST'а:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'/( union|\/\*\*\/|from\(| limit 0|group by|select\(|select |hex| substr|0x|information.schema|version\(|extractvalue|concat\(|..\/|\$\{|\s)/i'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$param[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR]
|
|
|

16.02.2016, 16:49
|
|
Постоянный
Регистрация: 10.02.2012
Сообщений: 830
С нами:
7502006
Репутация:
90
|
|
Сообщение от Filipp
↑
Спасибо, пофиксил для поста. Вот фильтрация для GET'а:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'/(and|or|union|where|limit|group by|select|\'|\"|dbms|hex|substr|%|{|0x|,|version(|)information.shema|\/\*\*\/|\s)/i'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$sql[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR]
А вот для POST'а:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'/( union|\/\*\*\/|from\(| limit 0|group by|select\(|select |hex| substr|0x|information.schema|version\(|extractvalue|concat\(|..\/|\$\{|\s)/i'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$param[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR]
не могу понять в какое место в запросе(post) данные попадают..
апостроф также не фильтруется, большинство проверок обходятся через замену пробела на +
/( union|\/\*\*\/|from\(| limit 0|group by|select\(|select |hex| substr|0x|information.schema|version\(|extractvalu e|concat\(|..\/|\$\{|\s)/i
+union from+ +limit+0 select+ concat+( и тд.
|
|
|

16.02.2016, 17:12
|
|
Участник форума
Регистрация: 10.05.2015
Сообщений: 251
С нами:
5795606
Репутация:
31
|
|
Сообщение от t0ma5
↑
не могу понять в какое место в запросе(post) данные попадают..
апостроф также не фильтруется, большинство проверок обходятся через замену пробела на +
/( union|\/\*\*\/|from\(| limit 0|group by|select\(|select |hex| substr|0x|information.schema|version\(|extractvalu e|concat\(|..\/|\$\{|\s)/i
+union from+ +limit+0 select+ concat+( и тд.
Мда.. Ну, понятно.. Фильтрация дерьмо. Ладно, спасибо.. Придумаю что-то покруче.
|
|
|

16.02.2016, 17:29
|
|
Постоянный
Регистрация: 22.11.2010
Сообщений: 545
С нами:
8142806
Репутация:
324
|
|
Сообщение от Filipp
↑
Мда.. Ну, понятно.. Фильтрация дерьмо. Ладно, спасибо.. Придумаю что-то покруче.
не изобретайте велосипед в пхп есть куча функций нормально отфильтрующих юзеринпут
Код:
URL: http://185.86.76.169/
POST DATA: sql=qwe'||updatexml(1,EXPORT_SET(1,':',user(),'',2),1)||'
а вот то-что MySQL из под root это вообще беда.
|
|
|

16.02.2016, 20:17
|
|
Banned
Регистрация: 21.11.2007
Сообщений: 181
С нами:
9721141
Репутация:
1013
|
|
и это не один вариант байпасса. в мускуле же миллион функций
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|