我们从 Trustwave 的 DFIR 和全球威胁运营团队收到的请求之一是让我们解密 Qakbot 创建的注册表数据。我们适时地投入到这项任务中,并且,因为它有点有趣,所以决定写博客。...Qakbot 创建的加密注册表项示例 那里只有一些关于 Qakbot 的详细分析,但在其中我们并没有真正找到有关如何解密这些注册表项的任何技术细节。...xaf\x46\xeb\xc0\xe3\xc7\xf6 \x9b\xf1\x97\x2b\x05\xd5\xca\x06\x8f SHA1 哈希结果将用作派生密钥,以使用 RC4 算法解密与 ID 相关的注册表项值数据...x0e\x00\x00\x00" + "\xac\xe9\xb5\x8d") -> "\x6a\xae\x40\xdd" 下面的屏幕截图显示了可以使用 DERIVED_KEY 使用 RC4 算法解密的特定注册表项值名称...解密工具: 我们编写了一个解密工具来帮助这个过程,它可以在我们的Github 帐户存储库中找到。该工具可以帮助恶意软件逆向者和安全研究人员解密 Qakbot 的注册表项。
路径中使用斜杠/和反斜杠\的区别到底是什么。查阅了一些资料后可知。 Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。...Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。所以目前windows系统上的文件浏览器都是用 反斜杠\ 作为路径分隔符。...知道这个背景后,可以总结一下结论: (1)浏览器地址栏网址使用 斜杆/ ; (2)windows文件浏览器上使用 反斜杠\ ; (3)出现在html url() 属性中的路径,指定的路径是网络路径,所以必须用...,就不会显示任何背景 (4)出现在普通字符串中的路径,如果代表的是windows文件路径,则使用 斜杆/ 和 反斜杠\ 是一样的;如果代表的是网络文件路径,则必须使用 斜杆/ ; 1 <img src=.../SRC/ 这样写表示,当前目录中的SRC文件夹; ..
Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。所以目前windows系统上的文件浏览器都是用 反斜杠\ 作为路径分隔符。...知道这个背景后,可以总结一下结论: (1)浏览器地址栏网址使用 斜杆/ ; (2)windows文件浏览器上使用 反斜杠\ ; (3)出现在html url() 属性中的路径,指定的路径是网络路径,所以必须用...,就不会显示任何背景 (4)出现在普通字符串中的路径,如果代表的是windows文件路径,则使用 斜杆/ 和 反斜杠\ 是一样的;如果代表的是网络文件路径,则必须使用 斜杆/ ; <img src="..../SRC/ 这样写表示,当前目录<em>中</em><em>的</em>SRC文件夹; ...../SRC/ 这样写表示,当前目录<em>的</em>上一层目录<em>中</em>SRC文件夹; /SRC/ 这样写表示,项目根目录(可以只磁盘根目录,也可以指项目根目录,具体根据实际情况而定)
本文介绍如何在项目文件 csproj,或者 MSBuild 的其他文件(props、targets)中处理路径中的斜杠与反斜杠。...---- 路径中的斜杠与反斜杠 我们都知道文件路径的层级之间使用斜杠(/)或者反斜杠(\)来分隔,具体使用哪一个取决于操作系统。...本文不打算对具体使用哪一种特别说明,不过示例都是使用 Windows 操作系统中的反斜杠(\)。...在 MSBuild 中,通常有一个在文件夹路径末尾添加反斜杠 \ 的惯例,这样可以直接使用属性拼接来形成新的路径而不用担心路径中的不同层级的文件夹会连接在一起。...但是这样,如果 WalterlvPath 中存在反斜杠,那么这个命令行将变成这样: > "walterlv.tool.exe" --option "bin\" 后面的 \" 将使得引号成为路径中的一部分
查了下资料发现,'\'是Python的转义字符,如果路径中存在'\t'或者'\r'这样的特殊字符,'\'就无法起到目录跳转的作用,因此报错。...python读文件需要输入的目录参数,列出以下例子: path = r"C:\Windows\temp\readme.txt" path1 = r"c:\windows\temp\readme.txt..." path2 = "c:\\windows\\temp\\readme.txt" path3 = "c:/windows/temp/readme.txt" 打开文件函数open()中的参数可以是...path:"\"为字符串中的特殊字符,加上r后变为原始字符串,则不会对字符串中的"\t"、"\r" 进行字符串转义; path1:大小写不影响windows定位到文件; path2:用一个"\"取消第二个..."\"的特殊转义作用,即为"\\"; path3:用正斜杠做目录分隔符也可以转到对应目录,并且在python中path3的方式也省去了反斜杠\转义的烦恼。
后来发现,原因其实很简单,在MySQL中,反斜杠在字符串中是属于转义字符,经过语法解析器解析时会进行一次转义,所以当我们insert反斜杠(\)字符时,如 insert “\” 在数据库中最终只会存储"...所以我们在代码中处理插入语句碰到反斜杠时,注意\是否已经改成\,否则入库后字符串会不一致。...那我如果查询表中带有两个反斜杠(\)的数据,岂不是要like八个。。。。别拦我,我看看tm是谁设计的这规则。...原来在mysql的like语法中,like后边的字符串除了会在语法解析时转义一次外,还会在正则匹配时进行第二次的转义。因此如果期望最终匹配到"",就要反转义两次,也就是由"\\"到"\"再到""。...是不是发现MySQL中还是存在很多不方便的语法,进步空间还很大呀~~ 在日常工作中,也会经常碰到这种符号引发的问题,尤其是用户在界面填写的数据,建议要做相关限定,明确哪些符号不允许。
1 为什么查看的ARP表项中没有VLAN信息?...如果ARP表项没有VLAN信息,那么代表这条表项中的接口处于三层模式,是一个三层口; 如果ARP表项有VLAN信息(并且表项中接口不是三层子接口时),那么代表这条表项中的接口处于二层模式,是一个二层口...2 案例 执行display arp等相关命令,可以查看ARP表项: 例如回显中IP地址为10.1.1.2,MAC地址为04f9-388d-e685,该ARP表项是从接口10GE1/0/3动态学习到的,...例如回显中IP地址为10.1.1.3,MAC地址为0023-0045-0067,该ARP表项是静态配置的,出接口是10GE1/0/3,VLAN编号是101。...例如回显中IP地址为10.1.1.5,MAC地址为306b-2079-2202,该ARP表项类型为I,表示IP地址10.1.1.5是接口10GE1/0/14的IP地址。
后来发现,原因其实很简单,在MySQL中,反斜杠在字符串中是属于转义字符,经过语法解析器解析时会进行一次转义,所以当我们insert反斜杠(\)字符时,如 insert “\” 在数据库中最终只会存储"...所以我们在代码中处理插入语句碰到反斜杠时,注意\是否已经改成\,否则入库后字符串会不一致。...那我如果查询表中带有两个反斜杠(\)的数据,岂不是要like八个。。。。别拦我,我看看tm是谁设计的这规则。...原来在mysql的like语法中,like后边的字符串除了会在语法解析时转义一次外,还会在正则匹配时进行第二次的转义。因此如果期望最终匹配到"",就要反转义两次,也就是由"\"到""再到""。...是不是发现MySQL中还是存在很多不方便的语法,进步空间还很大呀~~ 在日常工作中,也会经常碰到这种符号引发的问题,尤其是用户在界面填写的数据,建议要做相关限定,明确哪些符号不允许。
今天客户那边遇到了一个比较奇葩的问题跑来问我,这个问题比较冷门,所以特别记录下。 问题描述 数据库的字段存在斜杠或者空格的时候,怎么用sql进行insert或者select操作。...问题解答 对于这种特殊字符,我们一般想到的是用转义符进行处理,所以试了下"/"、引号、单引号等常见的转义符,发现依然语法错误,又查了下MySQL的官方说明: 特殊字符位于列名中时必须进行转义,如果列名中包含...eg:列名为Column#,应写为[Column#];列名包括中括号,必须使用斜杠进行转义,eg:列名为Column[]的列应写为[Column[\]](只有第二个中括号必须转义)。...以中括号的形式进行转义,然后又试了下中括号,发现依然还是不行。 通过搜索,最后找到需要以反引号“`”(一般键盘的左上角数字1左边的那个键)来处理。...如果在命令行上把Linux命令放在反引号中,这个命令会首先被执行,其结果会成为命令行的一个参数。在赋值时,通过把命令放在反引号中,以便于首先执行,命令的执行结果会被赋予一个变量。
Windows注册表用于存储与计算机相关的各种设置,VBA中的GetSetting函数和SaveSetting函数能够读写Windows注册表,这样,我们不仅能够获取应用程序和硬件的信息,也可以将应用程序中的信息存储在注册表中以供使用...SaveSetting SaveSetting语句在Windows注册表中创建或保存一个应用程序项。...GetSetting GetSetting函数从注册表中的应用程序项返回注册表项的设置值。...2.该函数返回的数组中的第一维元素为项名,第二维元素为各个项的值。 3.该函数返回的二维数组的下标从0开始。因此,第一个注册表项名可以通过引用元素(0,0)获取。...2.参数section,可选,字符串类型,指定区段名称,可以是一个键或用反斜杠分开的注册表路径。 3.参数key,可选,字符串类型,要删除数值的注册表设置项名称。
通过命令删除: sc delete ServiceName 通过修改注册表直接删除 1 运行-->regedit 打开注册表 2 在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet...\Services 中删除相应的键值
在处理本次冲突中,意外发现了另外一个存在已久的bug,我们先说说这个玩意,再说我们之间的恩怨。因为这是息息相关的。...SpringBoot中的过滤器 过滤器这东西应该很常见了,但是你的过滤器真的起到拦截的作用了,这里就算你起到拦截的作用了,但是你的过滤器能拦截到指定的路径吗?先看一下我原始写法。...既然说请求网址不正确,我猜测就是请求路径中是不是有什么猫腻,那我们就抓包呗。 最后在我们各种手段之下拿到了真凭实据。...诸位法官请看: 他的请求路径:http://127.0.0.1:8080//user/list 他的请求路径中出现了双斜杠,这样肯定报错啊。这里需要说明下,报错是因为引入了Security安全框架。...其实按正常逻辑来说,不管我们引入了什么东西,只要请求路径正确,及时路径中出现再多的斜杠,我们也应该做好处理,不能影响用户的访问。所以我们就通过过滤器就行一个处理。
注册树模式是把对象挂到一个类的属性数组里,下次直接在这个数组里面取,保持全局唯一,一般在项目入口初始化的时候有用到。在workerman中一开始的就是个注册树模式的运用,下面是对他的模拟 <?...var_dump($worker); } } } new Worker(); new Worker(); Worker::runAll(); 在Worker的构造函数中...,把当前new的对象挂到了Worker类的静态变量属性数组里,在下次使用的时候直接在那个数组里取 ?
0x01 前言 群友在某次项目测试中遇到一个存在向日葵远程命令执行漏洞的IP,目标环境Windows2016+360+Wdf,由于存在360而无法通过向日葵漏洞利用工具执行命令进行下一步测试。.../c这种方式来执行,注意必须把cmd路径中的/正斜杠改为\反斜杠。.../Windows\System32\cmd+/c+dir+c:\ 0x04 解决方案 我们只需将向日葵利用工具源码中的命令执行方式改为cmd /c,这样就能完美解决在执行命令时被360拦截的问题。...C:\Progra~1\Oray\SunLogin\SunloginClient\config.ini 因为较高版本的向日葵将ID和Pass写进注册表里了,所以在配置文件中是找不到的,可通过执行以下命令读取对应注册表项获取...如果目标主机的向日葵为自定义路径安装,那么我们该如何得到他的安装路径去读取config配置文件呢?可以使用sc qc命令查询向日葵服务得到安装路径,或者读取向日葵服务对应的注册表项。
Vue中的全局组件注册 compontents 属于通用组件,需要在多个组件下使用,建议使用注册全局组件 注册方式(插件化手段) // 把components中的所有组件都进行全局化注册 // 通过插件的方式
那些鼓吹碎片化学习的人,登上了高楼,撤掉了梯子,然后对楼下众人说道:我们就是这样飞上来的。 真正重要的收获,往往都来自持续艰难的思考。...Native 方法的静态注册 NDK 开发中,通过 javah -jni 命令生成的包含 JNI 的头文件,接口的命名方式一般是: Java___<MethodName...程序执行时系统会根据这种命名规则来调用对应的 Native 方法,这种注册方式称之为静态注册。...Native 方法的动态注册 由于静态注册存在命名局限性,生产环境中一般不采用静态注册的方式。动态注册的优点是可以自由命名 Native 方法,缺点是如果 Native 方法过多,操作比较麻烦。...动态注册的时机是在加载函数库(.a 或 .so)的时候进行注册,即在 JNI_OnLoad 方法里进行注册。
Windows 协议文档中所描述的协议规范中,错误码使用 HRESULT、Win32 错误码和 NTSTATUS 来描述。本文科普一下 HRESULT。...规范中的 HRESULT 按照规范,HRESULT 的格式如下,其中首行的数字代表第几位(bit): 0 1 2 3 4 5~15 16~31 S R C N X Facility Code S: 1...下载地址:Download Microsoft Error Lookup Tool from Official Microsoft Download Center 在 .NET/C# 代码中的使用 例如...,我们可能需要在一些 IO 操作中处理好磁盘空间已满的情况: 1 2 3 4 5 6 7 8 9 10 11 12 try { SaveFile(fileContent, filePath);...break; } } 由于磁盘空间已满没有对应的 .NET Exception,所以我们只能通过提取 IOException 中的 HResult 属性来判断操作的 HRESULT 值。
我们来确认一下,有没有安装什么软件把注册表给封了。如杀毒软件,防火墙等。把这些软件关了之后,再安装软件试试;如果不行,就把杀毒软件卸载了,再安装软件试试。 2....我们可以看到窗口右侧有很多选项,在“组策略”选项中找到:“阻止访问注册表编辑工具”,左键双击:“阻止访问注册表编辑工具”; ? 6....在弹出的“阻止访问注册表编辑工具”窗口中,选择:“已禁用”并点“确定”,退出“本地组策略编辑器”,则已经为注册表解锁。 image.png 7....第三步:通过上述操作后,如果还不能正常安装软件,可能是系统中毒了,我们可以使用专用的杀毒软件进行全盘杀毒,并把隔离区的病毒文件删除,防止二次病毒感染。
领取专属 10元无门槛券
手把手带您无忧上云