一些命令

With LLM / 划分并开启 Swap 检查当前的 Swap 状态: 使用以下命令查看当前系统的 Swap 使用情况: 1 swapon --show 创建 Swap 文件 创建一个 Swap 文件,例如 2GB 大小的文件: 1 fallocate -l 2G /swapfile 或者 / 1 sudo dd if=/dev/zero of=/swapfile bs=1M count=2048 设置文件的权限和格式: 1 chmod 600 /swapfile 1 mkswap /swapfile 启用 Swap 文件 1 swapon /swapfile 持久配置 Swap 修改 /etc/fstab,添加 /swapfile none swap sw 0 0 以自动启用 Swap 文件。
Read more

OpenSSL command line tool to generate a self signed certificate.

创建 san.cnf 配置文件,用于定义证书的详细信息,包括国家、组织、域名等。 定义扩展属性,如 subjectAltName。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 [ req ] default_bits = 256 default_md = sha256 default_keyfile = key.pem prompt = no encrypt_key = no distinguished_name = dn req_extensions = req_ext x509_extensions = v3_ca [ dn ] C=HK ST=Hong Kong L=Hong Kong O=Example Organization OU=IT Department [email protected] CN = example.hk [ req_ext ] subjectAltName = @alt_names [ v3_ca ] subjectAltName = @alt_names [ alt_names ] IP.1 = 192.168.1.1 DNS.1 = example.hk 生成 ECDSA 私钥: 1 openssl ecparam -genkey -name prime256v1 -out ecdsa_private.key 生成证书签名请求 (CSR): 1 openssl req -new -key ecdsa_private.key -out ecdsa.csr -config san.cnf 生成自签名证书: 1 openssl x509 -req -in ecdsa.csr -signkey ecdsa_private.key -out ecdsa_certificate.crt -days 365 -extensions v3_ca -extfile san.cnf 自签名 ECDSA 证书和私钥就生成完成了
Read more

写给新手的 Crypto 入门&环境配置

同时发布于 https://hello-ctf.com/HC_envSet/Crypto/ / 前言 善于百度, 哪里不懂先去百度, 其实搜索引擎上更推荐 Bing 或是 谷歌, 百度只是要求搜索解决的统一说辞, 还有疑惑则去读 <提问的智慧>, 如果依旧不理解, 可以用从 <提问的智慧> 中学到的提问方式来请教别人.
Read more

PWNable.kr 肥肠适合初学者

col ssh 连上执行ls -la看看(-la参数可以浏览文件属性) cat col.c查看源文件 / 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include <stdio.h> #include <string.h> unsigned long hashcode = 0x21DD09EC; unsigned long check_password(const char* p){ int* ip = (int*)p; int i; int res=0; for(i=0; i<5; i++){ res += ip[i]; } return res; } int main(int argc, char* argv[]){ if(argc<2){ printf("usage : %s [passcode]\n", argv[0]); return 0; } if(strlen(argv[1]) != 20){ printf("passcode length should be 20 bytes\n"); return 0; } if(hashcode == check_password( argv[1] )){ system("/bin/cat flag"); return 0; } else printf("wrong passcode.\n"); return 0; } 分析出需要执行 col 这个程序时传参, 而且参数需要20bytes长, 同时要求参数经过 check_password() 后等于 hashcode 变量
Read more

CSAPP

lab 拆弹 第一步的exp, 进 ida 一眼顶针发现是个字符串比对 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 from pwn import * import sys import argparse context.log_level = 'debug' path_to_elf = '/home/user/PWN/OS/bomb_XBan/bomb' elf = ELF(path_to_elf) libc = elf.libc ip = sys.argv[1] # sys.argv[0] 为当前文件名 if len(sys.argv[1]) < 5: port = 0 else: port = int(sys.argv[2]) if port == 0: p = process(path_to_elf) else: p = remote(ip, port) sla = lambda x,y : p.sendlineafter(x,y) sa = lambda x,y : p.sendafter(x,y) ru = lambda x : p.recvuntil(x) def g(arg=''): if port != 0: return gdb.attach(p, arg) raw_input() def choice(op): sla('choice: ', str(op)) def arena(op): choice(1) choice(str(op)) def buy(obj): choice(2) sla('want a', obj) def use(obj): choice(3) choice(1) ru('use?\n') sa(']', obj) def leak_heap(x, y, z): ret = (z ^ 0xBAAD)<<16 ret = (ret + y ^ 0xBAAD)<<16 ret += x ^ 0xBAAD return ret p.recvuntil('day!\n') # 传回 'Border relations with Canada have never been better.' p.sendline(b'Border relations with Canada have never been better.') p.recvuntil(b'next one?\n') p.interactive()
Read more

深渊大学 OS PA

一点点汇编知识 如何得知 char 开了多大 sub 是一个指令,用于执行减法操作。它的作用是将一个操作数的值减去另一个操作数,并将结果存储到指定的目的地。 / esp 是啥寄存器 栈指针寄存器 当前栈顶
Read more

证书链

证书链是一系列数字证书的集合,用于验证和建立信任关系。在公钥基础设施(PKI)中,证书链用于验证服务器证书的有效性和可信任性。 证书链由多个证书组成,每个证书都被签发者(颁发者)签名。链的顶部是服务器证书,也称为终端证书或服务器端证书。该证书包含了公钥和与之相关的信息,如域名、组织名称等。 证书链的底部是根证书,也称为根CA证书或根证书颁发机构(Root CA)。根证书是最高级别的信任锚点,它的公钥用于验证链中的其他证书。 中间证书也被包含在证书链中,它们是由根证书颁发机构签发的,并用于连接终端证书和根证书。中间证书的作用是构建信任链,确保终端证书的有效性。 验证证书链的过程是逐级验证每个证书的签名,直到达到根证书。如果每个证书的签名都有效,并且根证书是受信任的,那么整个证书链就被视为有效和可信任的。 通过验证证书链,客户端可以确保与服务器之间的通信是安全的,并且可以信任服务器的身份。这对于建立安全的网络连接和进行加密通信至关重要,尤其在涉及敏感信息的场景下,如在线银行、电子商务等。
Read more

操作系统:设计与实现 蒋炎岩

操作系统:设计与实现 蒋炎岩
Read more