Отправляет email-рассылки с помощью сервиса Sendsay

MS SQL Server

  Все выпуски  

MS SQL Server - дело тонкое...


Служба Рассылок Subscribe.Ru

#076<<  #077

СОВЕТЫ

Коварная точка с запятой
Автор: Kenneth Hoskins. По материалам Windows NTBugtraq Mailing List

Одной из потенциальных проблем защиты SQL Server, при использовании логина "sa" или учетной записи с правами администратора, является отсутствие фильтрации символа ";" в полях пользовательской формы.

Автор думает, что эта уязвимость вероятно уже наверняка залатана, но он решил вернуться к ней, потому что в перешедших под его управление нескольких сайтах, ему пришлось исправлять эту уязвимость.
Если в global.asa или в ADO ConnectionString Вы используете логин "sa" или другую учетную запись, обладающую аналогичными правами, и Вы не фильтруете использование в этой строке символ точка с запятой, злоумышленник может воспользоваться этим и получить неограниченный доступ к вашим системам или выполнить деструктивные операции. Даже если это окажется обычный пользователь, он может по ошибке нанести вред. См. пример ниже.
Автор знает, что существует рекомендация о применении только алфавитно-цифровых символов, которая также рекомендует исключать специальные символы, однако, символ ";" - не относится не к тем, не к другим. Это легко воспроизвести, даже притом, что это затронет только некоторых людей.
Создайте соответствующую форму, и затем поместите в поле User id:


999;exec sp_addlogin 'BadUser'

Код примера:


<%
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 Server Troubleshooters
На сайте Микрософт работает служба помощи в разрешении проблем: SQL Server Troubleshooters
SQL Server Troubleshooters поможет Вам решать проблемы, пройдя последовательно через древовидную систему вопросов и уточнений.

SQL Server 2000

SQL Server 2000 Connectivity Troubleshooter
SQL Server 2000 Distributed Query Troubleshooter
SQL Server 2000 Data Transformation Services Troubleshooter
SQL Server 2000 Mail Troubleshooter
SQL Server 2000 Query Performance Troubleshooter
SQL Server 2000 Replication Troubleshooter
SQL Server 2000 Setup Troubleshooter
SQL Server 2000 Startup Troubleshooter

SQL Server 7.0

SQL Server 7.0 Connectivity Troubleshooter
SQL Server 7.0 Distributed Query Troubleshooter
SQL Server 7.0 Data Transformation Services Troubleshooter
SQL Server 7.0 Full-Text Search Troubleshooter
SQL Server 7.0 Mail Troubleshooter
SQL Server 7.0 Query Performance Troubleshooter
SQL Server 7.0 Replication Troubleshooter
SQL Server 7.0 Setup Troubleshooter

SQL Server 6.5

SQL Server 6.5 Connectivity Error 10004 Troubleshooter
SQL Server 6.5 Installation and Connection Troubleshooter
SQL Server 6.5 Error 1105 Troubleshooter
SQL Server 6.5 Mail Troubleshooter
SQL Server 6.5 Slow Query Troubleshooter
SQL Server 6.5 Startup Troubleshooter

Карта системных таблиц SQL Server 2000
Карта системных таблиц SQL Server является очень популярным инструментом администраторов базы данных, программистов и других профессионалов, работающих с SQL Server 2000. Интерактивная карта системных таблиц использует удобство визуального представления отношений таблиц и имеет достаточно глубокий уровень технической детализации.

Файл для загрузки карты системных таблиц SQL Server 2000 (582 Кб)
SQL Server store

Если у Вас возникнут проблемы с просмотром карты, попробуйте загрузить и установить HTML Help viewer, который выложен в раздел Microsoft Download Center. Также, Вы можете использовать утилиты-архиваторы, например: WinZip или PKZip для распаковки файлов.

Новые технические статьи Microsoft

FIX: Error Message 1205 Is Not Returned with the Localized Message Text (Q296438)
INF: How to Author MSDE 2.0 Setup Packages with Microsoft Visual Studio Installer 1.1 (Q299795)
FIX: Table Without Index Does Not Appear in Taskpad View of Enterprise Manager (Q310465)
FIX: SQL Server May Stop Responding (hang) During Snapshot Backup of More Than One Database (Q308755)
FIX: sp_MSdependencies May Run for a Long Time to Script Tables and Views (Q308888)
FIX: Access Violation Occurs When You Execute DBCC SHOWCONTIG Followed by Any System Function (Q308749)
FIX: Connection Failure Errors Occur After Upgrade to MSDE 2.0 (Q308212)
FIX: Incorrect Display of Error Log in Enterprise Manager (Q308834)
FIX: SQL Server 2000 Setup Terminates Unexpectedly if You Install Chinese (Hong Kong) Locale (Q308866)
BUG: Update of Column That is Part of an Indexed View May Cause a Handled Access Violation (Q311145)
FIX: SET NOEXEC OFF May Not Execute If Included in Same Batch as SET NOEXEC ON (Q308745)
PRB: Distribution Agent Fails After You Apply Replication Scripts (Q312106)
FIX: Spurious Merge Conflict After Metadata Proxy Failure (Q308765)
PRB: sp_resolve_logins Stored Procedure Fails If Executed During Log Shipping Role Change (Q310882)
FIX: Memory and Handle Leak When You Use MSXML Inside SQL Server Stored Procedure (Q303114)
FIX: SQL Server Optimizer Ignores Index Hint for UPDATE If One or More Non-Clustered Indexes Exist (Q308760)
BUG: Problems Occur When Connecting to SQL Server from ADO Application (Q300519)
INF: How to Identify the Cause of Recompilation in a SP:Recompile Event (Q308737)
BUG: Analysis Services Performance Counters Disappear after You Install Service Pack 2 (Q313597)
FIX: SELECT DISTINCT Operation Generates 1505 Error Message (Q308811)
FIX: An Access Violation Occurs in CEsExec::ReleaseInterfaces If You Insert NTEXT Column with "Insert - Exec" (Q305147)
FIX: SQL Server Stops Unexpectedly During Restore (Q312537)
FIX: CheckDB May Not Fix Error 8909 or Error 8905 (Q308795)
FIX: Unable to Overwrite Read-Only Dynamic Snapshot Pre_snapshot_script (Q308872)
FIX: Error 644, 5180 Updating Text or Ntext Column with ISNULL (Q236568)

ФОРУМ SQL.RU: САМЫЕ ПОПУЛЯРНЫЕ ТОПИКИ НЕДЕЛИ

О форуме SQL.RU
Откат в триггере?
Триггер срабатывает только на первый Insert
Работа с картинками №2
Как добавить IDENTITY
Утилита для сравнения структур баз данных
2 Дед Маздай
Еще раз о merge репликации и GUID
Ув.участники форума! Пожалуйста,выскажите свое мнение в опросе на гл.странице(-)
Merge репликация и кластеризованные индексы

ФОРУМ SQL.RU: ВОПРОСЫ ОСТАЛИСЬ БЕЗ ОТВЕТА

Restore
Merge репликация
Крутой БАГ в СКЛ2К
открыть для локалки и закрыть для инета
2-ой сервис-пак. История продолжается.
Объединение в пределах одной таблицы
Анализ готового MS SQL Server приложения.
Знаки вопроса вместo кирилицы при переходе с Access в MSSQL
Обсуждение топиков FAQ
Подскажите, ПЛЗ !!!
MSSQL2000 => MSSQL70

#076<<  #077

Вопросы, предложения, коментарии, замечания, критику и т.п. присылайте Александру на адрес: mssqlhelp@pisem.net

sql.ru

Описание рассылки
 Поиск на SQL.RU
Искать: 
Результатов на странице: Формат:
Тип запроса: Раздел:
МИНИФОРМА
ПОДПИСКИ




http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное