当前位置: 首页 > article >正文

软件漏洞印象

软件漏洞印象

软件安全性检测

  • 软件安全静态分析:学术界一度十分热衷的偏理论性方法
  • 软件漏洞动态挖掘,工程界普遍采用动态漏洞挖掘方式,即Fuzz技术,也称为模糊测试

漏洞利用 vs. 漏洞修复

对于已发现的软件漏洞 黑客会基于MetaSploit等工具,开发漏洞利用脚本,达到网络攻击、信息窃取等目的

软件厂商会对软件以打补丁的方式进行安全性升级,达 到修复漏洞的目的

栈溢出漏洞:

在各类软件安全漏洞中,栈溢出漏洞是最常见、危害最大的漏洞之一

利用栈溢出漏洞进行网络攻击的病毒最早可以追溯到 1988年的“Morris蠕虫病毒”

image-20241104170722249

关键函数strcpy(buffer,password)将变量 password的值复制到变量buffer的地址上

  • 如果变量password的长度小于等于buffer的存储空间, 则strcpy函数能够正常工作
  • 如果变量password的长度大于buffer的存储空间,则在 拷贝的过程中,拷贝的内容会超出buffer的范围,发生程序异常
  • 如果拷贝的过程发生在栈空间,则会触发栈溢出漏洞

通过溢出漏洞,修改authenticated的值为0, 可以通过verify_password函数对输入的验证,输入8个任意字符,隐藏的第9个截断字符NULL,在内存中能够将authenticated中低字节1覆盖成0

image-20241104171344571

如果将返回地址的值修改为主函数中else分支, 则可直接跳过子函数verify_password测试

其他软件漏洞简介

整数溢出漏洞

格式化字符串漏洞

双重释放漏洞 释放重引用漏洞


http://www.kler.cn/a/429586.html

相关文章:

  • 网络安全 - Cross-site scripting
  • 刷leetcodehot100-7动态规划
  • 【RBF SBN READ】hadoop社区基于RBF的SBN READ请求流转
  • 产品经理的财会知识课:资产的减值测试
  • X推出新AI图像生成器Aurora:更接近真实的创作效果
  • Facebook与Web3的结合:去中心化社交的可能性
  • 【go】fmt包讲解与案例
  • C语言实例_27之删除字符串中指定字符
  • 出海服务器可以用国内云防护吗
  • React废弃componentWillMount和componentWillReceiveProps这两个生命周期方法
  • 【优选算法篇】:双指针算法--开启高效编码的两把“魔法指针”,练习题演练
  • Java环境变量配置
  • DP协议:缩略词
  • 工具推荐-js爬取工具
  • 【人工智能】GaussDB数据库技术及应用
  • Jmeter Address already in use: connect 解决
  • Debian11(pve) 使用.deb包 安装内核头文件
  • 数据分析特征标准化方法及其Python实现
  • 数据结构第一弹-哈希表
  • 调度系统:Prefect 结合 Couchbase SQL 执行和调度 SQL 查询脚本