且听风吟

白昼之光,岂知夜色之深

shell中常用的参数

在Bash中,以下符号有特殊的含义: $$:代表当前正在运行的脚本的进程ID(PID)。 $!:代表最后一个在后台运行的进程的PID。 $@:代表所有传递给脚本的参数的列表,每个参数都被视为一个独立的字符串。 $*:代表所有传递给脚本的参数的列表,所有参数将作为一个单独的字符串。 $?:代表上一个命令的退出状态码。 $0:代表当前脚本的文件名。 $1, $2, …:代表传递给脚...

web漏洞攻防学习-0

基础知识(持续补充)

最近开始学习《web漏洞解析与攻防实践》,本博客用于记录其中补充的一些基础知识。 编码方式 url编码 值得注意的点在于: 空格的url编码有两个:%20和+ 如果对内容进行了多次url编码,其实只需要将%替换为%25, +替换为%2b即可。(所以可以根据%25的数量判断经过了多少次url编码) It's right It%27s%20right It%2527s%25...

格式化字符串-2

格式化字符串漏洞的例子 1. 2017-UIUCTF-pwn200-GoodLuck 这个很简单,直接gdb调试下就行了 ───────────────[ STACK ]───────────────────── 00:0000│ rsp 0x7fffffffe048 —▸ 0x400890 (main+234) ◂— mov edi, 0x4009b8 01:0008│ 0x...

配置Ubuntu虚拟机需要的链接列表

因为经常出于各种需要会新建虚拟机,每次都需要重复找一些资源,这里列出来便于使用 Ubuntu Ubuntu Releases Ubuntu 22.04.3 LTS (Jammy Jellyfish) Ubuntu 20.04.6 LTS (Focal Fossa) Ubuntu 18.04.6 LTS (Bionic Beaver) 镜像仓库 sudo cp /e...

通过终端+ssh快速使用VMware的虚拟机

虚拟机中的ssh设置 sudo apt-get install ssh mkdir ~/.ssh vim ~/.ssh/authorized_keys # 复制物理机中的公钥内容 # 一般位于主机 C:\Users\username\.ssh\id_rsa.pub 物理机中设置 创建bat文件:C:\Users\24426\ubuntu22.bat # 进入VMware目录 cd...

格式化字符串漏洞

格式化字符漏洞 主要利用到以下的4种格式: s,如果没有用 l 标志,输出 null 结尾字符串直到精度规定的上限;如果没有指定精度,则输出所有字节。如果用了 l 标志,则对应函数参数指向 wchar_t 型的数组,输出时把每个宽字符转化为多字节字符,相当于调用 wcrtomb 函数。 x/X,16 进制 unsigned int 。x 使用小写字母;X 使用大写字母。如果指定...

tmux的常用姿势

自从开始做pwn,tmux是一个必备的工具,但其实我一直对tmux的操作不太清楚,这次重新简单学习并记录一下 zsh的别名 添加tmux插件后,可以使用别名打开tmux ta=’tmux attach -t’ tad=’tmux attach -d -t’ tkss=’tmux kill-session -t’ tksv=’tmux kill-server’ tl...

栈溢出基础浅记(5)

frame faking(栈伪造) ——from ctf wiki 花式栈溢出技巧 这个方法其实就是利用leave,ret实现控制EBP,最终实现控制程序执行流。 2018 安恒杯 over Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: ...

栈溢出基础浅记(4)

stack pivoting

stack pivoting 花式栈溢出技巧 - CTF Wiki (ctf-wiki.org) 该方法主要针对难以直接构造较长的ROP,而我们可以找到一块可以自己控制的地址空间,通过劫持sp指针,改变程序流到我们所需的地址空间上,执行目标代码 针对X-CTF Quals 2016 - b0verfl0w这个题目 Arch: i386-32-little RE...

栈溢出基础浅记(3)

控制rdx的方法 从上一篇文章可以发现,鲜有类似pop rdx;ret这样的指令。 wiki中介绍了一个方法,就是会找到strcmp函数,在执行该函数时,rdx会被设置为要被比较的字符串的长度,所以可以通过找到strcmp函数,从而控制rdx。 关于HCTF2016 的出题人失踪了的发现 本来想着先用常规的方法做这道题,看看会不会出问题结果发现最后在执行payload = b'a' ...