2024年网安最新漏洞基础知识_需要各位叙述一下目前的漏洞基础于开发基础(1)

格式化字符串漏洞的产生主要源于对用户输入内容未进行过滤,这些输入数据都是作为参数传递给某些执行格式化操作的函数,如printf.fprintf.bprintf.sprintf等等.恶意用户可以使用”%s”和”%x”等格式符,从堆栈或其他位置输出数据,也可以使用格式符”%n”向任意位置写入任意数据,配合printf()函数和其他功能类似的函数就可以向任意地址写入被格式化的字节数,可能导致任意代码执行,或者读取敏感信息,比如用户名以及密码等等.
因为可以执行任意代码,所以可以通过shellcode获取系统管理员的权限,也有可能通过一些技术,直接在内存中将系统密码直接读出.

5.双重释放
双重释放漏洞主要是由对同一块内存进行二次重复释放导致的,利用漏洞可以执行任意代码.

在释放过程中,临近的已释放堆块的合并动作,这回改变原有的堆头信息以及前后向指针,之后在对其中的地址进行引用,就会导致访问异常,最后程序崩溃,正式因为程序引用到了已释放的内存,所以说双重释放漏洞就是Use After Free漏洞的子集.如果程序不存在堆块合并动作,那么双重释放后可能不会马上崩溃,但会在程序中遗留隐患,导致在后续执行过程中的某一刻爆发.

对于堆内存的利用,最常用也最简单的方法就是使用堆喷射技术(Heap Spraying),也就是申请大量内存块,将shellcode放在内存块的最后,前面放上利用地址以及滑板指令,用大量内存来碰撞,直到最后执行到shellcode.
Shellcode可以执行任意代码,也就可以利用此来进行提权操作.

6.释放重引用
UAF漏洞的成因一般都是因为在编程过程中对引用计数的处理不当导致对象被释放后重用的。利用UAF漏洞实现远程代码执行,首先需要Bypass ASLR,获得模块基址及 shellcode的地址(也可以通过堆喷射在指定内存空间布置shellcode),然后硬编码、动态构造ROP来Bypass DEP,最终实现任意代码的执行。

7.数组访问越界
数组访问越界类似于溢出漏洞,但是又不完全是溢出漏洞

A)数组访问越界包含读写类型,而溢出属于数据写入
通常数组越界访问是由于数组下标数值超出了数组元素个数导致的,数组的读写操作有时是同时并存的,程序越界索引栈上分配的数组,同时又向其写入数据.最终造成溢出.

B)部分溢出漏洞的本质就是数组越界
导致溢出的原因有多种,有些正是由于针对数组下表标范围未做有效限制,导致允许越界访问数组并对其写入数据,造成溢出

8.内核级漏洞
在Ring3的溢出漏洞,格式化字符串漏洞,释放重引用漏洞,双重释放漏洞,数组越界漏洞都可以在内核中复现,但是利用方法差异比较大.
内核漏洞不易挖掘,也不易分析利用.但是如果可以利用成功,那么直接可以使用Ring0权限.

9.类型混淆
类型混淆漏洞主要是讲数据类型A当做数据类型B解析引用,可能导致非法访问数据,进而执行任意代码,但这里的数据类型并非是单纯的编程概念上的数据类型,比如Uint被转换成String,Flash漏洞:CVE-2014-0590,也包括类对象或者数据结构的转换,比如以下两个类,A类被混淆成B类,就可能导致私有域被外部访问到.

10.沙盒逃逸
A)Broker接口漏洞:IE借助Broker进程完成一些需要高权限的操作,若其服务端口本身就存在漏洞,就可以直接被攻击者用于执行任意代码.

B)策略检查绕过:Broker进程在检查Elevation Policies时若被绕过也可能导致沙盒逃逸,比如CVE-2013-4015用Tab带起空格从而绕过对程序名的检查.

C)策略设置不当:对于沙箱可操作的程序,如果其Elevation Policies设置不当,允许静默以Medium权限执行,就可能创建高权限的进程再借助该程序的一些接口完成任意代码执行.

D)IPC通信问题:当IPC通信过程中使用的共享内存包含过多的IE的未注册信息,可能导致沙盒的进程篡改其中主进程中的敏感信息,比如EPM沙盒的开关标准,被篡改后就可以直接关闭沙盒

E)沙盒权限限制不严:在沙盒中的进程如果权限限制的不够严谨,使得本不改访问的安全对象被访问,就可能导致沙盒逃逸.

F)内核提取:利用系统内核漏洞获取比沙盒本更更高的权限,就可以直接关闭沙盒本身,从而实现沙盒逃逸.

11.RPC漏洞
RPC是一种远程过程调用协议,RPC提供进程间的交互通信机制,允许在某台计算机上运行的程序无缝的在远程系统上执行.
因为TCP/IP处理交换等问题,导致恶意代码可以利用漏洞以本地系统权限在系统上执行任意指令.

II.数据库漏洞类型
1.SQL Server漏洞提权
SQL server 2005以上有一个叫做xp_cmdshell的危险存储过程,可以直接利用提权,在SQL server 2005之后如果通过SQL注入等技术手段获得了SA的密码的话,一样可以通过添加存储过程的手段,将存储过程添加回来,然后像SQL server 2000一样的提权

2.MySQL 漏洞提权
将MySQL提权脚本文件上传到服务器,设置UID为ROOT,密码为具有root权限用户的密码,链接,创建shell函数,然后用select shell(‘cmd’,’net’,’user’)查看系统的所有用户,然后select shell(‘cmd’,’net user temp temp123456’),select shell(‘cmd’,’net localgroup administrators temp /add’)执行,如果成功,就已经成功添加了具有管理员权限的账号,提权成功.

III.服务器软件漏洞

1.Serv-U提权
漏洞是使用Serv-u本地默认管理端口,以默认管理员登陆新建域和用户来执行命令,Serv-u>3.x版本默认本地管理端口是:43958,默认管理员:LocalAdministrator,默认密码:#l@$ak#.lk;0@P,这是集成在Serv-u内部的,可以以Guest权限来进行连接,对Serv-u进行管理。

2.Magic Winmail Server 提权
Magic Winmail server程序安装为系统服务,程序一般是在administrator权限下运行的,而服务程序MailServer.exe是在system权限下运行的,因此当有Webshell时,就可以通过这个漏洞来提升权限了。

3.Pr提权

学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值