ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Чужие Статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Выполняем свой Sql запрос в форме
  #1  
Старый 12.06.2005, 16:31
Аватар для k00p3r
k00p3r
Banned
Регистрация: 31.05.2005
Сообщений: 549
Провел на форуме:
484586

Репутация: 16


Отправить сообщение для k00p3r с помощью ICQ
По умолчанию Выполняем свой Sql запрос в форме

Отсутствие фильтрации ';' приводит к уязвимости защиты в формах, которые обрабатываются SQL server-ом. Уязвимость защиты найдена в возможности, которая возникает в некоторых страницах, не фильтрующих поля SQL на наличие опасных символов, что позволяет нападавшим заставлять сервер выполнять произвольные команды базы данных. Большинство доступных через сеть форм уязвимы к этой проблеме неочистки ввода, которая входит в запрос базы данных.

Пример:

Создаем форму, и затем помещаем в User ID field.

Пример кода:

<%
dim lngUserID
dim lngPassword
strUserID = request("txtUserID")
dim adoConn
dim adors
set adoConn = server.CreateObject("ADODB.connection")
set adors = server.CreateObject("ADODB.Recordset")
adoConn.open Application("conDOTS_ConnectionString")
strSQL = "Select * from tblUsers where User_Id = "&strUSerID adors.Open strSQL,
adoconn if not adors.eof then
strEmail = adors("user_email")
strPassword = adors("password")
end if
adors.close
strSubject = "Password Request"
strBody = "Your Password is:"&strPassword
mailsent = fun_SendMail(strEmail,strEmail,strSubject,strBody)
end if
Session.abandon
%>

<body>
<form ACTION="forgotpass.asp" METHOD="POST">
Please enter your user id:
<input type="text" name="txtUserID"><br>
<br>
<input type="submit" value="Submit">
<input type="hidden" name="forgot" value="1">
</form>
</body>
</html>


Теперь, если кто-нибудь добавит следующую строку в поле User ID:

12;exec sp_addlogin 'BadUser'

то тогда SQL сервер исполнит обе команды.

Для устранения уязвимости нужно при принятии от пользователя запроса нужно разрешать только алфавитно-цифровые символы и обязательно исключать специальные символы типа ';'.

Автор: PIG Killer
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ