Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   уязвимый код (https://forum.antichat.xyz/showthread.php?t=217087)

exT1ma4ka 13.07.2010 06:27

есть код в скрипте:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$page[/COLOR][COLOR="#007700"]= isset([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'page'[/COLOR][COLOR="#007700"]]) ?[/COLOR][COLOR="#0000BB"]intval[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'page'[/COLOR][COLOR="#007700"]]) :[/COLOR][COLOR="#DD0000"]"1"[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$offset[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$config[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"news"[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]"perpage"[/COLOR][COLOR="#007700"]] * ([/COLOR][COLOR="#0000BB"]$page[/COLOR][COLOR="#007700"]-[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]$sel[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$db[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SELECT `author`,`date`,`title`,`content` FROM `news` ORDER BY date DESC LIMIT "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$offset[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]","[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$config[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"news"[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]"perpage"[/COLOR][COLOR="#007700"]] .[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR

выводит страницы новостей. если, к примеру, перед инт-значением странички поставить "-", выскакивает ошибка mysql:

Цитата:

Сообщение от None
MySQL Error:
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 '-15,5' at line 1
MySQL Error Number:
1064

кавычки ставил, но не прокатывает.. всяко перепробовал. не смог раскрутить, но имхо дырка есть.

подскажите - есть ли она всё-таки, или нет. вроде фильтрации кавычек в скрипте не видно..

$n@ke 13.07.2010 12:50

мб скуля в лимите?

exT1ma4ka 13.07.2010 15:53

я в принципе так и думал, но только как её раскрутить - другой вопрос. повторяю, что кавычки ничего не дают, по крайней мере ошибки никакой нету.

Byte_ 13.07.2010 15:59

погодите, какая скуля, если там intval?

или я чего-то не понимаю?

Byte_ 13.07.2010 16:02

да, точно! ты в $_GET['page'] можешь только int (число) передать. нет там скули.

Seravin 13.07.2010 16:26

а может просто - арифметический знак? и он даёт отрицательное число что даёт потом ошибку в лимите?

Konqi 13.07.2010 16:38

Цитата:

Сообщение от Seravin
Seravin said:
а может просто - арифметический знак? и он даёт отрицательное число что даёт потом ошибку в лимите?

все равно не может использовать выражения sql

только цифры [0-9]

Seravin 13.07.2010 16:49

Цитата:

Сообщение от Konqi
Konqi said:
все равно не может использовать выражения sql
только цифры [0-9]

ну это понятно, я просто говорю откуда ошибка идёт

exT1ma4ka 13.07.2010 16:51

теперь понятно. ну в принципе тогда всё, всем спасибо за участие в вопросе


Время: 17:11