Pwn Collections

Date from 2016-07-11
Difficult rank: $ -> $$... easy -> hard

CISCN 2016


pwn-1 $$

From this challenge I find it better to learn about ELF file type & C program's construction
You'd better learn how to use pwntool or zio fluently
To find the strings you can use strings pwn1 | grep 'sh'

the program just accept 1 byte number (as char)

pwn-2

pwn-3

ISCC 2016


pwn-1 \$\$

pwn-2 \$\$\$

TJCTF 2016


pwn-1 $

pwn-2 $

Other CTFs


pwn1

Appendix


Pwn Summary

basic ideas

  • stack overflow
  • heap overflow
  • format-string vulnerability

basic methods

  • ret2stack (most basics)
  • ret2libc
  • ret2reg
  • ret2plt
  • rop

basic tools

  • IDA Pro
  • GDB (with peda)
  • Linux tools: file; strings; objdump; grep; cat; ...
  • radare2 (I didn't use it)
  • pwntool
  • zio
  • nc (the basic communication tool)

basic steps

  • file pwnfile to determine the filetype
  • if you can run, run it; if can't, try to create environment to run it
  • IDA-Pro to decompile
  • GDB-peda to dynamically debug
  • objdump -D pwnfile > text to analyse the whole code
  • strings pwnfile | grep 'sh' to search for specific strings
  • after analysing, you can use zio or pwntool to exploit

basic problems

  • little endian or big endian?
  • the data type you input? %d or %c or %u?

Resources

  • ELF file Type
  • linkers & loaders
  • gdb user manual
  • pwntools user manual
  • zio user manual
  • CSAPP
  • IDA Pro manual
  • 《程序员的自我修养》

Websites

Pwn~的更多相关文章

  1. iscc2016 pwn部分writeup

    一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAAB ...

  2. i春秋30强挑战赛pwn解题过程

    80pts: 栈溢出,gdb调试发现发送29控制eip,nx:disabled,所以布置好shellcode后getshell from pwn import * #p=process('./tc1' ...

  3. SSCTF Final PWN

    比赛过去了两个月了,抽出时间,将当时的PWN给总结一下. 和线上塞的题的背景一样,只不过洞不一样了.Checksec一样,发现各种防护措施都开了. 程序模拟了简单的堆的管理,以及cookie的保护机制 ...

  4. pwn学习(1)

    0x00 简介 入职之后,公司发布任务主搞pwn和re方向,re之前还有一定的了解,pwn我可真是个弟弟,百度了一番找到了蒸米大佬的帖子,现在开始学习. 0x01 保护方式 NX (DEP):堆栈不可 ...

  5. pwn学习之四

    本来以为应该能出一两道ctf的pwn了,结果又被sctf打击了一波. bufoverflow_a 做这题时libc和堆地址都泄露完成了,卡在了unsorted bin attack上,由于delete ...

  6. pwn学习之三

    whctf2017的一道pwn题sandbox,这道题提供了两个可执行文件加一个libc,两个可执行文件是一个vuln,一个sandbox,这是一道通过沙盒去保护vuln不被攻击的题目. 用ida打开 ...

  7. pwn学习之二

    刚刚开始学习pwn,记录一下自己学习的过程. 今天get了第二道pwn题目的解答,做的题目是2017年TSCTF的easy fsb,通过这道题了解了一种漏洞和使用该漏洞获取shell的方法:即格式化字 ...

  8. pwn学习之一

    刚刚开始学习pwn,记录一下自己学习的过程. 今天完成了第一道pwn题目的解答,做的题目是2017年TSCTF的bad egg,通过这道题学习到了一种getshell的方法:通过在大小不够存储shel ...

  9. kernel pwn 入门环境搭建

    刚开始上手kernel pwn,光环境就搭了好几天,应该是我太菜了.. 好下面进入正题,环境总共就由两部分构成,qemu和gdb.这两个最好都需要使用源码安装. 我使用的安装环境为 qemu:安装前要 ...

随机推荐

  1. cookies如何成为全局变量以及设置,删除,获取

    (一)cookie机制将信息存储于用户硬盘,因此可以作为全局变量 (1)保存用户登录状态.例如将用户id存储于一个cookie内,这样当用户下次访问该页面时就不需要重新登录了,现在很多论坛和社区都提供 ...

  2. 【目录】本博客其他.NET开源项目文章目录

    本博客所有文章分类的总目录链接:本博客博文总目录-实时更新 1.本博客其他.NET开源项目文章目录 37..NET平台开源项目速览(17)FluentConsole让你的控制台酷起来 36..NET平 ...

  3. Event事件

    妙味课堂-Event事件 1.焦点:当一个元素有焦点的时候,那么他就可以接受用户的输入(不是所有元素都能接受焦点) 给元素设置焦点的方式: 1.点击 2.tab 3.js 2.(例子:输入框提示文字) ...

  4. 聊聊excel生成图片的几种方式

    目录     I:需求.  II:实现思路.     III:实现方式.     IV:优缺点分析.     V:结论.     VI:wps安装与配置. 正文 1.需求:把excel生成等比的图片. ...

  5. 无限循环轮播图之结构布局(原生JS)

    html部分 <div class="box" id="box"> <ul> <li><img src="i ...

  6. 门面模式的典型应用 Socket 和 Http(post,get)、TCP/IP 协议的关系总结

    门面模式的一个典型应用:Socket 套接字(Socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息: 连接使用的 ...

  7. 基於tiny4412的Linux內核移植--- 中斷和GPIO學習(1)

    作者 彭東林 pengdonglin137@163.com 平臺 tiny4412 ADK Linux-4.4.4 u-boot使用的U-Boot 2010.12,是友善自帶的,爲支持設備樹和uIma ...

  8. 安装MYSQL详细教程 版本:mysql-installer-community-5.7.16.0 免安装版本和安装版本出现错误的解决

    一.版本的选择 之前安装的Mysql,现在才来总结,好像有点晚,后台换系统了,现在从新装上Mysql,感觉好多坑,我是来踩坑,大家看到坑就别跳了,这样可以省点安装时间,这个折腾了两天,安装了好多个版本 ...

  9. Write thread-safe servlets [reproduced]

    If you write Web applications in Java, the servlet is your best friend. Whether you write Java Serve ...

  10. new/delete重载

    在c++中,有时我们需要在运行阶段为一个变量分配未命名的内存,并使用指针来访问它,这里就可以用到new关键字.另外需要指出的是,new分配的内存块通常与常规变量分配的内存块不同,常规变量的值都储存在被 ...