事儿pwn

软件工程:帕金森定律,项目工期的那点事儿

hi,我是熵减,见字如面。 在软件开发中,你是否遇到过这种情况: 团队要开发一个简单的购物车应用,项目预期时间是2周工期。负责开发的工程师默认利用完整的2周时间来完成任务。在第一周,工程师会认为任务很轻松,有充足的时间来完成任务,所以会采取气定神闲的节奏。然而,在第二周,却发现了重要的设计缺陷,工程 ......
工期 软件工程 定律 事儿 项目

ctfshow 第三届愚人杯 pwn wp

想起自己貌似没有发过比赛的 wp,也完完整整地参加了好几个比赛,之后会陆续发 ctfshow 愚人杯做完 pwn 方向的题目就溜了,拿了三个一血、两个二血。感觉自己棒棒哒。 easy_checkin 把 show 功能函数放在堆块上且自带后门的题目,存放 UAF 漏洞,修改下 show 功能函数为后 ......
第三届 愚人 ctfshow pwn wp

Pwn刷题记录

#01[WUSTCTF 2020]getshell2 考点:栈溢出,ret2shellcode 首先查看保护机制 为32位小端程序,开启了栈不可执行。 用IDA32查看伪代码 追踪到vulnerable函数 可以通过read实现溢出 exp: #p = process('./pwn') p = re ......
Pwn

buuctf.pwn.[OGeek2019]babyrop

可以看出,没有开什么特别的保护 什么是plt,gpt,自己回顾一下 hex( elf.plt['puts']) .plt.got:08048548 FF 25 D4 9F 04 08 jmp ds:puts_ptr hex(elf.got['puts']) .got:08049FD4 6C A0 0 ......
babyrop buuctf OGeek 2019 pwn

前端里那些你不知道的事儿之 【window.onload】

相信很多前端开发者在做项目时同时也都做过页面性能优化,这不单是前端的必备职业技能,也是考验一个前端基础是否扎实的考点,而性能指标也通常是每一个开发者的绩效之一。尤其马上接近年关,页面白屏时间是否过长、首屏加载速度是否达标、动画是否能流畅运行,诸如此类关于性能更具体的指标和感受,很可能也是决定着年底你... ......
前端 事儿 window onload

buuctf pwn hitcontraining_unlink unlink堆溢出利用

buuctf pwn hitcontraining_unlink 首先file文件,是64bit ELF nc查看逻辑,是一个增删改查的小程序 然后ida反编译查看main函数,各功能一目了然。注意到每次输入choice后,都要通过atoi()函数来将其转为整型,这是漏洞利用的关键之一 show_i ......

buuctf.pwn.get_started_3dsctf_2016

检查 发现没什么保护 然后进入IDA int __cdecl main(int argc, const char **argv, const char **envp) { char v4[56]; // [esp+4h] [ebp-38h] BYREF printf("Qual a palavrin ......
get_started started buuctf 3dsctf dsctf

【PWN】初见BROP

前言|与BROP的相遇 第一次BROP,它让我觉得pwn,或者说网安很妙,也很折磨 在遇到它之前,之前接触的题目都是简单的栈溢出,感觉没有啥有趣的,很简单,找gadget溢出就可以,一切都看得见 可遇到它之后,这是真的折磨,一切都是未知 但是因为未知,所以产生了美感,或许是因为摸不着,所以才有一种神 ......
BROP PWN

[BUUCTF]PWN-[OGeek2019]babyrop

点进sub_80486BB 注意alarm() 注意buf是v1,输出数是a1,if嵌套strncmp from pwn import * context(arch='i386', os='linux', log_level='debug') io = remote('node4.buuoj.cn' ......
babyrop BUUCTF OGeek 2019 PWN

[BUUCTF]PWN-bjdctf_2020_babyrop

注意本题需要用到ROPgadget 安装命令: sudo apt-get install python-capstone git clone https://github.com/JonathanSalwan/ROPgadget.git cd ROPgadget sudo python setup. ......
PWN-bjdctf babyrop BUUCTF bjdctf 2020

buuctf.pwn.jarvisoj_level2

这个题目,是缓冲区溢出 检测一下 No canary found : 可以看出没有栈保护 NO PIE: 没有地址随机化 然后分析题目 这一次我在网上看到了不同的解法,但是基本思路是一致的 主要看一下这个溢出 ssize_t vulnerable_function() { char buf[136] ......
jarvisoj_level jarvisoj buuctf level pwn

[BUUCTF]PWN-bjdctf_2020_babystack2

这题比较简单,注意无符号字符串变为负数之后会发生溢出即可 pro.symbols是输出函数地址的意思 r.recvuntil的使用是接收到字符串为止,然后将接受的数据返回 为什么会有两个payload是因为我想使用这种方式看看行不行 为什么是0x10,是因为main函数里不能大于10 为什么是0x0 ......

pwn刷题笔记

做几道pwn题,不使用ida的反汇编功能。 buuoj:ciscn_2019_n_1 检查保护机制,只开启了数据段不可执行 ida查看main函数汇编代码 根据汇编代码写出main函数的反汇编代码 setvbuf(cs:__bss_start, 0, 2, 0); servbuf(cs:stdin@ ......
笔记 pwn

30分钟带你熟练性能优化的那点儿事儿(案例说明)

前言 性能优化是数据库运维人员和中、高级软件开发人员的必备技能,很多时候老司机和新司机的区别就在写出的东西是否优化。 博主接触过近千家客户的系统,这些系统都存在着各种各样的性能问题。那么如何透彻的了解我们的数据库性能问题?今天就用一个案例来说明性能优化的那点儿事儿。 PS:很多技术人员对优化有一套自 ......
事儿 性能 案例

buuctf.pwn.ciscn_2019_c_1 1

检测一下啊 发现NX保护: 堆栈不可执行 然后没有地址随机化(很重要) 载入IDA int __cdecl main(int argc, const char **argv, const char **envp) { int option; // [rsp+Ch] [rbp-4h] BYREF in ......
buuctf ciscn 2019 pwn

buuctf.pwn.[第五空间2019 决赛]PWN5 1

题目类型:格式化字符串漏洞 首先检测checksec (重要的事情说三遍) 发现了 Stack: Canary found 所以我们没办法栈溢出了 题目的关键是 if ( atoi(ebp_80) == dword_804C044 ) // 如果passwd是某个随机数 { puts("ok!!") ......
第五空间 buuctf 2019 PWN5 PWN

【杂文】关于演出那些事儿

【杂文】关于演出那些事儿 其实主要是在别人的文章里摘抄提炼了一些东西,方便随时查阅。 〇:【“演出”】 演出:所有视听信息调用的总和。 大方向:和谐整体 参见《浅谈Galgame演出(下):国产游戏究竟差在哪儿,论「通感」对游戏的巨大影响》 实操:素材选择与整合 复用!复用!复用!素材复用!以尽可能 ......
杂文 事儿

buuctf.pwn.pwn1_sctf_2016

首先,一些准备操作就不做了 然后拖入IDA分析 发现是恶心的C++代码 关于replace(sz_ret, &input, sz_I)反编译问题 1),该replace不是std:string:replace,chatgpt告诉我的 2),如何反编译出3个参数? 从IDA进入replace函数,然后 ......
pwn pwn1_sctf buuctf 2016 pwn1

关于装饰器的那些事儿哈哈哈哈

到底什么是装饰器呢? 在不改变被装饰对象的源代码和调用方式的情况下被装饰对象添加新的的功能 装饰器并不是个新的技术 利用函数的参数、名称空间、函数名的用法、以及闭包函数的结合的结果 对修改封闭 对扩展开放 def login_auth(func_name): def inner(*args, **k ......
事儿

聊聊前端性能指标那些事儿

作为 C 端前端研发,除了攻克业务难点以外,也要有更深层的自我目标,那就是性能优化。这事儿说大不大,说小也不小,但难度绝对不一般,所涉及的范围优化点深入工程每个细胞。做好前端性能优化绝非简单之事!文章主要内容介绍前端性能考核指标及优化方案。 ......
前端 事儿 性能 指标

[BUUCTF]pwn-jarvisoj_fm

32位程序,开了NX和Canary,放入ida分析 查看system函数/bin/sh函数,看看可不可以ret2libc 第10行存在格式化字符串漏洞,我们可以利用它随意读写的特性让x=4 x_addr=0x804A02C payload ......
pwn-jarvisoj_fm jarvisoj BUUCTF pwn fm

pwn学习笔记-ROP和hijack GOT

前情提要 修改返回地址,让其指向溢出数据中的一段指令(shellcode) 修改返回地址,让其指向内存中已有的某个函数(return2libc) 修改返回地址,让其指向内存中已有的一段指令(ROP) 修改某个被调用函数的地址,让其指向另一个函数(hijack GOT) 相关知识 在上篇的背景知识中, ......
笔记 hijack pwn ROP GOT

pwn学习笔记-栈溢出

背景知识 函数调用栈 函数调用栈是指程序运行时内存一段连续的区域,用来保存函数运行时的状态信息。包括函数参数与局部变量等。 称之为栈是因为在函数调用时,调用函数的状态被保存在栈内,被调用函数的状态被压入调用栈的栈顶;在函数调用结束之后,栈顶的函数状态会被弹出,栈顶回复到调用函数之前的状态。 函数调用 ......
笔记 pwn

pwn学习笔记-什么是gcc、libc、glibc、libc++、libstdc++

在做pwn题目的时候总是会遇到自己不熟悉,不会的内容,每次都觉得非常难整理和理清,不如每遇到一次就做一次笔记,方便随时复盘。 gcc gcc在我学习c语言的时候,编译阶段有用到,和pwn题貌似关系不大,放一放。 libc libc是Linux下的标准C语言库,也是当初写helloworld里包含的头 ......
libc libstdc 笔记 glibc pwn

CTP查询持仓和持仓明细的那些事儿

很多CTP初学者遇到的一个头疼的事情, 就是持仓和持仓明细的查询. 这里简单介绍一下这二者的查询的处理, 希望有所帮助. 查询持仓明细 持仓明细是开仓成交产生的逐笔持仓. CTP查询持仓明细的请求函数是 int ReqQryInvestorPositionDetail (CThostFtdcQryI ......
事儿 CTP

前端依赖管理那点事儿

主要内容 📝 什么是依赖 📤 依赖从哪来 🤹 安装到哪儿 🎥 版本控制 🧑‍💻 哪些需要装,哪些不需要 🎨 package-lock.json 🛠 npm install 过程回顾 什么是依赖 有时候,依赖是一堆 可执行的代码 ; 有时候,依赖只是 一句声明。 1.当我们的业务逻辑中 ......
前端 事儿

buuctf.pwn.ciscn_2019_n_1

检测 开启了栈不可执行的检测 然后拖进IDA分析 比较赤裸 注意到,我们输入的是num1,但是比较的是num2 所以我们需要把num1溢出到num2 比较幸运的是,num1在num2的上方(空间角度) 所以我们可以把num1向下溢出到num2 char num1[44]; // [rsp+0h] [ ......
buuctf ciscn 2019 pwn

buuctf.pwn.warmup_csaw_2016

首先检测 托进IDA,简单分析一下函数 main函数有个溢出漏洞 然后整体存在一个flag函数 通过main图片知道,变量v5的地址是ebp-0x40 而我们的攻击的地址是ebp+0x08 2个地址之间差距了72字节,然后我么还要写入8字节 所以payload payload = b'Y' * (7 ......
warmup_csaw buuctf warmup 2016 csaw

buuctf.pwn.rip

文件检查 发现一个重要的东西: NO PIE 没有地址随机化 题目关键 然后IDA分析 可利用函数是main函数的gets((int64)v6) 然后程序的后门是__int64 shell() 所以的话,我们可以通过gest函数把v6溢出到main函数的返回地址 把mian函数的返回地址修改为我们的 ......
buuctf pwn rip

buuctf.pwn.test_your_nc

nc的全名是netcat 其主要用途是建立和监听任意TCP和UDP连接,支持ipv4和ipv6。 nc ip地址 ip端口 因此,它可以用来网络调试、端口扫描等等 先 checksec test [*] '/home/pwn/桌面/buuctf/1/test' Arch: amd64-64-litt ......
test_your_nc buuctf test your pwn