漏洞复现及利用-学习笔记1

对于FreeBSD 远程拒绝服务攻击漏洞(内核漏洞)复现与利用教程的学习和总结,为后续尝试动手复现漏洞做准备。

FreeBSD 远程拒绝服务攻击漏洞(内核漏洞)

(1)相关基础知识的补充学习

1.断言函数的使用

断言assert函数,C语言assert函数完全攻略

2.KGDB(Linux内核以及NetBSD和FreeBSD内核的调试器)

使用KGDB构建Linux内核调试环境

关于wireshark抓包和分析

wireshark抓包详细图文教程

Scapy-基于python的数据包操作库

Scapy的使用

(2)总结

  1. 在复现漏洞时,利用poc触发崩溃后,想办法(根据报错提示等)找到崩溃信息(如报错信息本身、一些crash记录文件等),从这些入手尝试定位漏洞的具体原因。如下图中core.txt是记录崩溃信息的文本,而vmcore.0是可以用kgdb调试的文件,通过kgdb调试,我们可以复现漏洞现场的信息。

  1. 在复现了漏洞现场信息后,通过回溯堆栈调用过程在源代码中对关键函数调用及参数传递进行分析等,最终可定位到具体的漏洞点。
    注意若存在漏洞的软件代码量较大,这个分析的过程可能会比较耗时,需要不断的回溯到上一层调用函数,以确定存在问题的输入数据的来源和具体内容。