ctf-pwn day1 ctf pwn
【pwn】[FSCTF 2023]stackmat --格式化字符串漏洞泄露canary
看一下程序的保护状态 开了canary,接着看一下代码逻辑 可以发现,这里有格式化字符串漏洞,同时gets函数有栈溢出漏洞,现在只需要确定我们输入到buf的内容在格式化字符的第几个参数就行 可以确定buf在格式化字符串的第8个参数,又因为buf的偏移是0x20,所以canary在11个参数,因为ca ......
【pwn】[FSCTF 2023]2str --整数溢出绕过
检查一下保护状态 接着ida看代码逻辑 看func函数 第一次看真没发现有什么漏洞,题目给了backdoor,虽然strlen可以\x00绕过,但是strcpy函数也限制漏洞的实现。仔细看的话,会发现v3的类型是 unsigned __int8 v3; 说明v3是一个字节来表示的,可表示的范围只有0 ......
23年宁波职教中心CTF竞赛-决赛
Web 拳拳组合 进去页面之后查看源码,发现一段注释,写着小明喜欢10的幂次方,那就是10、100、1000、10000 返回页面,在点击红色叉叉的时候抓包,修改count的值为10、100、1000、10000 然后分别获得以下信息 ?count=10 有点接近了 ?count=100:readf ......
CTF实战——1.ningen
一 、我们拿到第一题为ninge 1.先分析题目内容,在题目中告诉了我们一个关键信息,知道了秋明特别讨厌中国的六位数银行密码,喜欢四位数。从这里我们可以知道一个关键词为四位数。 2.打开附件发现内容包含着一张jpg格式的图片。 首先我们拿到一个图片文件我们首先查看此文件属性是否包含着隐藏信息。 可是 ......
机试题目-day1
字符串相关【C语言】字符串输入的三种方式_c语言输入字符串-CSDN博客 1.字符串的三种输入和输出方式,字符串只能靠指针或者数据 1.1 gets:gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间 # include <stdio.h>int ma ......
2023届的信安大挑战——pwn(持续更新!)
这是我打的第一次比赛,主打的pwn方向,纪念我的成长 需求:一定的linux系统的命令指令知识,基础的汇编代码,配置好了的虚拟机(打pwn建议是ubuntu),pwntools的使用,python的使用,ROPgadget的使用 每次把文件拖入IDA前记得用Exeinfope进行检查一下,看是x86 ......
蓝桥杯之模拟与枚举day1
Question1卡片(C/C++A组第一题) 这个是一道简单的模拟枚举题目,只要把对应每次的i的各个位都提取出来,然后对应的卡片数目减去1即可。属于打卡题目。注意for循环的特殊使用即可 #include <iostream> using namespace std; bool solve(int ......
Day1
快捷键 Ctrl + C 复制 Ctrl + V 粘贴 Ctrl + A 全选 Ctrl + X 剪切 Ctrl + Z 撤销 Ctrl + S 保存 Alt + F4 关闭窗口 Shift + Delete 永久删除 Window + R 运行窗口(可以打开cmd) Window + E 我的电脑 ......
【pwn】[HNCTF 2022 WEEK2]pivot --栈迁移
栈迁移的利用的过程不是很复杂,原理方面是比较麻烦:栈迁移原理介绍与应用 - Max1z - 博客园 (cnblogs.com) 这里简述一下栈迁移的利用过程: 我们先来看一下这道题的程序保护情况: 开了canary,接着看代码逻辑 这里的printf("Hello, %s\n", buf);可以发现 ......
Day1
快捷键 Ctrl + C 复制 Ctrl + V 粘贴 Ctrl + A 全选 Ctrl + X 剪切 Ctrl + Z 撤销 Ctrl + S 保存 Alt + F4 关闭窗口 Shift + Delete 永久删除 Window + R 运行窗口(可以打开cmd) Window + E 我的电脑 ......
Java--day1
一.入门 1.常用快捷键 ctrl + Z 撤销 Alt + F4 关闭窗口 shift + del 永久删除 Win + E 打开我的电脑 2.基本Dos命令 命令提示符 ProwerShell # 盘符切换 C: # 查看目录下所有内容 dir # 切换目录 cd /d f:\IDE 不同盘级之 ......
【pwn】[HNCTF 2022 WEEK2]ret2libc --rop构造泄露libc
这道题是简单的libc,不过多分析了 exp: from pwn import * from LibcSearcher import * io=remote("node5.anna.nssctf.cn",28341) elf=ELF("./pwn") put_got=elf.got["puts"] ......
青少年CTF训练平台 — CRYPTO通关WP
🚩A2-Crypto Caesar vxshyk{g9g9g099-hg33-4f60-90gk-ikff1f36953j} 凯撒解码 qsnctf{b9b9b099-cb33-4a60-90bf-dfaa1a36953e} 一组BASE cXNuY3RmezY4NjkwOGJjLTFiZjItN ......
【pwn】[CISCN 2023 初赛]funcanary --爆破canary和pie
拿到程序先查一下保护状态 可以发现保护全开,再看一下程序的逻辑 可以发现,这里有一个fork函数: C语言中的fork()函数用于创建一个新的进程,该进程是原始进程(父进程)的一个副本。这个副本将从fork()函数之后的代码行开始执行,父进程和子进程在此处分别继续执行不同的代码。fork()函数的返 ......
【pwn】[HGAME 2023 week1]choose_the_seat --数组越界,劫持got表
查一下程序保护情况 发现是partial relro,说明got表是可以修改的,下一步看代码逻辑 看到这一段 puts(&seats[16 * v0]);存在数组越界的漏洞,因为上面的代码没有对v0进行负数的限制,v0可以是负数,我们来看一下seat的数据 可以发现seat上面的数据就是got表,s ......
【pwn】[UUCTF 2022 新生赛]easystack --pie爆破
查看程序保护 发现开了pie: partial write(部分写入)就是一种利用PIE技术缺陷的bypass技术。由于内存的页载入机制,PIE的随机化只能影响到单个内存页。通常来说,一个内存页大小为0x1000,这就意味着不管地址怎么变,某条指令的后12位,3个十六进制数的地址是始终不变的。因此通 ......
【pwn】[HUBUCTF 2022 新生赛]ez_pwn --随机数
查一下程序保护状态 保护全开,看一下代码逻辑 逻辑比较简单,就是输入一个用户名,然后进行随机数运算,这里可以使用ctypes模块,形成和服务器那边一模一样的随机数 from pwn import * import ctypes context(os='linux',arch='amd64',log_ ......
CTF show——misc入门(1-15)
misc 1 一点开即得flag misc 2 一点开发现是PNG格式,所以将文件格式后缀改为png,便可得到flag。 misc 3 直接用Honeyview打开即可的flag misc 4 下载好文件将文件改为png.格式 同上题一样,用Honeyview打开,连起来即可得flag misc 5 ......
CTF show——crypto 7-萌新_密码5
crypto 7 用txt.文件格式打开 是ook加密,所以需要用brainfuck工具:https://www.splitbrain.org/services/ook crypto 8 同上一题一样 crypto 9 打开ARCHPR进行爆破,得到密码4132,得到的是一个.dat文件,可以猜想是 ......
【pwn】[HGAME 2023 week1]simple_shellcode --orw利用攻击
先查看程序的保护状态 可以看到,保护全开,拖进ida看主函数的逻辑 可以看到有个mmap函数: mmap() 函数是Unix和类Unix操作系统中的一个系统调用,用于在进程的地址空间中映射文件或者其它对象。这样做的好处是可以让文件直接映射到内存中,从而避免了频繁的文件 I/O 操作,提高了文件的读取 ......
浙江省2023ctf初赛复现
misc yuanshen 用010打开 一张正常的jpg图片开头应该是像下面这张图一样 发现每两位十六机制位都调转了位置 写个脚本将它逆转回来 with open('yuanshen','rb') as file1: with open('1.jpg','wb') as file2: hex_li ......
算法day1数组|力扣704二分查找,27移除元素
数组基础理论 数组是存放在连续内存空间上的相同类型数据的集合。 可以通过下标轻松获取数据,但是增删元素的时候需要移动其他元素 Vector和array的区别 vector的底层实现是array,但是vector是容器不是数组 数组的元素不能删除,只能覆盖 小技巧:取中间 int mid =l+r>> ......
pwn环境搭建脚本
目录pwn环境搭建脚本 pwn环境搭建脚本 分享在ubuntu系统上一站式搭建pwn环境的脚本。 安装脚本如下,挂着梯子的情况下可以直接使用国外的官方源,建议安装的ubuntu系统版本至少为ubuntu:18.04,用可使用sudo命令的普通用户安装而不建议直接使用root用户安装。 如果无法访问国 ......
使用docker调试和部署pwn题
目录使用docker调试和部署pwn题0x0 前言0x1 调试环境0x2 出题模板0x3 使用技巧 使用docker调试和部署pwn题 使用docker快速部署不同架构、不同版本的调试环境。给出docker环境下pwn题部署模板。 0x0 前言 关于docker的基础概念不做过多的介绍。可以到Doc ......
队内pwn训练营资料分享
目录队内pwn训练营资料分享前言培训材料写在最后 队内pwn训练营资料分享 分享队内第一期 pwn 训练营的资料。 前言 为了提升队内师傅的 pwn 技巧,之前在内部举办了一次为期约两个月的 pwn 训练营。从结果来看,培训后师傅们的能力有着显著的提升,此次训练营取得了预期的效果。 本着开源与共享的 ......
【python】DAY1作业
作业 参考:https://www.cnblogs.com/nickchen121/p/11069964.html 什么是编程语言? 是人于计算机交流的介质。 什么是编程? 编程是使用编程语言编写一个个文件。 为什么要编程? 为了奴隶计算机解放劳动力,完成人类一个个具体任务。 计算机5大组成分别 ......
sniperoj-pwn100-shellcode-x86-64
来源 本题来自ctfi-wiki,是基本ROP中shellcode的一道例题 查看保护 程序只开启了位置无关保护 PIE 并且有可写可执行的段 反汇编 发现程序中直接输出了buf的地址,所以PIE就不起作用了 可以看到,后面read函数还调用了buf,很显然就是要利用buf这个段了 然后在汇编代码发 ......
【pwn】ez_pz_hackover_2016 --pwngdb和pwntools的结合,动态调试
首先checksec 没开nx,说明堆栈可执行,初步考虑需要shellcode,然后拖进ida看主函数逻辑 看chall函数 printf("Yippie, lets crash: %p\n", s)这里泄露的s的地址,即栈上的地址 这里的输入的s数组是不存在栈溢出的,这里的关键代码是这一段 res ......
2016 CCTF pwn3
本题来自ctf-wiki,是一道 hijack GOT的例题 确定保护机制 发现主要开启了NX保护 分析程序 用ida反汇编一下,这个程序主要是实现了用正确用户名、密码登录FTP,具有get、put、dir三个基本功能 首先是第一个函数ask_username,发现它读取我们键入的字符串,并且每个字 ......