最近在进行渗透测试项目的时候遇到了一个Actuator配置不当的场景,通过其提供的执行器端点获取到了heapdump堆转储文件,经过简单分析后获得了JDBC明文密码等敏感信息。.../actuator/heapdump # 堆转储文件 ......Heapdump堆转储文件 Heapdump,即堆转储文件,是一个Java进程在某个时间点上的内存快照。...JVisualVM是一个监视,故障排除工具 也可以使用Eclipse MAT对其进行分析 参考:Java内存泄漏分析系列之六:JVM Heap Dump(堆转储文件)的生成和MAT的使用 ?...参考 Springboot之actuator配置不当的漏洞利用 Java内存泄漏分析系列之六:JVM Heap Dump(堆转储文件)的生成和MAT的使用 Springboot 获取被星号脱敏的密码的明文
日志的转储和压缩是非常关键的,它不仅可以减少硬盘空间占用,主要还可以在发生故障时根据日志定位出故障原因。下面来看看golang和java的文件转储实现。...s to %s error : %v", logFile, backFile, err)) return } else { os.Remove(logFile) } //转储后创建新文件...//createFile() //修改文件权限 //os.Chmod(backfile, 0400) //删除备份文件 //deleteOldBackfiles(dir) }...java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; /** * @program: website * @description: 转储压缩文件...* * @param oldFile 要压缩的文件 * @param zipOut 压缩文件流 * @param baseDir baseDir *
有很多很不错的的工具,例如Eclipse MAT和Heap Hero,可以分析堆转储。但是,您需要为这些工具提供以正确的格式和正确的时间点捕获的堆转储。 本文为您提供了捕获堆转储的多个选项。...jmap jmap打印堆转储到指定的文件位置。该工具打包在JDK中。可以在JAVA_HOMTE\bin文件夹中找到它。...如果传递了此选项,则仅将内存中的存活的对象写入堆转储文件。如果未通过此选项,则所有对象,即使是准备进行垃圾回收的对象,都将打印在堆转储文件中。它将大大增加堆转储文件的大小。这也将使分析变得乏味无聊。...步骤: 在JAVA_HOMTE\bin文件夹下启动jvisualvm 右键单击其中一个Java进程 点击下拉菜单上的“堆转储”选项 将生成堆转储 将在“摘要”选项卡>“基本信息”>“文件”部分中指定生成堆转储的文件路径...dumpHeap'操作采用两个输入参数: outputFile:应将堆转储写入的文件路径 live:传递“ true”时,仅捕获堆中的活动对象 您可以使用JConsole,jmxsh,Java Mission
转储是一种文件,其中包含创建进程时该进程的快照,可用于检查应用程序的状态。 当很难将调试程序附加到 .NET 应用程序(如生产或 CI 环境)时,可使用转储来调试该应用程序。...使用转储可以捕获有问题进程的状态,并且可以直接检查状态而无需停止应用程序。 收集转储 可以通过多种方式收集转储,具体取决于运行应用的平台。...有关详细信息,请参阅下表 2 (MiniDumpWithPrivateReadWriteMemory) COMPlus_DbgMiniDumpName 或 DOTNET_DbgMiniDumpName 写入转储的文件路径...此选项可能会导致文件非常大。 在特定时间点收集转储 你可能需要在应用尚未发生故障时收集转储。...若要在自己的请求时收集转储,可以使用 dotnet-dump,这是一种用于收集和分析转储的 CLI 工具。 若要详细了解如何使用 dotnet-dump 来收集转储,请参阅转储收集和分析实用工具。
该工具采用进程 ID 将转储作为其主要参数收集,还可以采用可选参数来指定要收集的转储类型(带有堆的小型转储是默认类型)。 选项包括: 要转换的输入跟踪文件。...若要分析 .NET Core 转储、LLDB 和 SOS,要求在创建转储的环境中使用以下 .NET Core 二进制文件: libmscordaccore.so libcoreclr.so dotnet...如果无法使用 dotnet-symbol 下载所需的二进制文件(例如,如果正在使用从源构建的 .NET Core 专用版本),则可能需要从创建转储的环境复制上面列出的文件。...如果文件不位于转储文件旁边,则可以使用 LLDB/SOS 命令 setclrpath 设置应从中加载文件的路径,并使用 setsymbolserver -directory ...所需文件可用后,就可以通过将 dotnet 主机指定为要调试的可执行文件来将转储加载到 LLDB 中: lldb --core 在上面的命令行中,<
崩溃转储、内存转储、核心转储、系统转储……这些全都会产生同样的产物:一个包含了当应用崩溃时,在那个特定时刻应用的内存状态的文件。...目录,运行 make,并使用 -c1 开关执行该示例二进制: ....否则,用以下方法纠正限制: ulimit -c unlimited 要禁用创建核心转储,可以设置其大小为 0: ulimit -c 0 这个数字指定了核心转储文件的大小,单位是块。 什么是核心转储?...当使用 systemd-coredump 时,转储文件被压缩保存在 /var/lib/systemd/coredump 下。你不需要直接接触这些文件,你可以使用 coredumpctl。...比如说: coredumpctl list 会显示系统中保存的所有可用的转储文件。
在上期文章如何获取JVM堆转储文件中,介绍了几种方法获取JVM的转储文件,其中编程方法是里面唯一一个从JVM内部获取的方法。...这里就不演示了其他方法获取正在运行的应用程序的堆转储,重点放在了使用编程来获取转储文件的方法,并演示了如何使用jhat工具浏览/分析生成的二进制堆转储。...MBean的字段 */ private static volatile HotSpotDiagnosticMXBean hotspotMBean; /** * 下载内存转储文件...hotspotMBean.dumpHeap(fileName, live); } catch (Exception e) { logger.error("生成内存转储文件失败...,但不能将多个转储中的对象相关联。
最近遇到一对需要执行的sql文件,sql文件内是insert 语句。...但是实施人员给过来的sql文件,一张表的数据根据数据量硬生生生成了近10个文件。文件多了,若手动执行,很容易出现遗漏或者重复操作,造成错误。 由于文件内结构比较单一,故用脚本实现。...代码如下: def execute_sql(conn, cur, path=r"D:\个人"): """执行指定目录下的.sql文件""" os.chdir(path) for...count = 1 # 当读取完毕文件,不到2000行时,也需对拼接的sql 执行、提交 if sql:...cur.execute(sql) conn.commit() 以上execute_sql函数,会默认执行入参path路径下,所有文件名包含“.sql”文件。
# 背景 用例执行完毕,期望回滚数据,因此希望执行sql来回滚数据 # 步骤 直接show代码,借助的是mybatis的ScriptRunner /** * 执行xx库下的表备份脚本...runner.setAutoCommit(true); String fileName = String.format("src/main/resources/db/%s.sql...File file = new File(fileName); try { if (file.getName().endsWith(".sql
在MySQL下执行: source /home/jiangxingqi/DB/hello world.sql
一个(可写的、常规的)文件与用于核心转储的同名文件已经存在,但有多个硬链接到该文件。 将创建核心转储文件的文件系统已满;或已用完 inode;或以只读方式安装;或者用户已达到文件系统的配额。...要创建核心转储文件的目录不存在。...进程正在执行的二进制文件没有启用读取权限。(这是一种安全措施,可确保内容不可读的可执行文件不会产生可能可读的核心转储,其中包含可执行文件的映像。)...) %h 主机名(同 uname(2) 返回的 nodename) %e 可执行文件名 %c 转储文件的大小上限(内核版本 2.6.24 后可用) 压缩转储文件 kernel.core_pattern...,发生内核转储时,就会在/root/core下生成压缩的转储文件。
可以根据日志文件的大小,也可以根据其天数来转储,这个过程一般通过cron 程序来执行 配置文件是/etc/logrotate.conf``/etc/logrotate.d/* 计划任务配置文件/...notifempty # 如果是空文件的话,不转储 mail address # 把转储的日志文件发送到指定的E-mail 地址 nomail # 转储时不发送日志文件...olddir directory # 转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统 noolddir # 转储后的日志文件和当前日志文件放在同一个目录下 prerotate.../endscript # 在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行 postrotate/endscript # 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行...# 大小指定日志超过多大时,就执行日志转储 rotate count # 指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份 Missingok # 如果日志不存在,
START 0x01前言 本节主要介绍几种windows系统环境下凭证转储的几种方式,以及通过日志如何去检查是否遭受到了凭证转储。...0x02相关概念 (1)凭证转储:从操作系统和软件中获取登录账号密码信息的过程,通过获取的凭证可以用来进行横向移动,获取受限信息,远程桌面连接等。...0x05常见进程转储方式 (1) procdump方式 Procdump是一个轻量级的Sysinternal团队开发的命令行工具, 它的主要目的是监控应用程序的CPU异常动向, 并在此异常时生成crash...(2) sqldump方式 SqlDumper.exe默认存放在C:\Program Files\Microsoft SQL Server\number\Shared,number代表SQL Server...下载下来的文件为源码,此时需要编译成可执行文件: %SystemRoot%\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe "D:\工具\mimikatz\
如题: 需要本地安装mysqlbinlog 命令 mysql-bin.000046 binlog 文件 lzerp 数据库名称 /home/46.sql 导出sql 文件的目录 mysqlbinlog...--base64-output=decode-rows -v mysql-bin.000046 -d lzerp > /home/46.sql
在CentOS或者suse等Linux系统中默认是关闭coredump核心转储的,也就不会产生core文件。由于在C/C++开发中会用到gdb调试,所以需要开启coredump功能。...下面是具体的配置命令,可以保存为一个简单的shell脚本执行。...# %% – 符号% # %p – 进程号 # %u – 进程用户id # %g – 进程用户组id # %s – 生成core文件时收到的信号 # %t – 生成core文件的时间戳(seconds.../sysctl.conf # suffix of the core file name echo -e "1" > /proc/sys/kernel/core_uses_pid 在Linux终端上执行完上面的脚本后...argc, char * argv[] ) { char a[1]; scanf( "%s", a ); return 0; } 使用命令gcc test.c -o test编译后执行
但是,这种情况很少见,您经常会遇到一个线程转储1或2个巨大的表,而其他线程都已完成并处于空闲状态的情况。它还将转储到单个SQL文件,从而创建一个序列化点。...单个SQL文件还使得并行加载所有数据变得更加困难,因为除了在脚本中找到合适的边界用于线程之间划分工作之外,还必须解析该文件。...MySQL Shell具有的其他显着功能: 转储和加载步骤本身也可以同时完成。即使转储仍在执行,用户也可以开始加载它。通过利用这些优势,可以加快涉及跨服务器复制数据库的用例。...转储格式 与mysqldump,mysqlpump产生的转储不同,Shell转储将DDL,数据和元数据写入单独的文件。表也细分为大块,并写入多个类似CSV的文件中。...同样重要的是,通过加载这些转储还原服务器也要快得多。与加载等效的.sql转储文件相比,从Shell转储中还原大型数据库仅需花费一小部分时间。当需要紧急恢复时,这可以释放一些宝贵的时间!
创建sh后缀文件: touch test.sh #!...root pass="123456" db=test tablename=ts mysql -u$user -p$pass -D $db sql
白名单文件dump 首先说三个微软签名的白名单程序 Procdump.exe SQLDumper.exe createdump.exe Procdump.exe(no) 尽管procdump拥有微软签名...native binary 虽然有签名同样遭到AV查杀 createdump.exe -u -f lsass.dmp lsass[PID] Rundll32.exe(no) 使用rundll32直接执行...Get-Process lsass).id Desktop\lsass-comsvcs.dmp full 同样被查杀 avdump.exe(yes) AvDump.exe是Avast杀毒软件中自带的一个程序,可用于转储指定进程...而这种调试技术,可以派生 werfault.exe进程,可以用来运行任意程序或者也可以用来转存任意进程的内存文件或弹出窗口。 但该方式需要修改注册表,修改注册表操作将会被查杀。
需求: 要在服务器上指执行sql 为了不影响线上用户正常使用,且执行10000行暂停10秒。...然后用python 写了这样一个文件 文件存放位置: /root/sql/ 文件名:2 3 4 5 6 ........这样做是为了省事 用 range(2,24) 其实可以写成读取目录文件:os.listdir("/root/sql/") ######## author shenym ########### #####...###2014-05-05 ########### import os import time import math ##读取文件 for i in range(2,24): ##拼接文件完整路径... filename="/root/sql/"+str(i) file= open(filename,'r') ##计数器(控制暂停) count
文章目录 前言 一、转储(导出)数据库 SQL 文件 1.1、选择“转储 SQL 文件” 1.2、选择导出文件存放位置 1.3、查看转储 SQL 文件界面 1.4、查看 SQL 输出文件 1.5、查看输出文件详情信息...二、运行(导入)数据库 SQL 文件 2.1、新建数据库 2.2、运行 SQL 文件 2.3、查看运行SQL文件界面 2.4、查看 SQL 运行文件(为什么我的表导入了没有?)...---- 一、转储(导出)数据库 SQL 文件 说明:转储即导出,运行即导入 SQL 文件,以下不另作说明。...1.1、选择“转储 SQL 文件” 双击需要导出的数据库,鼠标右键,选择“转储 SQL 文件”,如下图所示: 1.2、选择导出文件存放位置 选择导出文件存放位置,点击保存即可,如下图所示: 1.3、...查看转储 SQL 文件界面 查看转储 SQL 文件界面,查看转储信息,待进度条到达 100% 我们点击关闭即可,转储 SQL 文件 OK,如下图所示: 1.4、查看 SQL 输出文件 打开我们刚才选择的