复杂程序fuzz初探
什么是fuzz
Fuzz(Fuzzing,模糊测试)是一种自动化测试技术,用于发现程序中的漏洞或异常行为。它的核心思想是向程序输入大量随机、畸形(fuzzed)或异常的数据,观察程序的响应,以检测潜在的崩溃、内存泄漏、安全漏洞等问题。适用于二进制程序测试和Web
渗透测试。结合代码覆盖率分析和符号执行,现代 Fuzzing
工具能够高效发现程序中的安全漏洞,在
...
CUDA编程模型初探
安装
可以在官网选择下载适合自己版本的cuDNN。
然后下载CUDA,根据安装程序的提示配置即可。
之后安装完成后可以把安装好的CUDA根目录下的bin目录设置为环境变量,然后用nvcc测试一下是否设置成功。
然后把之前下好的cuDNN中的lib、bin、include目录下的所有文件都拷贝到我们CUDA对应的目录。
然后我们打开VS2022就能创建一个...
seq_operations搭配pt_regs的kernel利用手法
seq_operations简介
seq_operations 是 Linux
内核中的一个结构体(struct seq_operations),用于实现
seq_file 机制。seq_file
机制提供了一种统一的方式来访问可变长度的数据,主要用于
/proc 文件系统,以简化内核导出信息的操作。
str...
Algorithmica
HPC研读记录(4-6章)
四、编译(Compilation)
概述
学习汇编语言的主要好处并不在于能够用它编写程序,而是在于理解编译后的代码在执行过程中发生了什么,以及它对性能的影响。
在极少数情况下,我们确实需要手写汇编代码以达到最高性能,但大多数时候,编译器本身就能生成接近最优的代码。如果编译器未能做到这一点,通常是因为程序员比编译器掌握了更多关于问...
Algorithmica
HPC研读记录(1-3章)
一、复杂性模型
概述
传统复杂性理论
To estimate the real running time of a program, you need to sum all
latencies for its executed instructions and divide it by the clock
frequen...
ret2dir手法学习
原理
Ret2dir(Return-to-Direct Mapping)是一种 内核利用
技术,攻击者可以利用它 绕过 SMEP、SMAP、pxn
等用户空间与内核空间隔离的防护手段,最终实现
本地提权。
在 大多数 Linux 内核(基于 x86_64 架构)
中,物理地址(Physical Address) 的很大一部分会被
直接映射(direct...
ret2usr利用手法以及常见保护机制绕过浅析
ret2usr
在SMAP、SMEP以及kpti保护未开启时,内核空间可以访问或执行用户空间的数据,那我们其实可以直接返回到用户空间执行函数,从而避免构造较为复杂的内核ROP链。
这里仍以2018 强网杯 -
core为例,这题中虽然开了kaslr,但是我们不需要利用一些手法来泄露地址,init脚本中本身就给我们提供了一些利用点。
1...
kernel pwn初探
基础知识
基础的概念入门时不宜死磕,最好粗略看看留个印象,然后下去环境配好后,在调试探索时逐步深化理解。
如何理解内核
操作系统内核(Operation System
Kernel)本质上也是一种软件,可以看作是普通应用程式与硬件之间的一层中间层,其主要作用便是调度系统资源、控制
IO
设备、操作网络与文件系统等,并为上层应用提供便捷、抽象的应用接口。...
C#开发学习记录1
开发环境:Visual Studio 2022
前言
从高中时就对开发软件比较感兴趣,用过pygame写过小游戏,当时其实也想用Unity来写个游戏来着。不过高中确实学业压力比较重,加上Unity主要是用C#作为编程语言的,当时也没接触过C#语言,就不了了之。大一又误入安全歧途:smirk:,一直在打ctf,现在趁寒假学点windows程序开发。一开始我看了b站上的...
快速在24.04Ubuntu搭建pwn环境
打了重庆市赛时,3个pwn题有2个给了2.39glibc,据有些大师傅们说,2.39的glibc只能在24.04的Ubuntu上兼容,我也试了试用glibc-all-in-one,下2.39的glibc,但是下下来是空的。这说明原先22.04Ubuntu的环境已经不够用了,需要新建一个24.04版本的Ubuntu虚拟机来应对各种可能的做题环境。这...