Помощь по скриптам | уязвимость
Тема закрыта by
mrcatoff
Причина: правила!
Причина: правила!
global $my,$pk,$user, htmlspecialchars(intval(($_POST));
Vitos (30.11.2016 в 23:45)
Trec80 (30.11.2016 в 23:44)
Vitos (30.11.2016 в 23:40)
Trec80 , как ее исправить и как с помощю ее можно навредить игре
Навредить? это дырка вообще то.. Что такое и как через дырку сайты ломают знаешь?
нет
Trec80 (30.11.2016 в 23:44)
Vitos (30.11.2016 в 23:40)
Trec80 , как ее исправить и как с помощю ее можно навредить игре
Навредить? это дырка вообще то.. Что такое и как через дырку сайты ломают знаешь?
нет
Почитай тогда в гугле что такое SQL inj, xss
Допустим у тебя есть переменная 1 или еще чет, site.ru/trata.php?id=1 или sitename.ru/lomai_menia_polnostiu к конце каждой ссылке я добавлю '+UNION+SELECT. получится site.ru/trata.php?id=1'+UNION+SELECT sitename.ru/lomai_menia_polnostiu'+UNION+SELECT, оно просто выполнится , если выполнится то считай что я твои таблицы поудаляю, или буду начислять себе рейтинг и прочее.. это и есть ДЫРКО
===
ПО аналогии с input и прочим..
________
посл. ред. 30.11.2016 в 23:53; всего 4 раз(а); by Trec80
===
ПО аналогии с input и прочим..
________
посл. ред. 30.11.2016 в 23:53; всего 4 раз(а); by Trec80
а ну да, в запросе вид будет таков..
mysql_query("UPDATE `pk` SET `xod` = 'wait',`tip` = 'ataka',`ltime`='$time',`block`=' mysql_escape_string(intval($_POST[block]))',`udar`=' mysql_escape_string(intval($_POST[udar]))' WHERE `usr` = '$user[id]'");
А вообще умные люди делают все красиво...
$block= mysql_escape_string(intval($_POST['block']));
$udar= mysql_escape_string(intval($_POST['udar']));
mysql_query("UPDATE `pk` SET `xod` = 'wait',`tip` = 'ataka',`ltime`='$time',`block`='$block',`udar`='$udar' WHERE `usr` = '$user[id]'");
И вообще фильтрацию делают по условиям, если текст, если число и т.д
Для стринг-переменных используется такая фильтрация:
$input_text = addslashes($_GET['input_text']);
Функция addslashes экранирует спец. символы, но она не учитывает кодировку БД и возможен обход фильтрации.
======================
Используй функцию mysql_escape_string или mysql_real_escape_string, пример:
$input_text = mysql_escape_string($_GET['input_text']);
=======================
strip_tags — убирает html теги.
htmlspecialchars — преобразует спец. символы в html сущности.
trim - чтобы значение переменной не было пустой
intval - получает целочисленное значение переменной "Не используй, от нее толку практически 0"
________
посл. ред. 01.12.2016 в 00:05; всего 2 раз(а); by Trec80
mysql_query("UPDATE `pk` SET `xod` = 'wait',`tip` = 'ataka',`ltime`='$time',`block`=' mysql_escape_string(intval($_POST[block]))',`udar`=' mysql_escape_string(intval($_POST[udar]))' WHERE `usr` = '$user[id]'");
А вообще умные люди делают все красиво...
$block= mysql_escape_string(intval($_POST['block']));
$udar= mysql_escape_string(intval($_POST['udar']));
mysql_query("UPDATE `pk` SET `xod` = 'wait',`tip` = 'ataka',`ltime`='$time',`block`='$block',`udar`='$udar' WHERE `usr` = '$user[id]'");
И вообще фильтрацию делают по условиям, если текст, если число и т.д
Для стринг-переменных используется такая фильтрация:
$input_text = addslashes($_GET['input_text']);
Функция addslashes экранирует спец. символы, но она не учитывает кодировку БД и возможен обход фильтрации.
======================
Используй функцию mysql_escape_string или mysql_real_escape_string, пример:
$input_text = mysql_escape_string($_GET['input_text']);
=======================
strip_tags — убирает html теги.
htmlspecialchars — преобразует спец. символы в html сущности.
trim - чтобы значение переменной не было пустой
intval - получает целочисленное значение переменной "Не используй, от нее толку практически 0"
________
посл. ред. 01.12.2016 в 00:05; всего 2 раз(а); by Trec80
Vitos (30.11.2016 в 23:38)
есть ли в этой строку уязвимость и как ее исправить и как с помощю ее можно навредить игре
global $my,$pk,$user, $_POST ;
есть ли в этой строку уязвимость и как ее исправить и как с помощю ее можно навредить игре
global $my,$pk,$user, $_POST ;
________
посл. ред. 01.12.2016 в 00:25; всего 1 раз(а); by Avenax
Trec80 , Не утруждайся.
Пусть учит php
Пусть учит php
DELETED
1 декабря 2016, в 0:26
Delete
Vitos (30.11.2016 в 23:43)
Trec80 (30.11.2016 в 23:42)
mysql_escape_string(intval($_POST['blabla'])
это что
Trec80 (30.11.2016 в 23:42)
mysql_escape_string(intval($_POST['blabla'])
это что
это фильтрация уровня бред
зачем mysql_escape_string для числа? а если там не число, зачем тогда intval?
Trec80 (01.12.2016 в 00:04)
а ну да, в запросе вид будет таков..
mysql_query("UPDATE `pk` SET `xod` = 'wait',`tip` = 'ataka',`ltime`='$time',`block`=' mysql_escape_string(intval($_POST[block]))',`udar`=' mysql_escape_string(intval($_POST[udar]))' WHERE `usr` = '$user[id]'");
А вообще умные люди делают все красиво...
$block= mysql_escape_string(intval($_POST['block']));
$udar= mysql_escape_string(intval($_POST['udar']));
mysql_query("UPDATE `pk` SET `xod` = 'wait',`tip` = 'ataka',`ltime`='$time',`block`='$block',`udar`='$udar' WHERE `usr` = '$user[id]'");
И вообще фильтрацию делают по условиям, если текст, если число и т.д
Для стринг-переменных используется такая фильтрация:
$input_text = addslashes($_GET['input_text']);
Функция addslashes экранирует спец. символы, но она не учитывает кодировку БД и возможен обход фильтрации.
======================
Используй функцию mysql_escape_string или mysql_real_escape_string, пример:
$input_text = mysql_escape_string($_GET['input_text']);
=======================
strip_tags — убирает html теги.
htmlspecialchars — преобразует спец. символы в html сущности.
trim - чтобы значение переменной не было пустой
intval - получает целочисленное значение переменной "Не используй, от нее толку практически 0"
а ну да, в запросе вид будет таков..
mysql_query("UPDATE `pk` SET `xod` = 'wait',`tip` = 'ataka',`ltime`='$time',`block`=' mysql_escape_string(intval($_POST[block]))',`udar`=' mysql_escape_string(intval($_POST[udar]))' WHERE `usr` = '$user[id]'");
А вообще умные люди делают все красиво...
$block= mysql_escape_string(intval($_POST['block']));
$udar= mysql_escape_string(intval($_POST['udar']));
mysql_query("UPDATE `pk` SET `xod` = 'wait',`tip` = 'ataka',`ltime`='$time',`block`='$block',`udar`='$udar' WHERE `usr` = '$user[id]'");
И вообще фильтрацию делают по условиям, если текст, если число и т.д
Для стринг-переменных используется такая фильтрация:
$input_text = addslashes($_GET['input_text']);
Функция addslashes экранирует спец. символы, но она не учитывает кодировку БД и возможен обход фильтрации.
======================
Используй функцию mysql_escape_string или mysql_real_escape_string, пример:
$input_text = mysql_escape_string($_GET['input_text']);
=======================
strip_tags — убирает html теги.
htmlspecialchars — преобразует спец. символы в html сущности.
trim - чтобы значение переменной не было пустой
intval - получает целочисленное значение переменной "Не используй, от нее толку практически 0"
умные люди не пользуются старым php
________
посл. ред. 01.12.2016 в 00:28; всего 1 раз(а); by Avenax
shadrvlad (01.12.2016 в 00:26)
Vitos (30.11.2016 в 23:43)
Trec80 (30.11.2016 в 23:42)
mysql_escape_string(intval($_POST['blabla'])
это что
это фильтрация уровня бред
зачем mysql_escape_string для числа? а если там не число, зачем тогда intval?
Vitos (30.11.2016 в 23:43)
Trec80 (30.11.2016 в 23:42)
mysql_escape_string(intval($_POST['blabla'])
это что
это фильтрация уровня бред
зачем mysql_escape_string для числа? а если там не число, зачем тогда intval? Потому что intval по сути бесполезен но тоже нужен, а так же не кто не знает что в будущем он будет использовать, число или текст...
Нууу бред так бред.. Твоего мнения придерживаться не буду!
Avenax , не обязательно было цитировать все соо.. Нуууу в пабле игры наверное только на mysql на pdo еще не кто не выкладывал =D