АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

DirectorySearch.php


<?php
if ($_POST['submitb']=="Delete Record")
{
$conn = Mysql_connect('localhost','root','xyxyxy');
$db = Mysql_select_db('Membership',$conn);
$sqlDelete = "DELETE FROM Personnel WHERE AutoNum =".
$_POST['AutoNum'];
$rsDelete = Mysql_query($sqlDelete,$conn);
if(Mysql_affected_rows($rsDelete) == 1)
{
echo "Запись успешно удалена!";
}
Mysql_close($conn);
}
?>

 

После нажатия кнопки “Delete Record” устанавливается соединение с базой данных Mysql. Затем создается оператор SQL DELETE для удаления записи из таблицы Personnel со значением поля AutoNum, равным значению скрытого текстового поля AutoNum. Затем оператор SQL выполняется. Результаты работы функции Mysql_query() присваиваются переменной $rsDelete. Последний шаг состоит в проверке, что удаление записи прошло успешно, и в выводе подтверждающего сообщения. Функция Mysql_affected_rows() используется для определения числа строк в множестве результатов ODBC или числа строк, затронутых оператором Mysql_query(). Так как будет удалена только одна запись, то результат Mysql_affected_rows() равный 1 означает, что запись удалена успешно. В конце соединение с базой данных закрывается.

 

Внедрение SQL-кода (англ. SQL injection) — один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL-кода.

Внедрение SQL, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или добавить данные), получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере.
Атака типа внедрения SQL может быть возможна из-за некорректной обработки входящих данных, используемых в SQL-запросах.
Разработчик прикладных программ, работающих с базами данных, должен знать о таких уязвимостях и принимать меры противодействия внедрению SQL.

Оглавление документа

Принцип атаки внедрения SQL

1.1. Внедрение в строковые параметры

1.2. Использование UNION

1.3. Использование UNION + group_concat()

1.4. Экранирование хвоста запроса

1.5. Расщепление SQL-запроса

Методика атак типа внедрение SQL-кода

2.1. Поиск скриптов, уязвимых для атаки

Защита от атак типа внедрение SQL-кода

3.1. Фильтрация строковых параметров

3.2. Фильтрация целочисленных параметров

3.3. Усечение входных параметров

3.4. Использование параметризованных запросов

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)