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

第八章:security testing

文章目录

  • Security Testing
    • buffer overflow 的例子
    • Fuzzing 测试
      • Random Testing
        • 好处
        • 坏处
      • Mutation-based Fuzzing
        • 好处
        • 坏处
      • Generation-based Fuzzing
        • 好处
        • 坏处
    • Memory Debugger
    • Undefined Behaviors (未定义行为)

Security Testing

  • 渗透测试(或称为pentesting)是指攻击软件以寻找安全漏洞的过程。
  • 自动化渗透测试,通常被称为 fuzzing test,是一种系统性 systematic 和可重复的 repeatable 渗透测试方法,许多优秀的渗透测试人员都在使用。
  • 漏洞是系统中硬件或软件(包括操作系统)中存在的安全隐患,可能导致对该系统进行攻击,例如未经授权访问。漏洞可以是容易猜测的弱密码、允许访问运行进程外存储器的缓冲区溢出,或提供对数据库中数据未经授权访问的未转义SQL命令
    在这里插入图片描述
  • 如果上述命令被不小心写成下面这样:
    在这里插入图片描述
  • 这样会可以访问所有的数据

buffer overflow 的例子

在这里插入图片描述

  • 情况 1: 描述的是当输入字符串(例如 “hello\0”)足够小,可以完全放进 c 数组时,程序的正常运行状态。在这种情况下,不会发生溢出。
  • 情况 2: 描述的是当输入字符串(例如 “AA…[溢出的数据]…”)过长,超出了 c 数组的边界时,它会覆盖调用函数 foo 的栈帧指针 (stack frame pointer) 和 返回地址 (return address spot)。特别是,这个示例中使用了一系列的 ‘A’ 字符后跟一些编码字符(可能是示意攻击者通过特殊字符控制程序),这可能导致程序的执行跳转到攻击者控制的代码 (This may cause the program to jump to code controlled by the attacker.)

Fuzzing 测试

http://www.lryc.cn/news/220052.html

相关文章:

  • Linux系统下一些配置建议整理
  • 【launch文件中如何启动gdb调试单个节点多个节点】
  • Unity中Shader的GI的直接光实现
  • JAVA进程和线程
  • 3.2-Docker Image概述
  • JS自定义深浅度克隆
  • MySQL之表的约束
  • Go基础——接口、并发
  • zookeeper本地部署和集群搭建
  • 优橙内推甘肃专场——5G网络优化(中高级)工程师
  • crontab 定时任务
  • 【入门Flink】- 03Flink部署
  • DockerFile常用保留字指令及知识点合集
  • 怎么批量删除文件名中的空格?
  • 回顾十大数据恢复软件,帮助用于恢复丢失的文件!
  • 【Linux】多路IO复用技术②——poll详解如何使用poll模型实现简易的一对多服务器(附图解与代码实现)
  • CSS 滚动捕获 Scroll Snap
  • 【带头学C++】----- 三、指针章 ---- 3.9 数组作为函数的参数
  • 完美处理 Android App 的 apk 输出路径与文件名
  • 【技术干货】开源库 Com.Gitusme.Net.Extensiones.Core 的使用
  • 大厂面试题-b树和b+树的理解
  • NeRF-SLAM部署运行(3060Ti)
  • 零基础编程入门教程软件推荐,零基础编程自学
  • Amazon EC2 安全可调用的云虚拟主机服务器
  • HTTP/HTTPS、SSL/TLS、WS/WSS 都是什么?
  • 软考之系统安全理论基础+例题
  • 棱镜七彩亮相工控中国大会,以软件供应链安全助力新型工业化高质量发展
  • 数据可视化:动态柱状图
  • vue3 自定义loading
  • Ceph-deploy跳过gpg-key验证(离线环境安装Ceph)