1.notepad++堆缓冲区溢出漏洞CVE-2023-40031分析与复现
2.操作系统漏洞类型有哪些
notepad++堆缓冲区溢出漏洞CVE-2023-40031分析与复现
Notepad++,源码这款备受推崇的高危开源代码编辑器,近期曝出了一处高危漏洞CVE--,漏洞得分为7.8分(CVSS3)。源码漏洞焦点在于Utf8__Read::convert函数,高危其在执行UTF-到UTF-8转换时,漏洞十剑源码错误估计了转换后缓冲区的源码大小,导致缓冲区外内存被非法覆盖,高危可能导致代码执行权限的漏洞滥用。此漏洞影响了Notepad++版本<=8.5.6,源码复现环境为Win7 SP1,高危使用IDA、漏洞WinDbg和OLLYDBG等工具可验证。源码
安全研究人员通过Python生成PoC(Proof-of-Concept)文件,高危尝试在8.5.2版本的漏洞Notepad++中打开,虽然程序未崩溃,但溢出数据可能未触发明显异常。借助Windbg调试工具,吃鸡源码泄露可以看到在堆检查中,当打开PoC文件时,堆溢出在地址0xF4AFF8,溢出点在HeapFree函数中,内存已受损。
源码的可读性使得安全专家能够利用AddressSanitizer技术定位问题,最终发现溢出发生在Utf8__Read::convert的特定代码行。函数首先申请大小为len的缓冲区,然后尝试复制UTF-数据,关键在于每次读取文件内容时,大小计算错误导致溢出。例如,第一次读取0x字节,第二次读取时,由于未清除上一次读取的内容,导致新缓冲区大小计算错误,从而引发溢出。免费java源码下载
总的来说,当文件内容编码为奇数时,且在UTF-到UTF-8转换过程中,计算错误可能导致一个字节的溢出。虽然off-by-one漏洞通常难以直接利用,但需要额外技巧结合其他漏洞利用技术,如内存泄漏或数据覆盖,以实现代码执行控制(RCE)。更多详细信息可参考github.com/webraybtl/CV...链接。
操作系统漏洞类型有哪些
说起操作系统漏洞,相信我们很多朋友都听说过,但是要详细的问你操作系统漏洞类型有哪些了解网络安全常识,首先就要了解计算机网络安全有哪些基本注意事项
,下面裕祥安全网
小编就带您认识一下吧。
一、SQL注入漏洞
SQL注入攻击(SQL Injection),简称注入攻击、准心源码手机版SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串中夹带的SQL指令的检查,被数据库误认为是正常的SQL指令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害。
二、跨站脚本漏洞
跨站脚本攻击(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、python 源码安装库窃取密码、传播恶意代码等攻击。
XSS攻击使用到的技术主要为HTML和Javascript,也包括VBScript和ActionScript等。XSS攻击对WEB服务器虽无直接危害,但是它借助网站进行传播,使网站的使用用户受到攻击,导致网站用户帐号被窃取,从而对网站也产生了较严重的危害。
三、弱口令漏洞
弱口令(weak password) 没有严格和准确的定义,通常认为容易被别人(他们有可能对你很了解)猜测到或被破解工具破解的口令均为弱口令。设置密码通常遵循以下原则:
(1)不使用空口令或系统缺省的口令,这些口令众所周之,为典型的弱口令。
(2)口令长度不小于8个字符。
(3)口令不应该为连续的某个字符(例如:AAAAAAAA)或重复某些字符的组合(例如:tzf.tzf.)。
(4)口令应该为以下四类字符的组合,大写字母(A-Z)、小写字母(a-z)、数字(0-9)和特殊字符。每类字符至少包含一个。如果某类字符只包含一个,那么该字符不应为首字符或尾字符。
(5)口令中不应包含本人、父母、子女和配偶的姓名和出生日期、纪念日期、登录名、E-mail地址等等与本人有关的信息,以及字典中的单词。
(6)口令不应该为用数字或符号代替某些字母的单词。
(7)口令应该易记且可以快速输入,防止他人从你身后很容易看到你的输入。
(8)至少天内更换一次口令,防止未被发现的入侵者继续使用该口令。
四、HTTP报头追踪漏洞
HTTP/1.1(RFC)规范定义了HTTP TRACE方法,主要是用于客户端通过向Web服务器提交TRACE请求来进行测试或获得诊断信息。当Web服务器启用TRACE时,提交的请求头会在服务器响应的内容(Body)中完整的返回,其中HTTP头很可能包括Session Token、Cookies或其它认证信息。攻击者可以利用此漏洞来欺骗合法用户并得到他们的私人信息。该漏洞往往与其它方式配合来进行有效攻击,由于HTTP TRACE请求可以通过客户浏览器脚本发起(如XMLHttpRequest),并可以通过DOM接口来访问,因此很容易被攻击者利用。
五、Struts2远程命令执行漏洞
Apache Struts是一款建立Java web应用程序的开放源代码架构。Apache Struts存在一个输入过滤错误,如果遇到转换错误可被利用注入和执行任意Java代码。
网站存在远程代码执行漏洞的大部分原因是由于网站采用了Apache Struts Xwork作为网站应用框架,由于该软件存在远程代码执高危漏洞,导致网站面临安全风险。CNVD处置过诸多此类漏洞,例如:“GPS车载卫星定位系统”网站存在远程命令执行漏洞(CNVD--);Aspcms留言本远程代码执行漏洞(CNVD--)等。
六、框架钓鱼漏洞(框架注入漏洞)
框架注入攻击是针对Internet Explorer 5、Internet Explorer 6、与 Internet Explorer 7攻击的一种。这种攻击导致Internet Explorer不检查结果框架的目的网站,因而允许任意代码像Javascript或者VBScript跨框架存取。这种攻击也发生在代码透过多框架注入,肇因于脚本并不确认来自多框架的输入。这种其他形式的框架注入会影响所有的不确认不受信任输入的各厂商浏览器和脚本。
七、文件上传漏洞
文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。
因此,在开发网站及应用程序过程中,需严格限制和校验上传的文件,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell攻击。
八、应用程序测试脚本泄露
由于测试脚本对提交的参数数据缺少充分过滤,远程攻击者可以利用洞以WEB进程权限在系统上查看任意文件内容。防御此类漏洞通常需严格过滤提交的数据,有效检测攻击。
九、私有IP地址泄露漏洞
IP地址是网络用户的重要标示,是攻击者进行攻击前需要了解的。获取的方法较多,攻击者也会因不同的网络情况采取不同的方法,如:在局域网内使用Ping指令,Ping对方在网络中的名称而获得IP;在Internet上使用IP版的QQ直接显示。最有效的办法是截获并分析对方的网络数据包。攻击者可以找到并直接通过软件解析截获后的数据包的IP包头信息,再根据这些信息了解具体的IP。
关于网络安全小知
识,小编为您介绍和普及这么多了,看完上面的介绍,您对“操作系统漏洞类型有哪些”这个问题了解多少了呢我们可以看到操作系统大体上就分为几大类,所以在我们日常生活中也要留意观察这些情况。