问题 有位同学问我,在类似 pt-osc 场景下,需要将两个表名对调,怎么才能确保万无一失呢? 分析 估计其他同学就笑了,表名对掉还不简单吗,相互 RENAME 一下嘛。...但是,我们想要的是同时完成表名对调,如果是先后的对掉,可能会导致有些数据写入失败,那怎么办? 回答 其实也不难,从 MySQL 手册里就能找到方法,那就是:同时锁定2个表,不允许写入,然后对调表名。...我们通常只锁一个表,那么同时锁两个表应该怎么做呢,可以用下面的方法: LOCK TABLES t1 WRITE, t2 WRITE; ALTER TABLE t1 RENAME TO t3; ALTER...TABLE t2 RENAME TO t1; ALTER TABLE t3 RENAME TO t2; UNLOCK TABLES; 看到了吧,其实很简单,两个表同时加表级写锁,然后用 ALTER 语法改名就可以了
这将打开注册表编辑器。 3、导航到HKEY_CLASSES_ROOT键。 4、查找表示要与特定程序关联的文件类型的键。例如,如果要将文件类型“.txt”与程序相关联,则需要查找“.txt”键。...将新密钥命名为“OpenWithProgids”。 7、选择您刚刚创建的 OpenWithProgids 键,然后右键单击窗口右侧并选择“新建”和“字符串值”。...将新值命名为要与文件类型关联的程序的名称。 8、双击刚刚创建的值,在“值数据”字段中输入程序可执行文件的名称(例如记事本.exe),然后单击“确定”。...9、关闭注册表编辑器,您指定的文件类型现在将与您指定的程序相关联。 请注意,如果您不熟悉注册表,修改注册表可能会很危险,如果操作不正确,可能会导致严重的系统问题。还建议在进行任何更改之前备份注册表。
一、提问环节 在刚进入 IT 行业的第一年换工作的时候,至今让我印象最深刻的有一个这样的面试题:如何通过 SQL 方式将数据库的行转列?...end 例如下面是一张很常见的学生考试成绩表,我们将学生的考试成绩以单表的形式存储到数据库表中。 我们想要以下图形式,并以总分排名从高到底进行展示,如何通过 SQL 方式实现呢?...其实像这样的行转列的查询逻辑非常的普遍,例如刚过去的奥运奖牌排行榜! 还有全球新冠疫情数据排名。...可能不同的应用实现方式不一样,但是大体的解决思路是一样的,将数据进行分组聚合汇总,然后按照分数进行从高到低排名。...三、小结 本文主要围绕如何通过 sql 的方式,将数据库表中的行转列进行显示,希望能帮助到大家!
一点【从表格】就这样: 大海:你这个表在筛选后删过数据。貌似如果一个表筛选后再删除一些列,这个表再通过【从表格】方式导入就是会出现上面那个错误。 小勤:啊?还有这种事!那怎么办?...大海:虽然不知道为什么会这样,但这个问题有个比较简单的解决办法:先将这个表通过【插入】-【表格】的方式先变成“超级表”: 然后再用【从表格】的方式就可以导入Power Query了:
powershell需要.NET环境的支持,同时支持.NET对象。微软之所以将Powershell 定位为Power,并不是夸大其词,因为它完全支持对象,面向对象的便捷可想而知了。...为了帮助实现对此类问题的troubleshoot ,我编写了两个PowerShell 脚本。脚本能够可以无人值守,并且日志在一段时间后查询。...图1 最大区别在于循环位置 两个脚本都会在终端和日志记录日志。如果连接产生问题我们也希望在日志文件中看到错误信息。...21-27行就是我们的连接参数和查询命令变量 。 ?...函数fn_WriteToLog 将错误信息附加上日期后记录到终端然后添加到日志文件中。 ? 做好了以上所有工作后,执行脚本,当法伤网络连接问题时,就会产生日志文件错误日志。如下: ?
然后确保新的ssh-agent服务正在运行,并使用ssh-add将私钥对添加到正在运行的agent中: ? 运行ssh-add.exe -L显示当前由SSH agent管理的密钥。...最后,在将公钥添加到Ubuntu box之后,我验证了我可以从Windows 10进入SSH,而不需要解密我的私钥(因为ssh-agent正在为我处理): ?...测试注册表值 果然,在注册表中,可以看到我使用ssh-add添加的两个键项。密钥名称是公开密钥的指纹,并且存在一些二进制blobs: ? ? 我能够pull注册表值并操作它们。...在证明可以从注册表中提取私钥后,我将PoC分享到了GitHub。...为了验证,我将密钥复制回了Kali linux box中验证了指纹,并将其应用到了SSH中! ? 结语 很显然,我的PowerShell功底非常的薄弱,我发布的代码更多的是PoC。
dll,这里我们直接修改注册表里面的值即可 首先我们尝试一下任意位置直接加载dll,写一个修改注册表的代码,主要是使用RegOpenKeyW、RegSetValueExW这两个api来实现 DWORD...kiwissp 的新文件,该文件将记录帐户的凭据。...这个过程中会有明文形式的密码经行传参,只需要改变PasswordChangeNotify的执行流,获取到传入的参数,也就能够获取到明文密码。...那么这里我们再使用反射加载的方式进行尝试,利用Powershell tricks中的Process Injection将dll注入到lsass进程,项目地址如下 https://github.com/clymb3r.../PowerShell/blob/master/Invoke-ReflectivePEInjection/Invoke-ReflectivePEInjection.ps1 这里首先更改powershell
\nono.py False #3.验证变量是否存在 PS > test-path variable:PWD True #4.判断注册表项是否存在(HKCU:, HKLM预定义的两个重要注册表根目录虚拟驱动器...(路径别名) # 第一个命令将当前位置添加到路径堆栈。...TotalCount参数获取前25行内容按[-n]获取倒数第n行的数据 (Get-Content -Path ....\LineNumbers.txt -Stream "newstream" Whoami Add-Content - 命令 将内容添加到指定的项目 描述: 该Add-Contentcmdlet将内容附加到指定的项目或文件...Tips: HKCU:, HKLM:预定义的两个重要注册表根目录虚拟驱动器或者不使用预定义的情况registry::来指定注册表的全路径。
中的mimilib.dll文件放到系统C:\windows\system32\目录下,同时将mimilib.dll文件添加到注册表中,这种方法有一个好处就是即便是系统重启,也不会影响持久化的效果。...首先,我们将Mimikatz中的mimilib.dll文件复制到系统的C:\windows\system32\目录下: 之后修改注册表HKEY_LOCAL_MACHINE/System/CurrentControlSet...SID History属性中,使迁移后的用户保持原有权限、能够访问其原来可以访问的资源,使用mimikatz,可以将SID History属性添加到域中任意用户的SID History属性中,在实战中,...SID History维权 Step 1:使用powershell查看Al1ex用户的SID History属性 Step2:打开mimikatz,将administrator的SID添加到恶意域用户Al1ex...#将administrator的SID添加到al1ex的SID History属性中 Step 3:再次使用Powershell查看Al1ex用户的SID History信息 Step 4:使用
用户帐户的凭据 3.在任务栏上的 PowerShell 快捷方式,右键打开属性并单击的“高级”,然后选中所表示的"以管理员身份运行"复选框,然后双击“确定”,以接受更改并退出这两个对话框。...参数时,PowerShell 将显示该 cmdlet 的帮助。 Get-Service -? 3.通用参数: 参数由 PowerShell 引擎控制, 通用参数的行为方式始终相同。...6.解释标准别名: PS 别名尝试兼顾清晰度和简洁性(可以进行缩写-进截取动词第一个字母和名词的前两个字母) 比如: 熟悉 PowerShell 别名后就很容易猜到 sal 别名指的是 Set-Alias...# 3.查找将提供程序添加到会话的管理单元或模块 Get-PSProvider | Format-Table name, module, pssnapin -auto # Name...HKEY_CURRENT_USER # HKLM Registry HKEY_LOCAL_MACHINE # - 注册表包含的根节点远不止两个我们可以自己创建
使用旧的Windows命令行来尝试这个可能更容易:您不希望将标题行添加到已存在的大型CSV文件中,因此可以为这些标题指定一个文件。...如果将表式数据库导入MongoDB,它将非常有效,如果对数据库进行正确的索引,并且通过创建有意义的集群索引,可以为每个表创建一个免费的、适当的索引。...通过使用PowerShell,您可以避免打开SQL Server的“表面区域”,从而允许它运行的DOS命令将数据写入文件。我在另一篇文章中展示了使用SQL的更简单的技巧和方法。...下面是一个PowerShell版本,它将数据库中的每个表保存到一个扩展的JSON文件中。它看起来有点复杂,但本质上它只是连接到一个数据库,对于每个表,它运行存储过程将数据转换为JSON。...我从本文中得出的结论是,使用扩展JSON提供了在两个数据库系统之间迁移数据的最佳方式,尤其是在它解决了两个问题的情况下,而且可以实现自动化。
前段时间在接触到一些基于鱼叉邮件攻击的案例时针对里面的银行木马与攻击方式进行了简单的分析,对powershell与office的宏巧妙结合的方式产生了一些兴趣。...本地开启http的服务器,kali2集成好了apache的服务,将生成好的后门改名为payload.txt后门复制到网站的根目录。 ? 通过浏览器访问,确认可以访问成功。 ?...本地生成excel的后门excel文档设置好相关的参数选项,比较温馨的是会自动的将宏与文档打包到一起,目前只支持http协议和https协议,在选择后门的自启动方式这里还是有很多选择,设置计划任务也是很多后门常用的手段之一...0x4 其他行为 可以在注册表当中找到已经设置好的自启动项目,主要内容保存在C盘C:\Users\Public\config.vbs目录下并设置隐藏属性。 ? 生成开机启动的恶意文件代码如下: ?...添加到注册表的恶意代码如下: ? 通过抓包分析获取到的流量数据基本都是是乱码,流量分析起来有一定的困难。 ?
在普通用户权限下可以将后门程序或脚本路径填写到启动项注册表中,当系统管理员登录系统时触发后门 这个在ATT&CK中的Persistence一章中的Registry Run Keys / Startup...\mimilsa.log (2)方法二 将mimikatz中的mimilib.dll放到系统的C:\Windows\System32\目录下,并将mimilib.dll添加到注册表中,重启也能持久化...powershell.exe cp ....Get-ADUser xiaom -Properties sidhistory //将Administrator的SID添加到恶意用户test的SID History属性中 ....History属性添加到用户的日志,4766为将SID History属性添加到用户失败的日志 4、Golden Ticket & Silver Ticket 可参见:一文了解黄金票据和白银票据 5、
然而在内网渗透中,除了kali、metasploit等高能的存在以外,还有一款神器也常常容易遭到忽略----PowerShell,因此本次学习将从PowerShell基础语法切入以及利用PowerShell...其中有以下两个特例: 空数组: ? 一个元素数组: ?...c.哈希表的使用:之前创建空数组是使用@(),而创建哈希表用到的是@{},此处的哈希表同python中的字典类型类似: ?...函数: a).函数是自定义的powershell代码,有三个原则: ●简短:函数名简短,并且显而易见 ●聚合:函数可以完成多个操作 ●封装和扩展:将一批powershell语句进行封装,实现全新的功能需求函数结构...IEX下载远程PS1脚本权限绕过执行(后续Powersploit框架中会用到): ?
基本数据类型 PowerShell本身是基于.Net开发出来的,所以在.Net中的基本数据类型,在PowerShell中也可以使用,只是在PowerShell中用”[]”来标识具体的数据类型。...比如: $a=10; $a -is [int] $a -is [double] 第二行返回True,第三行返回False。 我们也可以在定义变量时指定数据类型。...数据类型转换 关于默认数据类型转换,PowerShell和C#的行为有所不同。PowerShell会根据第一个变量的类型作为目标类型,然后将运算后面的联系转换为第一个类型。...比如我们申明两个变量: $a=10; $b="10"; 如果我们使用加法运算: $a+$b 该运算会返回20,因为第一个变量是int类型的,所以后面的变量都会转换为int类型。...,找出要保留的元素,然后将保留的元素集合再重新赋值会变量。比如对于字符串集合,我们要移除字符c,那么操作如下: $a=@('aaa','bb','c') $a= $a | ?
APT-Hunter具有两个部分,它们可以一起工作以帮助用户快速获取所需的数据。该工具将用于加快Windows日志分析的速度,但永远不会取代深度日志分析。...包括60多个用例以及安全和终端服务日志统计信息,不久将增加更多的用例。告别记忆用例和SIEM搜索。...现在,您无需设置SIEM,日志收集器解决方案的实例来帮助您解析和提取所需的数据,也不必继续查看具有数百万个事件的表。 记录统计信息,这将有助于您发现异常情况。...支持将Windows事件日志导出为EVTX和CSV。 分析师可以将新的恶意可执行文件名称直接添加到list中。 提供输出为excel表,每个Log作为工作表。 此版本只是开始,更多用例即将出现。...命令 使用安全日志检测通过管理界面创建的用户 使用安全日志检测Windows关闭事件 使用安全日志检测添加到本地组的用户 使用安全日志检测用户添加到全局组的用户 使用安全日志检测用户添加到通用组的用户
听多了python的好,经PowerShell一比就不算什么 相信在数据圈子里,或多或少都听到过python的一些宣传,同一个功能C写100行代码,python10行代码搞定。...这次好了,在PowerShell里,只需1行代码就完事,谁优谁劣,有对比就有结果。在PowerShell的轮子世界里,也是同样地追求这种1行代码解决问题的快感。 PowerShell轮子在哪里?...忍不住给大家再展示一条命令,Excel催化剂未有实现的文件对比功能,两个工作表的数据差异对比,提供参照列,对比列的参数即可完成。最终结果如下:橙色是不同,绿色是新增,粉色是删除。...Sqlserver中,如我们读入一个Excel文件,就可以把这个文件数据上传到Sqlserver上,无需提前建表。...localhost -TableName TestTable 就这么简单,一句命令,就可以将Excel表数据上传到Sqlserver上。
解决方案 , 解析数据 , 开始搜索,以发现任何妥协的迹象,使用搜索,你必须记住他们,为了不错过任何东西),如果你有许可证,但如果你不这样做,那么你是在你自己的享受提取CSV从evtx文件,并开始寻找事件的表与数百万的事件...APT-Hunter有两个部分共同工作,帮助用户快速获得他想要的数据。这个工具将用于加速windows日志分析,但永远不会取代深度日志分析。...wineventlogs/ -o Project1 #python3 APT-Hunter.py -t evtx --security evtx/security.evtx -o Project2 结果将分两页显示...: Project1_Report.xlsx:此excel工作表将包括从提供给APT-Hunter的每个Windows日志中检测到的所有事件 Project1_TimeSketch.csv:您可以将此CSV...命令 使用安全日志检测通过管理界面创建的用户 使用安全日志检测Windows关闭事件 使用安全日志检测添加到本地组的用户 使用安全日志检测用户添加到全局组的用户 使用安全日志检测用户添加的用户到通用组
持久化 在样本中的powershell脚本中会利用进行维权操作,这个样本中我们可以知道使用了2种方法进行维权: Windows Management Instrumentation (WMI) 事件订阅...Windows 管理规范 在第一种情况下,攻击者创建两个 WMI事件过滤器和两个 WMI事件操作(Consumer)。...Consumer只是启动 base64 编码的 PowerShell 命令的命令行,然后加载存储在 Windows 注册表中的PowerShell 脚本。...$WY79ad')) | iex 最后,脚本将加密的有效负载存储在 Windows 注册表中。我们观察到攻击者似乎对每个目标使用不同的注册表位置。...PowerShell 配置文件是在 PowerShell 启动时运行的脚本。我们可以将配置文件用作登录脚本来自定义环境。
,第一个工具用PowerShell编写,可以在AD环境内部或外部运行,第二个工具是ntlmrelayx工具的扩展,此扩展允许攻击者将身份(用户帐户和计算机帐户)转发到Active Directory,并修改域对象的...,如果用户还没有域对象的writeDACL权限,该工具将枚举该域的ACL的所有ACE,ACE中的每个身份都有自己的ACL,它被添加到枚举队列中,如果身份是一个组并且该组有成员,则每个组成员也被添加到枚举队列中...,正如您可以想象的那样,这需要一些时间来枚举,但最终可能会产生一个链来获取domain对象上的writeDACL权限 计算完链后,脚本将开始利用链中的每一步: 用户被添加到必要的组中 两个ACE被添加到域对象的...LDAP签名在一定程度上缓解了这种攻击,但在默认情况下是禁用的,即使启用了LDAP签名,仍有可能中继到LDAPS(SSL/TLS上的LDAP),因为LDAPS被视为已签名的通道,唯一的缓解方法是在注册表中为...,事件ID为5136,可以使用PowerShell查询Windows事件日志,因此这里有一个从ID为5136的安全事件日志中获取所有事件的一行程序 [code lang=powershell] Get-WinEvent
领取专属 10元无门槛券
手把手带您无忧上云