- 博客(94)
- 收藏
- 关注
原创 课设-迷宫
实验内容1.迷宫游戏是非常经典的游戏,在该题中要求随机生成一个迷宫,并求解迷宫;2.要求查找并理解迷宫生成的算法,并尝试用两种不同的算法来生成随机的迷宫。3.要求迷宫游戏支持玩家走迷宫,和系统走迷宫路径两种模式。玩家走迷宫,通过键盘方向键控制,并在行走路径上留下痕迹;系统提示迷宫路径要求基于A*算法实现,输出玩家当前位置到迷宫出口的最优路径。设计交互友好的游戏图形界面。实现效果实现过程:使用深度优先算法生成和解决迷宫(非A*)创建两个类,一个Block和一个MazePanelBlock类用
2021-12-28 22:38:31 1094
原创 课设-贪吃蛇
实验内容1)实现贪吃蛇游戏基本功能,屏幕上随机出现一个“食物”,称为豆子。玩家能利用上下左右键控制“蛇”的移动,“蛇”吃到“豆子”后“蛇”身体加长一节,得分增加,“蛇”碰到边界或蛇头与蛇身相撞,“蛇”死亡,游戏结束。2)进行交互界面的设计,要有开始键、暂停键和停止退出的选项,能够控制游戏进程。对蛇吃到豆子进行分值计算,可以设置游戏速度,游戏音乐等拓展元素。实现效果实现过程food类package com.zjxu.snake.game;import com.zjxu.snake.cor
2021-12-28 22:37:20 2624 2
原创 Embedded Security CTF-1
Embedded Security CTF (1)Tutorial有几个不同的指令;reset:重启cpubreak:地址不加*unbreak:取消断点let: gdb下的setsolve: 发送解决问题的请求payload: 70617373776f7264New Orleans内存里直接就能找到了, 但发现好像还有个gets的栈溢出, 预期解payload: 7c30544d492f5aSydney第一次遇到了大端法诶, payload: 7936602430334f66Han
2021-12-22 02:56:41 1028
原创 Nov 26, 21在macOS 12.0.1上布置pwn环境
前言:不是让民那桑在mac上做amd架构的题目,我布置环境是为了以后方便pwn arm架构的题目/设备之类的(逃)Pwn environment:lldb && voltron && tmuxinator && pwntools:Because outstanding performance of Plugins in gdb like pwndbg, gef and so on. I choose to install gdb on my M1 Ma
2021-11-27 02:04:28 1836 2
原创 2021东华杯pwn部分wp
前言:除了boom都蛮简单的, 第四个pwn因为boom做的有点久就没来得及, 看了眼感觉不难也就不想花时间再做了cpp1:由于change时std::cin的大小没有控制好, 所以cin可以输入很多字符, 导致了堆溢出, 且申请回来的时候没有手动清空fd位, 泄露了heap偏移, 得到了tcache结构体的地址, 利用堆溢出控制free块的fd就可以控制整个tcache结构体, 从而使得unsorted bin产生. 同上, 泄露libc偏移, 再利用fd写__free_hook与system, 再
2021-11-01 17:43:16 1636
原创 2021鹤城杯pwn部分wp
littleof白给的ret2libc, 第一个输出泄露canary, 第二个输出泄露libc基址顺便控制一下返回地址再返回去输入, 之后就getshell咯(摊手)#!/usr/bin/env python#coding=utf-8from pwn import*sh = remote("182.116.62.85", 27056)#sh = process('./littleof')elf = ELF('./littleof')libc = ELF('./libc-2.27.so')
2021-10-09 22:47:49 2141 6
原创 操作系统真象-开启分页&加载内核
操作系统真象-开启分页&加载内核Tags: learning experience, 操作系统开启分页:ps. 下面的内容都是基于二级页表的, 毕竟大伙都是用的二级页表, 而且动态规划的二级页表空间利用率高于一级页表哇为什么要开启分页:最大化利用物理内存, 避免物理内存啥的, 以及加速内外存交换?(毕竟书上方案B在面对需要大空间进程时, 对内外存交换速度的打击是毁灭性的)如何开启分页机制:ps. 这三个步骤是有顺序的准备好页目录及页表将页表目录的地址写入cr3cr0的PG位置零
2021-10-03 04:01:35 1058
原创 羊城杯和天翼杯的补充
YCB2021-how2heap:当数组被填满的时候, 再进行删除会出现相同相同指针, 导致uaf同时也存在数组负索引未检测的问题, 因此got表等也是可以被free的后面就是修改got表, 使得指向onegadget的地址就行了(这题当时没做出来主要是因为没发现uaf, 而且在本地仅靠负索引就可以做出来了, 但是在远程由于全局变量的改变, 导致负索引free等操作受限, 所以打不出来, 而且记录的这种做法很巧妙, 反正让我现在做也不一定做得出来, 记录下来主要是为了告诉自己got表可以尝试写入on
2021-09-30 01:23:04 1002
原创 2021绿城杯pwn部分wp
前言:这次比赛了解到了还有jspwn这玩意, 然后没时间学(, 十月一定(逃)uafpwn:释放之后指针未置零, 所以use after free乱打from pwn import *context(log_level = 'debug', arch = 'amd64')# sh = process('./uaf_pwn')sh = remote('82.157.5.28', 52102)elf = ELF('./uaf_pwn')libc = elf.libcdef add(siz
2021-09-29 21:00:35 1192
原创 2021长城杯pwn部分wp
前言:就, 除了vmpwn都是基础glibc的heap题king_in_heap_1:delete函数没有把free后的指针置零, 存在uaf, 然后用unsortedbin的fd指向io结构体泄露libc, 然后mallochook上用realloc调整一下, 打onegadget就完事了#!/usr/bin/env python# coding=utf-8from pwn import *sh=remote('47.104.175.110',20066)#sh=process('./ki
2021-09-19 23:36:50 6063
原创 操作系统真象-保护模式
操作系统真象-保护模式Column: September 12, 2021Tags: learning experience, 操作系统一点写汇编的新知识:可以在代码中用[bits xx]来指定生成xx位的shellcode, 如果在接触到下一个[bits xx]之前出现了不符合当前位数的内存/寄存器操作, 则会在机器码之前添加0x66(反转操作数大小前缀)和0x67(反转寻址方式签字), 然后汇编如何在机器码方面体现操作数的位数不同就交给硬件吧!如何进入保护模式:打开A20地址线加载gdt
2021-09-15 22:52:57 1036
原创 操作系统真象-MBR
操作系统真象-MBRColumn: September 5, 2021Tags: learning experience, 操作系统磁盘创建:两种创建光秃秃系统盘的方法:qemu:qemu-img create -f qcow2 -b hd60M.img -size 60Mbochs:bximage -hd -mode="flat" size=60 -q hd60M.img磁盘启动:启动方式:(bochs生成的可以在qemu使用. 但qemu生成的好像不能在bochs使用, 至少在我
2021-09-13 14:59:09 1070
原创 2021羊城杯pwn部分wp
前言:羊城杯的how2heap没做出来, rctf也爆零了, 哎, 颓了BabyRop:最基础的栈溢出rop链, 直接贴exp了:from pwn import *#p=process('./BabyRop')p=remote('192.168.41.23', 11000)context.log_level='debug'sh=0x804c029system=0x80490a0#gdb.attach(p,'b *0x804926a')p.sendline('a'*0x28+'b'*
2021-09-12 20:39:03 6535 6
原创 21 09 05学习总结(qwb_2018_core kernel rop)
21.09.05学习总结(qwb_2018_core kernel rop)Column: September 1, 2021Tags: kernel study, learning experience大概是好久之后更新的一篇blog了, 之前都在忙忙碌碌的打比赛呢, 痴痴的看着短视频, 莫名其妙就会让时间流走呢(笑, 最近不会再这样了)qwb_2018_core, 唔, kernel还不是学的很好呢, 先注释一遍吧, 加强理解:#include <string.h>#includ
2021-09-05 13:59:37 973
原创 祥云杯部分pwn的wp
lemon主要问题是2.26版本下, 未控制好指针导致任意写数据结构如下:lemon_name:lemon_content:主要可利用的函数是color:里的buf是指lemon_name结构, 所以可以控制指针lemon_addr的指向了, 因为只能用一次所以想控制整个tcache结构其它一点可利用的函数:开头的一次welcome:虽然是有rand, 但无随机数种子, 所以是固定值, z3一把????!eat函数: 可以打印chunkaddr第四字节, 用于配合后面分配堆块整
2021-08-24 01:18:11 1250
原创 21 08 10学习总结
21.08.10学习总结Column: August 10, 2021Tags: learning experience不知道什么时间-不知道什么时间: buu刷题Re:不一样的flag: 迷宫题の初体验, 一开始IDA的分析不对导致分析题目分析不出来, 就问了一下学长如何修改IDA的stack显示(先edit-undefined, 再右击选择array啥的或者按D表示define啥的), 而后就是分析迷宫, 由于这个字符串被默认认为是在末尾加上\x00了, 所以才被识别为char[26], 实际
2021-08-11 01:26:06 968
原创 21 08 08学习总结
21.08.08学习总结Tags: learning experience不知道什么时间-不知道什么时间: BUU刷题re找门:xor: 一个数xor同一个数两次之后仍然是其本身reverse3: 一个base64的加密, 主函数里有个+i的操作, 把+i消去之后base64解密就行了, 但是因为是萌新第一次接触re的base64, 于是就自己写了个base64的加密与解密练手(ida的ctrl e是直接选取字符串)helloword: jeb打开, 就能直接找到了SimpleRev: 前面有
2021-08-10 23:22:13 1149
原创 21 08 07学习总结
21.08.07学习总结Column: August 7, 2021Tags: learning experience09:00-11:00: xman爆零17:00-00:00: buu刷题+re入门: re入门: 夜影大哥说哪个有兴趣就先学啥, 好耶! Linux Re: 主要学了LD_PRELOAD那一块, 别的那几篇wiki因为没例题, 所以也还没细
2021-08-07 04:29:02 123
原创 Ucore Lab1(下)
Ucore Lab1(下)Column: August 4, 2021Tags: kernel study, learning experience练习五:堆栈啥的是用的32位的, 因为是学pwn的基础, 就不赘述了直接放代码(其实就是各种调用它写好的库函数)voidprint_stackframe(void) { uint32_t now_ebp = read_ebp(); uint32_t now_eip = read_eip(); while(now_ebp !=
2021-08-05 00:47:23 85
原创 Ucore Lab1(中)
Ucore Lab1(中)Column: August 3, 2021Tags: kernel study, learning experience关于A20地址线的一些东东:诞生的原因: 之前CPU 8086的最大寻址范围为0xffff0+0xffff=0x10ffef, 由于当时技术的限制(地址线也只有20根), 所以当地址大于0xfffff后会发生"回滚"的现象, 然而到了CPU Intel 80286后地址线变为了24根(当然后面的地址线会更多就是了), 当地址大于0xfffff后不是回滚,
2021-08-03 18:14:56 97
原创 Ucore Lab1(上)
Ucore Lab1(上)前情提要:Vx6太难了, ????????跑路了日, 怎么Ubuntu里敲出来的中文这么怪ppt来源于清华大学的操作系统网课练习1:Q1: ucore.img是如何一步一步生成的?先看一下makefile(选择编译器和编译器选项), 经过对比, 发现使用的是LLVM makefile系统, cc实际上为gcc编译 / ld链接选项有如下:-g可调试 -Wall会列举编译文件中的一些常见错误 -O2为优化程度 -march(架构?不会翻译)为i686 -fn
2021-07-30 03:10:14 220
原创 21 07 28学习总结
21.07.28学习总结Column: July 28, 2021Tags: learning experience11:00-12:00: buu刷题: ciscn_2019_final_3我写的不好, 写成要爆破的了14:25-16:30: :buu刷题: ciscn_2019_es_7: 和ciscn_2019_s_3一模一样ciscn_2019_s_9: 写一段汇编就好了picoctf_2018_shellcode: ret2shellcode, 我傻逼了actf_2019_babys
2021-07-29 00:44:38 178
原创 21 07 27学习总结
21.07.27学习总结Column: July 27, 2021Tags: learning experience前言:前几天在忙xctf和拆笔记本电脑, 除了自己撸出一道ctb外, 没什么其它实际产出(因为装内核一直失败), 所以就没怎么写博客06:00-08:00: buu刷题, roarctf_2019_easy_pwn版本下错了…然后捣腾了两个小时, 学到了realloc_hook写onegadget的方法16:00-16:30: buu刷题: wustctf2020_getshell
2021-07-29 00:42:54 193
原创 21 07 22学习总结
21.07.22学习总结Column: July 22, 2021Tags: learning experience13:50-14:55: buu刷题bjdctf_2020_router: 没必要写expwustctf2020_getshell: ret2textbabyfengshui_33c3_2016: 基础堆溢出, 一开始没找到溢出点, 我逆向功底好差…16:00-16:40: 在绝望中分析ezcloud, 并且感受了一下union的作用: 类似于申请了一块内存, 但那个内存所存的变
2021-07-23 01:58:45 172 1
原创 21 07 21学习总结
21.07.21学习总结Column: July 21, 2021Tags: learning experience前五天出去培训了, 累死累活的没时间学习其他东西, 好在薪资还可以…要不然亏大了16:00-16:30: 给顾客pwn答疑以及做了两道题…(一个particular write, 一个格式化字符串)23:30-24:00: buu刷题两道, 总算把第一页写完了jarvisoj_level3:很没意思的ret2libc, 而且libc给的还是踏马的错的, 建议使用libcsearc
2021-07-22 00:13:04 110
原创 21 07 15学习总结
21.07.15学习总结Column: July 15, 2021Tags: learning experience05:00-05:15: 补档昨天的学习总结和继续整理ctf套路集合05:20-05:50: 写了两种ciscn_2019_s_3的解法, 一种昨天想的csu, 一种基础srop(顺便稍微复习了一下, 注意这个由于出现了不可避免的push rbp, 所以要先处理一下rbp)05:55-06:10: 更新ctf套路集合, 加入了部分常用代码06:45-08:15: buuoj刷题:
2021-07-16 02:37:53 182
原创 21 07 14学习总结
21.07.14学习总结Tags: learning experience05:00-06:10: buuoj刷题[HarekazeCTF2019]baby_rop: 白给的ropjarvisoj_level2_x64: 白给的rop, 唯一要注意的就是find -name 找flagothers_shellcode: 连上去直接getshell, 不知道存在的意义是啥pwn2_sctf_2016: 32位的常规栈题, 复习了一下32位传参, 同时还发现sh在32位好像不能直接getshell至
2021-07-15 05:14:59 241
原创 21 07 13学习总结
21.07.13学习总结Column: July 13, 2021Tags: learning experienceLOL的终极魔典真好玩(逃), 今天B站还被拿下了, 笑嘻了00:30-03:00: 写完了pipeline, 先通过数据转换和传参导致溢出, 再改指针直接任意写, 其实heapbase都不用泄露的21:30-21:55: 写学习总结和ctf套路总结22:20-23:00: 看了会Linux私房菜, 内核那里只看懂一丢丢, 呜呜呜2021强网杯 babypwn:#!/usr/
2021-07-14 00:13:41 157
原创 21.07.12学习总结
今天打了疫苗, 然后骑车回家没戴头盔, 喜-20¥01:30-03:20: 完成了2021强网杯babypwn的heap泄露和overlapping(这玩意我还真忘了, 看了好久…), 睡醒花半个小时估计就能getshell了13:30-14:20: babypwn完成了…(SigreturnFrame差点忘了, 动调了一下)23:00-23:30: pipeline稍微标注了一下反汇编PS : 今天下午事情有点多, 所以学习进度不太行, 明天一定是当人的, 包括babypwn的exp也是放在明天了
2021-07-13 03:20:03 181
原创 21.07.11学习总结
00:00-03:20 写了一份详细的listbook的wp(高版本tc和smallbin利用)13:00-15:30 写了一半的强网杯babypwn, 研究了一下z3的使用23:00-23:30 ctf套路集合开了个头
2021-07-12 00:54:28 89
原创 强网杯2021 pwn部分wp
baby_diary:本题考查2.31的off by one, 漏洞处如下:在sub_146e中会将输入数据的ASCII码相加再相加相加…直到变成一个byte的数字, 然后加到输入数据的后一位上, 因此我们可以尝试控制输入的内容, 从而控制下一个chunk的size大小在确定完溢出点后, 我们便开始准备伪造chunk了, 由于要满足p->fd->bk == p, p->bk->fd == p以及prevsize == size, 我们需要申请一个largebin的chunk
2021-06-18 01:29:26 1339 1
原创 ciscn2021初赛pwn部分wp
ciscn2021初赛感谢wepn的队友Column: May 17, 2021pwny:首先ida看一眼发现read文件描述符全是3, 好像是读个随机数, 然后我们在3的地址上连着用Write读两次就可以把他变成0, 就可以写入内存了, 后面就是数组越界写, 负数可以往前面读读出libc偏移和pie偏移, 在得到libc之后可以获得环境变量environ的地址, 之后通过(libc_base+libc.sym[‘environ’]-pie_base-0x202060)/8, 就可以得到其位置是数组
2021-05-17 16:30:13 1210
原创 4 21之前做题杂记
4.21之前做题杂记Tags: Pwn前几天的基础题都丢在这里了(也不一定是基础题, 做完没印象的也有):bambobox:#!/usr/bin/env python# coding=utf-8from pwn import *sh=process('./bamboobox')sh=remote('127.0.0.1', 9997)elf=ELF('./bamboobox')libc=ELF('/lib/x86_64-linux-gnu/libc.so.6')#context.log_
2021-04-21 19:30:40 149
原创 4.13做题随记(axb_2019_heap, ciscn_2019_final_5)
4.13做题随记Column: Apr 14, 2021Tags: Pwn相关文件链接axb_2019_heapciscn_2019_final_5axb_2019_heap:保护检查:利用思路:banner()中存在明显的格式化字符串漏洞, 因此可以用来泄露栈地址, libc地址以及pie产生的偏移get_input()中有单字节溢出, 可以修改下一个chunk的inuse位, 从而unlink因此只要获得偏移后unlink到¬e任意读写到malloc_hook, 写
2021-04-14 13:59:08 200
原创 ctfwiki堆溢出总结
堆溢出小总结Column: Apr 12, 2021Tags: Pwn, summary开头的一些碎碎念:除了fastbin大小的chunk,其余物理相邻topchunk的chunk在free之后都会合并进topchunk利用malloc_hook通常是在main_arena-0x23-8的位置有个0x7f可以被识别为fakechunk(free_hook还不会,悲)Uaf:堆被free之后,指向其的指针未被置空导致fd与bk之类的关键信息可以被编辑, 还有一种就是double free之类的
2021-04-12 17:28:01 876 2
原创 how2heap的fastbin_dup_consolidate(包含sleepyholder)
fastbin_dup_consolidateColumn: Mar 28, 2021昨日dasctf, 临时学会了house of orange, 但依旧爆零, 哎, 只能说自己不够努力利用方式及其效果:方式: 很简单, 先申请一个fastbin范围内的堆1, 再随便申请一个堆2防止被topchunk合并, 之后释放堆1, 申请large bin大小的堆3, 最后释放一次堆1, 此时不会段错误, 而会让堆1同时存在于fastbin与unsortedbin中效果: 个人认为how2heap中讲的并
2021-03-29 03:05:59 454 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人