RedOK

Рейтинг
88
Регистрация
13.07.2009

да, я уже заметил is_numeric :( да и перед тем как послать нефильтрованный login в методы там сначала идёт проверка на валидность этого login в Auth::test_token где как раз и фильтруется login

denis920:
Спасибо.

То есть, явных специально сделанных дыр Вы не обнаружили? Как считаете, можно использовать?

как уже сказал товарисч ivan-lev есть места где нет фильтраций с sql запросах, вообще это даже искать особо и нечего было


redirect.php line 19
$db->query("SELECT * FROM {links} WHERE `lid`=".$_GET['id']);
файл api.php передает не отфильрованый $_POST['login'] в так называемый «контроллер»

api.php line 32 call function add
print Groups_Controller::add($_POST['name'], $_POST['login']);
....
links.php line 7 function add
$db->query('INSERT INTO {groups} (`name`, `user`) VALUES ("'.mysql_escape_string($name).'", "'.$login.'")');

непонятно, то ли товарисч программист спецом не проверял именно login, то ли там как-то собирался его фильтровать глобально. либо я уже слишком не трезв для этого 🤪 суббота же

ещё очень понравился вызов global $db; практически в каждом методе. не смотря на то что задумывалось это как ооп 😂

---------- Добавлено 30.03.2013 в 23:32 ----------

ivan-lev:
Да, я уже понял, что Вы не программист.. про инъекции написал.


Эм.. видимо, собственно объяснение я проглядел.. Можно "для особо одарённых" повторить?
p.s. Надеюсь, не будет принято на свой счёт.. Или принято, но, исключительно, в хорошем смысле :)

да, я не программист :( но маляром-штукатуром-плиточником я не хочу работать, вот и приходится геморрой наращивать просиживая за компом 😡

ivan-lev:
Не-не.. тут профессионал, ему код не нужен 😂 Он без исходников с теми же шансами ищет..

В целом скрипт более-менее понятный (ну не.. счас начнётся "да я бы в 100500 раз лучше написал") я к тому, что не прослеживается намерений "запутать"..
Проскакивают местами косячки - "чистый" $_GET в запросах к базе.. возможно, так задумано, а может "просто"..
Ставить-тестить не стал...

давайте без сарказма только. объяснил же.

denis920:
Или как понять, что он тебя не обманывает? Ведь мы же не в офисе с ним будем сидеть, а процентов от дохода ему покажется мало и тем более он будет более хорошо понимать о каких суммах идет речь.

практика показывает, что в таких вот «коалициях» программист имеет полный доступ в базу данных, где и может посмотреть сколько профита выходит в целом, так что наугад цифры никто называть не будет, но хотя снова таки, зависит от амбиций.

---------- Добавлено 30.03.2013 в 23:06 ----------

пошел код смотреть 🍿

denis920:
Обычно я при заказах, ставил задачи так, что бы программист не понимал, или имел минимальное понимание, того как будут использоваться его работа, но в этом случае скрыть явное было практически не возможно

вот это, кстати не очень хорошая практика. когда программист понимает цель задачи, он как минимум может предложить более оптимальный вариант решения задачи, не используя «лепнину» хрен знает чего на хрен знает что. ну и в общих чертах будет правильно проектировать, для дельнейшей поддержки..

Если у Вас по настоящему крупный проект, то берите программиста в долю, что бы он был заинтересован в проекте

самый толковый совет во всей теме :D

только как понять что ты взял себе в партнёры прожженного волка, профессионала своего дела, а не обычного студента с амбициями, который мимоволи делать дырки и не замечает этого?

denis920:
В открытый доступ думаю не стоит :) Если хотите, могу дать Вам Милованов Ю.С и ivan-lev скрипт полезный, думаю и Вам пригодится, главное точно знать, что в нем нет специально сделанных дыр!

и мне и мне! 😂 я тоже хочу

denis920:

Сколько вообще времени необходимо опытному программисту, что бы проверить на уязвимости такой небольшой, как у меня, скрипт? Это вообще очень трудоемкая работа? В каком диапазоне будут цены на такую услугу?

ну я сейчас под пиво могу пофилософствовать с вами, кто такой «опытный программист» и как определяется опыт. вообще я таким не занмаюсь, поэтому цены назвать не могу.

ну и время

Очень маленький, 12 php файлов, css файлы и картинки
за пару часов можно прошерстить эти файлы вдоль и в поперёк, если конечно там каждый файл не по тысяче строк, что маловероятно.
ivan-lev:
эм.. зная код, шансов найти дырки больше..

нет, шансов не больше. просто времени это займёт намного меньше.

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

для параноиков идеальным вариантом будет отдать на проверку логи понимающим людям, хотя тут тоже засада, в логах может быть (и скорее всего будет) адрес домена, и злые программисты снова вас поимеют :(

Всего: 786