首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

借鸡生蛋:DNF恶意外挂登陆器分析

2、背景信息 该类恶意软件主要是通过恶意引流推广和DDOS攻击来获得利益。 通过技术手段恶意锁定用户的浏览器主页为自己的导航推广,当“肉鸡”积累到一定程度的时候,每天都会产生比较可观的利益。...驱动层通过进程创建回调函数,得知如果启动的进程是浏览器进程,则会结束该进程,同时将浏览器启动的信息通过写文件的方式通知应用层,应用层获得浏览器的启动信息后,将需要锁定的主页以参数的方式跟在浏览器路径后面...下面详细介绍 4.3.1 安装LSP服务 恶意程序将需要劫持的进程的Pid通过命令行的方式传递给Winnet.exe,Winnet.exe加载Winnet.dll,并调用其InitInstallLsp函数进行...4.3.2 启动端口监听 随机监听本地的一个端口,并创建一块进程间共享内存,将监听端口存放在其中。...4.3.5 劫持目标网络数据 LSP.dll根据共享内存中的信息,判断宿主进程是否为目标进程或则目标进程的子进程,如果是就进行网络劫持,将网络连接重定向到Winnet.exe。

2.1K60

微信支付一面(C++后台)

前言 2020-07-05 日晚于深圳滨海大厦参加了公司内部活水转岗微信支付的面试。这里将面试过程中被问及的问题整理一下,温故知新,以备不时之需,也希望能够帮助到正在求职的网友。...const 可以成员方法使其成为常函数而无法改变对象,并与同名的普通成员方法形成重载。...这种恶意的网址可以有很多种形式,藏身于网页中的许多地方。此外,攻击者也不需要控制放置恶意网址的网站。例如他可以将这种地址藏在论坛,博客等任何用户生成内容的网站中。...避免死锁,这里只介绍常见的三种 (1)如果不同程序会并发存取多个表,尽量约定以相同的顺序访问表,可以大大降低死锁机会; (2)在同一个事务中,尽可能做到一次锁定所需要的所有资源,减少死锁产生概率;...(3)对于非常容易产生死锁的业务部分,可以尝试使用升级锁定颗粒度,通过表级锁定来减少死锁产生的概率。

1.8K11
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    施耐德PLC被发现存在漏洞可远程执行代码

    Modicon 统一消息应用服务 (UMAS) 协议的一个身份验证绕过漏洞,为攻击者覆盖系统内存并执行远程代码敞开了大门。   ...这意味着攻击者利用该漏洞不仅可以操纵 PLC 本身,还可以以硬件为跳板进行进一步的攻击部署。...漏洞能够链式攻击   该漏洞涉及在开发过程中用于调试 Modicon 硬件的未记录指令。通常,这些调试命令对用户是锁定的,并且只能为管理员账户使用。...这些命令在之前的安全更新中被锁定在密码保护之后,解除了密码的限制后可以通过这些命令授予攻击者在系统内存上执行代码的能力。   正常情况下,系统内存是不可访问的,也无法写入。...然而,通过利用未记录的命令,攻击者可以在该内存中编写并执行代码。Seri 表示这十分危险,因为大多数安全检查并不会检查系统内存是否已被更改。这使得相关的恶意软件非常难以被发现。

    87430

    到底什么是线程安全和线程不安全?

    维基百科给出的定义如下: 线程安全是程式设计中的术语,指某个函数、函数库在多线程环境中被调用时,能够正确地处理多个线程之间的共享变量,使程序功能正确完成。...在《Java并发编程实战》一书中给出如下定义: 一个对象是否需要是线程安全的,取决于它是否被多个线程访问。这只和对象在程序中是以何种方式被使用的有关,和对象本身具体是做什么的无关。...那么,保存在堆和方法区中的变量就是Java中的共享变量。 那么,Java中哪些变量是存放在堆中,哪些变量是存放在方法区中,又有哪些变量是存放在栈中的呢?...他们分别存放在JVM的方法区、堆内存和栈内存中。...此实现稍好一些,因为它可以提高锁定级别的安全性。 将 this 用于内部锁定时,攻击者可能会通过获取内部锁定并触发拒绝服务(DoS)条件来导致死锁。

    4.9K41

    深度解析|用API来分析软件,是否存在恶意倾向

    通过这样的方法(分析API调用),我们可以确定一个文件是否具有恶意性,而有些API调用只有某些特殊类型的恶意软件才会去使用。...其中有部分函数可以在微软的网站中找到相关内容: GetModuleHandle函数 为特定模块获取模块处理器,该模块必须在调用进程中被加载。..._wtoi 将一个字符串转换成整型 CreateStreamOnHGlobal函数 这个函数将创建一个流对象,该对象可以使用一个HGLOBAL内存处理器来存储流内容。...GetModuleFileName函数 获取包含指定模块的文件的完整路径,该模块必须在当前的调用进程中被加载。...LoadLibraryA (ANSI) LocalAlloc函数 向堆内存中分配指定大小的字节。 LocalFree函数 释放指定的本地内存对象,并初始化该对象的处理器。

    1.2K70

    基于Excel2013的数据转换和清洗

    image.png 方法二:框住想要设置的区域,右键弹出菜单,如下图所示位置。 ?...image.png 数字可以被设成的格式有12种:常规、数值、货币、会计专用、日期、时间、百分比、分数、科学记数、文本、特殊、自定义 ?...image.png 利用条件格式给单元格上色 科类上色 按照下面图的顺序进行相同的操作可以实现,图片名即为此步作用。 ? 框住上色区域的单元格.png ? 条件格式.png ?...筛选结果图示.png 筛选出学费大于10000元,或者录取分数大于600分的表格信息 ? 将两个条件写在不同行.png ? 筛选结果图示2.png 数据验证 ? 手动输入两个科类.png ?...圈释无效数据位置.png ? 圈释后效果.png 保护单元格 ? 全选并且取消锁定.png ? 选定要保护的区域并设为锁定.png ? 保护工作表位置.png ?

    79620

    Java 后台开发面试题分享六

    堆(Heap)和栈(Stack)的区别 (1)管理方式不同。栈由操作系统自动分配释放,无需手动控制;堆的申请和释放工作由程序员控制,容易产生内存泄漏。 (2)空间大小不同。...(3)生长方向不同。堆的生长方向向上,内存地址由低到高;栈的生长方向向下,内存地址由高到低。 (4)分配方式不同。堆都是动态分配的,没有静态分配的堆。栈有2种分配方式:静态分配和动态分配。...静态分配是由操作系统完成的,比如局部变量的分配。动态分配由 alloc 函数进行分配,但是栈的动态分配和堆是不同的,他的动态分配是由操作系统进行释放,无需我们手工实现。 (5)分配效率不同。...堆则是由 C/C++ 提供的库函数或运算符来完成申请与管理,实现机制较为复杂,频繁的内存申请容易产生内存碎片。显然,堆的效率比栈要低得多。 (6)存放内容不同。...EBP),再然后是被调函数的实参等,一般情况下是按照从右向左的顺序入栈,之后是被调函数的局部变量,注意静态变量是存放在数据段或者 BSS 段,是不入栈的。

    48730

    windows文件读取 xxe_XXE漏洞「建议收藏」

    注意:参数实体是在DTD中被引用的,而其余实体是在xml文档中被引用的。 0x01 DTD 实体声明: 1....有了XML实体,关键字’SYSTEM’会令XML解析器从URI中读取内容,并允许它在XML文档中被替换。因此,攻击者可以通过实体将他自定义的值发送给应用程序,然后让应用程序去呈现。...在这种情况下,渗透测试人员就必须尝试不同的测试方式,比如修改HTTP的请求方法,修改Content-Type头部字段等等方法,然后看看应用程序的响应,看看程序是否解析了发送的内容,如果解析了,那么则可能有...第二步检测服务器是否支持DTD引用外部实体: %name; ]> 可通过查看自己服务器上的日志来判断,看目标服务器是否向你的服务器发了一条请求index.html的请求。...原理为:构造恶意的XML实体文件耗尽可用内存,因为许多XML解析器在解析XML文档时倾向于将它的整个结构保留在内存中,解析非常慢,造成了拒绝服务器攻击。

    2.5K20

    哈勃linux沙箱-源码剖析上篇

    YARA的每一条描述或规则都由一系列字符串和一个布尔型表达式构成,并阐述其逻辑。YARA规则可以提交给文件或在运行进程,以帮助研究人员识别其是否属于某个已进行规则描述的恶意软件家族。...查壳 一般的恶意文件,为了防止被逆向人员分析,都会加壳的。 哈勃主要是判断了是否是upx壳。如果是upx,则进行解压。判断是upx壳的方法很简单,直接使用upx进行解压,返回是否成功。 ?...ltrace和strace ltrace和strace都是基于ptrace机制进行检测的,但是又有很大的不同,strace跟踪系统调用,而ltrace可以跟踪动态库函数。...这样在进程执行到相应的库函数后,就可以通知到了ltrace,ltrace将对应的库函数打印出来之后,继续执行子进程。...有的木马,还会有自删除,自锁定,自修改的行为,这是一些自保护的需要。沙箱中对此也进行了检测: ?

    2.6K10

    MySQL中的存储引擎

    MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。...通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。 例如,如果你在研究大量的临时数据,你也许需要使用内存存储引擎。内存存储引擎能够在内存中存储所有的表格数据。...又或者,你也许需要一个支持事务处理的数据库(以确保事务处理不成功时数据的回退能力)。 这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。...因此,尽管不同的存储引擎具有不同的能力,应用程序是与之分离的。存储引擎就司职与文件系统打交道了。 ? ? 并发性:某些应用程序比其他应用程序具有很多的颗粒级锁定要求(如行级锁定)。...Memory类型的表访问数据非常快,因为它的数据是存放在内存中的,并且默认使用HASH索引,但是一旦服务关闭,表中的数据就会丢失 BLACKHOLE 黑洞存储引擎,类似于 Unix 的 /dev/null

    1.8K20

    EIP-5058 能否防止NFT项目方提桶跑路?

    入口:https://github.com/ethereum/EIPs/pull/5058/files 本质上他是ERC721的拓展,让项目方可以对NFT资产,执行锁定而不是转移,他新增函数setLockApprovalForAll...对用户而言,资产还在我的账户内,而且到期了或者项目方出问题了,资产也不会损失。 对官方而言,不是恶意黑用户资产的,那就坦坦荡荡的只是锁定防止用户的问题,而不是要求必须转移。...5058本身的安保措施上也有诸多考虑,执行lock锁定的时候会审计 防止自己误锁定自己:"ERC5058: lock caller is not owner nor approved” 防止恶意锁定别人的...至于如何完成锁定, 他通过一系列协议,来管理该NFT的锁定状态,解锁方法等,并且定义了两个虚函数,让后续继承此5058代码的合约可以改动此部分。...的合约地址中被取出,然后3个块后即被转回。

    1.3K50

    当我们谈论DDD时我们在谈论什么

    也许我们可以总结出一些原则,来帮助我们验证划分是否合理。比如高内聚低耦合,比如服务有明确的边界且能自治,可以独立演进,比如尽可能减少对于其他服务的依赖。...和上一节类似,在代码也有不同的职责;和上一节不同,对于代码层面的划分,已经有相对成熟的方法。 这个范畴可以有很多名字,比如DDD战术设计、进程内架构、分层架构等。...分离函数和命令 使用无副作用的函数模式,把没有副作用的查询逻辑提取出来,成为无副作用的函数,而让有副作用的命令尽可能简单。...分离领域中的算法 使用Strategy模式,把业务逻辑中的变化点放到策略对象中,让不同的实现可以互换,从而实现关注点分离。...让释意接口专注于表明意图,方便调用方使用;让内聚机制封装实现细节,在释意接口背后解决问题。

    25420

    被网页挂马攻击的几个要素_网站挂马检测工具箱书籍

    js文件挂马 该段代码可以是被黑客恶意插入到网页中的,其中1.js文件中被嵌入恶意代码。...判断URL地址 判断URL地址的方式主要是在网马代码中包含获取当前页面URL地址信息字符串,通过判断字符串中是否包含黑客预先定义的参数特征或其他特征字符串的方式来选择执行不同的恶意代码。...因此我们可以根据这个思路进行简单的处理转换,将document.write方法替换成函数alert,alert函数的主要作用就是通过弹窗提示的方法显示相应的字符串内容,而不会执行网马内容;也可以通过DOM...动态监测的核心技术是如何判断网马下载执行的程序是否为恶意软件,这和很多杀毒软件的检测原理相似,主要是针对恶意软件的特征,比如首先匹配下载软件内容的MD5是否在黑名单内,然后通过监控程序行为(如文件操作、...具体的技术实现一般是通过Hook一些特定的系统函数,查看恶意软件是否有调用这些敏感的系统函数,进行判断,判断完成后直接进行拦截,防止木马的执行。

    3.1K20

    三十二.恶意代码检测(2)常用技术万字详解及总结

    部分恶意代码仅存在于内存之中 – 无文件存在,或已自行删除 – 或被外部动态按需注入 部分恶意代码仅在内存中被还原 比如,部分恶意代码仅存在内存之中,它们是没有文件的,通过文件检测无法找到它们。...,因而可以发现文件/引导区是否感染。...例如,早期TbScan这款病毒检测软件就为每一项可以病毒功能调用定义一个标志,如F、R、A等,从而直观地判断被检测程序是否感染病毒。 下图展示了TBScan不同病毒触发的标志。...如果你期待获得一个更严格的安全,误报率高一点也是可以承受的,希望不要有漏掉的,不同的安全软件存在不同的策略,当然同时提高检测率,降低误报率也非常考验安全公司的实力。...:修改函数代码,如函数头的几个字节 (1) Hooking Hooking包括IAT钩子、IDT钩子、SSDT钩子、过滤驱动程序、驱动程序钩子等,通过下图所示的工具可以查看SSDT表是否被挂了钩子,它会比较当前函数和原始函数的地址

    2.9K30

    liteos队列

    概述 队列又称消息队列,是一种常用于任务间通信的数据结构,实现了接收来自任务或中断的不固定长度的消息,并根据不同的接口选择传递消息是否存放在自己空间。...发送消息类型由通信双方约定,可以允许不同长度(不超过队列节点最大值)消 息。 一个任务能够从任意一个消息队列接收和发送消息。 多个任务能够从同一个消息队列接收和发送消息。...当队列使用结束后,如果是动态申请的内存,需要通过释放内存函数回收。 2....3.2 开发流程 使用队列模块的典型流程如下: 创建消息队列LOS_QueueCreate。 创建成功后,可以得到消息队列的ID值。 写队列操作函数LOS_QueueWrite。...0x02000606 当任务被锁定时,禁止在队列中被阻塞 使用队列前解锁任务 8 LOS_ERRNO_QUEUE_TIMEOUT 0x02000607 等待处理队列的时间超时 检查设置的超时时间是否合适

    70520

    4.2 针对PE文件的扫描

    例如,我们可以使用MD5哈希函数对一个文件进行哈希计算,得到一个128位的哈希散列值,将其与原始文件共同存储在另一个不同的地方。...常见的哈希散列函数有MD5、SHA-1、SHA-2、SHA-3等,其中SHA-2是应用最广泛的哈希函数之一,在许多加密协议和安全标准中被广泛使用。...数据不可执行(Data Execution Prevention,DEP)数据不可执行是一种Windows操作系统中的内存防护机制,它可以防止恶意软件针对系统内存中的数据进行攻击。...NX特性是一种内存保护机制,可以防止恶意代码通过将数据区域当作代码区域来执行代码,提高了系统的安全性。因此,上述代码的作用是判断该PE文件是否启用了NX特性。...,并通过pefile.PE(data=byte_array)装载到内存,通过对不同数值与与运算即可判定是否开启了保护。

    30620

    4.2 x64dbg 针对PE文件的扫描

    例如,我们可以使用MD5哈希函数对一个文件进行哈希计算,得到一个128位的哈希散列值,将其与原始文件共同存储在另一个不同的地方。...常见的哈希散列函数有MD5、SHA-1、SHA-2、SHA-3等,其中SHA-2是应用最广泛的哈希函数之一,在许多加密协议和安全标准中被广泛使用。...NX特性是一种内存保护机制,可以防止恶意代码通过将数据区域当作代码区域来执行代码,提高了系统的安全性。因此,上述代码的作用是判断该PE文件是否启用了NX特性。...,并通过pefile.PE(data=byte_array)装载到内存,通过对不同数值与与运算即可判定是否开启了保护。...这是由于异常处理链表本质上是一个指针数组,如果应用程序使用了未经验证的指针指向异常处理函数,则攻击者可以构造恶意的异常处理模块来覆盖原有的处理程序,从而迫使程序执行攻击者注入的代码。

    32110

    Cryptojacking浅析

    1基于黑名单的检测方法 文章之前有提到,这些恶意挖矿脚本必须要嵌入到网站中才能发挥作用,那么我们就可以轻易地获取到调用这些恶意脚本的源代码,并总结出不同恶意脚本的特征。 ? ?...这类算法的核心是Memory-Hard型函数,该函数将挖矿流程锁定在以内存为衡量标准的硬件性能,让多核平行处理发挥不出来,降低了硬件的运算优势,从而使得挖矿的效率与内存的性能正相关,以保证平等挖矿,当初它诞生的主要原因其实就是为了抵制矿机...通过静态分析加密算法的不同散列函数的分布情况,以及跟踪分析循环计算时不同操作指令(XOR,shift,rotate)的数量规律,就可以实现对加密算法的识别,进而检测挖矿网站,主要判断依据如下: CryptoNight...通过分析控制流,就可以判断恶意挖矿模块中是否包含这些原语或原语变形的函数。...除此之外,恶意挖矿模块中XOR,shift,rotate这三种指令的数量是有一定数量规律的。根据这两点就可以可以判断出该模块是否包含CryptoNight算法,进而判断该网站是否为挖矿网站。

    1.2K10

    基于STM32设计的智能插座+人体感应灯(ESP8266+人体感应+手机APP)

    RGB大功率白灯: 模拟正常的灯泡 支持的功能如下: 1. 使用热释电人体感应模块检测人体,检测到人体自动开灯,30秒(时间可以根据要求调整)没有检测到人体就自动关灯。 2....温度最高阀值设置为: 30°,湿度阀值为80%, 这些都可以根据设计要求调整。 并且RGB灯也会根据不同的温度阀值亮不同颜色的灯。...热释电红外传感器的外形如上图所示。其可以检测人体发出的红外线信号,并将其转换成电信号输出。...热释电探测元是热释电传感器的核心元件,它是在热释电晶体的两面镀上金属电极后,加电极化制成,相当于一个以热释电晶体为电介质的平板电容器。...计算当前的秒*/ rtc_clock.sec=sec; } /* 函数功能: 判断年份是否是平年、闰年 返回值 : 0表示平年 1表示闰年 */ u8 RTC_GetYearState(u32

    2.7K20

    CAS与自旋锁的实现原理 发布于 20

    e; } } } } 在这个被宏展开的CAS方法的尽头,是RawAccess::atomic_cmpxchg和HeapAccess::atomic_cmpxchg_at函数,虽然它们是解决不同的情况下的...中被函数operator实现 atomic_bsd_x86.hpp中的函数operator最终使用内联汇编块来调用了CPU层面的cmpxchg指令 template template内存位置的值不等于eax,那么就不做任何修改。无论是否修改,最后eax都会被设置为内存位置原本的值。...自旋锁 自旋锁是一种锁定机制,当一个线程尝试获取一个已经被其他线程持有的锁时,该线程将循环(即"自旋")并且不断地检查锁是否已经被释放。...在这个过程中,它会使用CAS操作来检查锁的状态:如果锁当前未被占用(即锁的状态为“未锁定”),那么就尝试使用CAS操作来锁定它。

    48140
    领券