Ошибка: Failed to parse the Currency Converter XML document.
$25 758.33


Ошибка: Failed to parse the Currency Converter XML document.
$21 810.62


Ошибка: Failed to parse the Currency Converter XML document.
$1 921.72


Поиск уязвимостей в PHP скриптах для Начинающих

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

Статья это маленькая, но я считаю полезная =)

1. Если вы читали мою вторую статью то первое что стоит искать, должно было прийти в голову уже... Т.е. первое что мы ищем include($file);
Так же хочеться упомянуть более опытных разработчиков, которые переписывают стандартные функции, если вы столкнулись с такой ситуацией, то надо сначало просмотреть файл с функциями, так же на наличие обращения к include, fopen и т.п.

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


2. Поиск SQL — inj
Расскажу на практике:
Кусок кода из интернет казино:
if ($send==«1»)
{
mysql_query(«UPDATE users set pass=«$cpass»,name=«$cname»,fam=«$cfam» where login=«$l»»);
echo «»; }

Итак, после нахождения в нём уязвимости, я думал что от нее не будет толку, но как показала практика, есть ...

Итак, мы видим, что при включеных MAGICQUOTES, вмешаться в данный запрос не получится... Но нашлись и такие сервера, которые работали без этой дирeктивы...


Переменные передаются через Формы и самый простой способ вмешаться в запрос это поле Фамилия =) Главное правильно составить запрос, после составления такого запроса «,cash=«20.00» /*
На локальном компьютере, я увидел, что у всех зарегистрированных пользователей баланс стал по 20.00 и это меня и обрадовало и огорчило, так-как не заметил, что обрубаю запрос и не уточняю где надо изменить баланс, потом подредактировав запрос, я составил следующий запрос
»,cash=«20.00» where login=«12»/*

И у пользователя 12 на счету стало 20.00 руб =) После этого я убедился, что все уязвимости важны, таже те которые на первы взгляд кажуться мало важными...

 

Интересное

Типизированные файлы
Типизированный файл — это файл в котором записанны идентичные структуры. Например любой файл можно считать файлом байтов — т.е. можно его читать байт за байтом, можно перейти сразу к любому...
Подробнее...
Сделать первый небольшой...
С чего начать?Я думаю, сейчас самое время перейти от слов к делу — сделать первый небольшой скрипт.Возьмем для примера следующую задачу. Нужно сделать базу с книгами, которые появились или скоро...
Подробнее...
SSI - что, когда, как?
Основным, простейшим, но в то же время чрезвычайно мощным инструментом поддержки больших наборов документов является SSI (Server-Side Includes — включения на стороне сервера). Если кто-то из...
Подробнее...
Firefox: Настройка RSS
Много слышал об RSS и даже несколько раз пытался пользоваться специальными программами для чтения. Но устанавливать дополнительное ПО не хочется, тем более что в Firefox есть встроенный клиент...
Подробнее...
Протоколы интернет
Прародителем сети интернет была сеть ARPANET. Первоначально её разработка финансировалась Управлением перспективного планирования (Advanced Research Projects Agency, или ARPA). Проект стартовал...
Подробнее...
Linux Format
Linux Format Номер 1 Январь 2007 Автор: Linux Format Формат: PDF
Подробнее...
Выпадающие меню с помощью CSS
Каждый, кому хоть раз приходилось создавать выпадающие меню, знаком с тем, какое количество скриптов требуется для этого. Между тем, используя грамотно структурированный HTML-код и несложные...
Подробнее...
База данных методами...
В статье рассматривается работа с бинарными файлами из Delphi, а так же использование Object Pascal для управления записью, чтением и изменением собственных типов файлов.Постановка задачи:...
Подробнее...
Средства восстановления...
Чтобы ни говорили про повышенную надежность Windows 2000/ХР, иногда она все же подводит. Правда, по сравнению со своими предшественницами Windows 9x/Me это случается гораздо реже. А поскольку...
Подробнее...
CSS дизайн: с учетом контекста
Веб-стандарты обещают нам улучшенную поддержку мультимедиа: возможность оптимизировать контент под возможности компьютерных экранов, портативных устройств, принтеров, проекторов, и подобных...
Подробнее...