pwnable.kr
think_ycx
这个作者很懒,什么都没留下…
展开
-
【pwnable.kr】 shellshock
本关主要是考察shellshock漏洞。ssh shellshock@pwnable.kr -p2222登陆后看一下权限:shellshock@ubuntu:~$ ls -altotal 980drwxr-x--- 5 root shellshock 4096 Oct 23 2016 .drwxr-xr-x 92 root root ...原创 2018-10-06 01:26:31 · 461 阅读 · 0 评论 -
【pwnable.kr】coin1 二分查找
本关主要考察二分查找和pwn脚本编写的能力吧。nc pwnable.kr 9007 连接服务器信息如下:➜ 11-coin1 git:(master) nc pwnable.kr 9007 --------------------------------------------------- - Shall we play a game? ...原创 2018-10-06 23:27:01 · 549 阅读 · 0 评论 -
【pwnable.kr】 uaf - C++虚函数调用过程 - glibc fastbin
uaf - 8 pt Mommy, what is Use After Free bug?ssh uaf@pwnable.kr -p2222 (pw:guest)pwned (2018) times. // date 2018-10-10这关一年前已经做过了,再做的时候已经忘了一大半了....主要考察的知识点有:C++的虚函数调用原理、glibc fastbin的管理机制、U...原创 2018-10-14 01:08:45 · 421 阅读 · 0 评论 -
【pwnable.kr】memcpy - RDSTC指令对齐 - malloc chunk
memcpy - 10 ptAre 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.css...原创 2018-10-15 01:18:03 · 857 阅读 · 0 评论 -
【pwnable.kr】 blackjack - 成为百万富翁(millionaire)
本关是一个blackjack游戏(21点),源码在这里https://cboard.cprogramming.com/c-programming/114023-simple-blackjack-program.html。 看了一下游戏规则,玩家和AI一起玩牌,起初有500块,首先下注,之后每次各自会收到一张随机的牌(点数1-13),最先达到21点的人赢。每次拿到牌之后,你可以选择hit...原创 2018-10-08 19:54:41 · 368 阅读 · 0 评论 -
【pwnable.kr】lotto - 彩票的中奖概率...
lotto - 2 pt [writeup] Mommy! I made a lotto program for my homework.do you want to play?ssh lotto@pwnable.kr -p2222 (pw:guest)scp -P 2222 -p lotto@pwnable.kr:/home/lotto/* ./下载程序。根据下载程序中的...原创 2018-10-08 21:40:11 · 2871 阅读 · 0 评论 -
【pwnable.kr】cmd1 - putenv() strstr() bypass
cmd1 - 1 ptMommy! what is PATH environment in Linux?ssh cmd1@pwnable.kr -p2222 (pw:guest)登陆服务器之后,cmd1有cmd1_pwn的group权限,可以读flag。cmd1@ubuntu:~$ ls -ltotal 20-r-xr-sr-x 1 root cmd1_pwn 8513 ...原创 2018-10-09 21:42:36 · 739 阅读 · 0 评论 -
【pwnable.kr】 cmd2 - bypass with shell builtin commands & etc & system实现
cmd2 - 9 ptDaddy bought me a system command shell.but he put some filters to prevent me from playing with it without his permission...but I wanna play anytime I want!ssh cmd2@pwnable.kr -p2222 ...原创 2018-10-10 01:05:47 · 315 阅读 · 0 评论 -
【pwnable.kr】 asm seccomp sadbox & 64位shellcode 读 flag
题目信息nc之后查看信息如下。根据readme提示,本关是要求登陆服务器后,nc 9026端口连接asm程序来读flag。flag文件名很长。看了源码发现程序做了如下操作。mmap了一块内存读取shellcode并执行,开启了seccomp沙箱[1],限制只能使用open read write exit exit_group系统调用。因此本关就是利用这些系统调用来写64位下读fla...原创 2018-11-22 13:41:26 · 773 阅读 · 0 评论 -
【pwnable.kr】 blukat - 权限设置不当导致password可读
本关描述这一关看着描述就挺奇怪的,scp下来之后居然把password改copy下来了,内容是cat: password: Permission denied。照理没有权限读的话是不会copy下来的。ssh上去看一下就明白了(如下图),当前用户在blukat_pwn组,因此是可以读password的。看一下代码写的没问题,读取password和输入比较,如果比较成功就输出flag。...原创 2018-11-24 00:43:49 · 737 阅读 · 0 评论 -
【pwnable.kr】horcruxes - 伏地魔的7个魂器 gets栈溢出 截断 atoi转化
本关信息伏地魔吧自己分裂的灵魂藏在了7哥魂器中…这个描述666。本关要求我们找到所有的魂器然后ROP似乎就可以拿flag了。本关没有给源码,上IDA分析吧。本地运行前安装32位libseccomp库,apt-get install libseccomp-dev:i386。init初始化abcdefg7个int值,保存在bss段,并计算sum。abcdefg的值生成时使用随机数做为种...原创 2018-11-24 00:47:05 · 1605 阅读 · 4 评论 -
【pwnable.kr】 mistake - 运算符优先级
这关很有意思,题目本意是一道源码中运算符优先级导致的问题,如果直接看binary的话,看反编译代码就不会被运算符优先级迷惑。先看一下反编译代码,main函数。程序判断/home/mistake/password能否打开,再没有别的文件打开的情况下open一般返回的fd是3。之后从stdin read 10byte,再用scanf读取10byte 进行xor运算,之后两者比较,如果相等就输出...原创 2018-10-02 15:36:18 · 557 阅读 · 0 评论 -
【pwnable.kr】 leg - ARM汇编 PC LR 寄存器 、THUMB汇编
本关主要涉及了一些arm汇编的知识。阅读leg.c源码发现,本关调用scanf从标准输入读取key后,判断是否和key1 key2 key3 三个函数的返回值的和相等。如果相等,则输出flag。但是ARM汇编的函数返回值和寄存器R0有关,并且key函数中涉及到了PC LR 寄存器的操作。因此需要阅读汇编。int main(){int key=0;printf("Daddy h...原创 2018-10-01 17:26:04 · 679 阅读 · 0 评论 -
【pwnable.kr】fd
最近准备整理一下之前的pwn writeup。有考虑过整理发表在新博客上,但是最近发现csdn的编辑器用的越来越顺手了,于是先写在这上面吧。 题目地址 http://pwnable.kr/play.php下载程序scp -P 2222 -p fd@pwnable.kr:/home/fd/* ./题目逻辑程序调用read函数从fd = atoi(argv[1]) - 46...原创 2018-07-08 16:02:26 · 260 阅读 · 0 评论 -
【pwnable.kr】 collision
下载程序scp -P 2222 -p col@pwnable.kr:/home/col/* ./程序获取length为20的argv[1],使用check_password函数将argv[1]运算后,和hashcode (int)0x21DD09ECh比较,如果相等,拿到flag。check_password中,将a1按照DWORD 4byte取5个signed int累加返回。因此...原创 2018-07-08 16:11:48 · 321 阅读 · 0 评论 -
【pwnable.kr】bof
下载程序wget http://pwnable.kr/bin/bofwget http://pwnable.kr/bin/bof.c程序调用gets获取字符串s [ebp-2Ch]和传入的参数a1 [ebp+8] 比较,stack overflow padding:0x2C + 0x8。IDA pseudocodeunsigned int __cdecl func(int a1){ cha...原创 2018-07-08 16:19:13 · 538 阅读 · 0 评论 -
【pwnable.kr】flag
upx解压即可看见flag原创 2018-07-08 16:24:49 · 365 阅读 · 0 评论 -
【pwnable.kr】 passcode
下载程序scp -P 2222 -p passcode@pwnable.kr:/home/passcode/* ./漏洞信息程序main函数中,welcome和login存在栈复用,welcome调用gets向ebp-0x70读入100个字符。 login中scanf没有取地址,因此会把[ebp-10h]和[ebp-0xch]的内容当成要写入的地址。在welcome中,我们有一次布置数据的机会,可...原创 2018-07-09 15:42:50 · 566 阅读 · 0 评论 -
【pwnable.kr】random
downloadscp -P 2222 -p random@pwnable.kr:/home/random/* ./程序输入用scanf %d 读取一个signed int和rand()异或,如果结果为0xdeadbeef进入system流程。由于rand()调用前没有调用srand(),因此产生的结果可以认为是不变的。 关于异或:A ^ B = C -> A ^ C = B -> ...原创 2018-07-09 15:43:00 · 310 阅读 · 0 评论 -
【pwnable.kr】input
下载程序(注意要用bash,zsh报错zsh: no matches found: input2@pwnable.kr:/home/input2/*)scp -P 2222 -p input2@pwnable.kr:/home/input2/* ./原创 2018-07-10 01:58:40 · 929 阅读 · 0 评论 -
【pwnable.kr】unlink - unlink4字节写,劫持ecx到堆中获取main_retaddr
题目信息直接看源码:这题思路很清晰,程序模拟了最简单的unlink过程,unlink的本质就是把中间的chunk从前后解链,同时修改前面chunk的fd和后面chunk的bk。如果可以溢出了会被unlink的chunk,32bit下在FD->bk=BK时,拥有一次4bit写的机会,同时需要保证BK->fd可写(BK->fd=FD同理)。拥有任意地址写的机会...原创 2018-11-23 23:21:50 · 340 阅读 · 0 评论