pwnable
pwd_3
这个作者很懒,什么都没留下…
展开
-
pwnable之coin1
coin1题目的意思是在一堆硬币中有一枚假硬币,假硬币的重量是9,而正常的是10。现在有N枚硬币,你可以询问C次。每次询问返回的是你询问的硬币的质量之和。询问C次之后,就要告诉它假的硬币的编号。比如[server] :N=4 C=2[client] :0 1[server] :20[client] :3[server] :10[client] :2[原创 2016-04-04 16:06:56 · 1556 阅读 · 0 评论 -
pwnable之blackjack
pwnable之blackjack经典的21点游戏(黑杰克),然而本人并没有玩过,还要看看规则(┬_┬)。从题目给的源代码网址(点击打开链接)下载它的代码,对它分析int k;//发的牌的值int l;//玩家增加的点数int d;//电脑增加的点数int won//赢的次数int loss;//输的次数int cash = 500;//初始现金int bet;//你押的注原创 2016-04-07 11:36:49 · 1058 阅读 · 0 评论 -
pwntools pwnlib.gdb
pwntools是很好的一个分析pwn的python库,与gdb一起使用能即时地分析文件,查看数据首先附上pwntools里pwnlib.gdb的参数设置pwnlib.gdb.attach(target, execute = None, exe = None, arch = None) → None[source]参数:**target** – 要附加的目标进程,可原创 2017-03-15 20:10:15 · 3351 阅读 · 0 评论 -
pwnable之codemap
pwnable之codemap题目made by YourButterflyI have a binary that has a lot information inside heap.How fast can you reverse-engineer this?(hint: see the information inside EAX,EBX when 0x403E65 is execute原创 2017-07-21 11:53:35 · 693 阅读 · 0 评论 -
pwnable之cmd2 & & shell 命令 绕过技巧
pwnable之cmd2与cmd1 不同的是,它对argv[1]进行了过滤int filter(char* cmd){ int r=0; r += strstr(cmd, "=")!=0; r += strstr(cmd, "PATH")!=0; r += strstr(cmd, "export")!=0; r += s原创 2017-08-14 09:55:14 · 679 阅读 · 0 评论 -
pwnable之memcpy
问题描述Are you tired of hacking?, take some rest here.Just help me out with my small experiment regarding memcpy performance. after that, flag is yours.http://pwnable.kr/bin/memcpy.cmemcpy.c// compiled原创 2017-09-25 19:31:22 · 1434 阅读 · 1 评论 -
pwnable之asm
问题描述Welcome to shellcoding practice challenge.In this challenge, you can run your x64 shellcode under SECCOMP sandbox.Try to make shellcode that spits flag using open()/read()/write() systemcalls onl原创 2017-09-27 00:51:05 · 663 阅读 · 0 评论 -
pwnable之unlink
问题分析程序自己写了一个实现unlink的程序,没有任何check,并且存在堆溢出经典的unlink attack,这里就不介绍了。//unlinkbk_chunk = p->bkfd_chunk = p->fdbk_chunk->fd = fd_chunkfd_chunk->bk = bk_chunksolv.pyfrom pwn import *context.log_level =原创 2017-09-29 21:54:37 · 678 阅读 · 0 评论 -
pwnable之brainfuck
问题分析程序没有对p的访问空间做限制,导致可以任意内存读写,在.bss段前面是存放got的地方。基本思路是:先读取got中的值泄露libc地址,再根据bf_libc.so计算其他函数偏移。接下来是写,覆盖原有got值为指定函数地址来getshell遇到问题最开始想覆盖putchar的got值为system的地址,但无法控制system的参数。思维僵化真的是,怎么就没想到覆盖成__start的地址,原创 2017-09-29 22:01:50 · 464 阅读 · 0 评论