pwn.college是在ASU大学教授同时也是知名Hacker的Yan教授领导下,搭建的Hacker学习/训练平台。平台是由一个个的Dojos构成的,每一个Dojo都是一个CTF的challege,拿到flag才算完成这个Dojo。学习内容涉及了从网络安全基本知识,基本web、密码基础,到堆栈ROP利用,到Y85 virtualbox,到内核漏洞利用,内容量很大,主要是二进制安全。是二进制安全领域,非常难得的最为全面、最成体系的学习资料。
有些应用是通过后台执行OS 命令实现的(如shell), 像导出tech-support文件. 如果又使用了用户输入作为命令的一部分就很容易出现命令注入(command injection)漏洞。
load
什么是Tail-call “tail-call”(尾调用)是指一个函数在执行结束时,最后一步调用的是另一个函数,且该调用的返回值直接作为当前函数的返回值。简单来说,就是当前函数的最后一步是调用另一个函数,并将该函数的返回值返回给当前函数的调用者,而不需要在当前函数中进行其他的操作。
不仅要在所有地方hook,还要在那里可编程,eBPF让一切成为现实,而bpftrace让这一过程变的简单。
OTel profiling agent 基于eBPF,实现了全系统跨语言的性能分析器。这个项目使用eBPF,可以抓取到详细的用户态调用栈。具有几个令人惊讶的优点: 几乎可以支持任何语言开发的目前程序,目前支持C/C++、Go等编译性语言,也支持Java、Python、Perl等解释性语言; 安全性高,实现方式不需要在目标程序能hook嵌入代码; 性能高,性能开销小于1%; 调用栈的unwind能力也很强,没有frame pointer和debug信息的情况,使用eh_frame辅助获取完整栈信息。 目前,项目迁移到这里 (贡献给opentelemetry了)。 本文简单分析下,它是如何做到的。
QEMU (Quick Emulator) is an open-source machine emulator and virtualizer. It enables users to run operating systems and programs designed for one architecture on a different architecture.
gc 会回收文件吗(os.File)? 会的,可以写一个函数循环open文件,可以计算出到资源限制open失败前总共可以打开多少文件。紧接着调用GC,并再次循环open文件,如果GC回收文件,则第二次循环应该和第一次循环打开同样数量的文件。
eBPF的出现有其技术发展上的必然性。虚拟化的发展,特别是网络虚拟化的发展,使得技术异常的复杂,定位解决问题变得非常困难。最开始设计eBPF的人,可能也没预料到有如此大的应用和影响。有个人为了解决自己公司的问题,发明了一种语言,后来又合入到了主线,这就是eBPF。
在寻找一个可以将手绘流程图转变成draw.io或visio流程图的软件时,在一个经常上的blog网站的评论区里,看到一个类似的软件。下载后安装,紧接着发现中招。安装中想着不行就停掉,安装后发现常规手段停不掉,紧接着发现文件被加密。