Giter VIP home page Giter VIP logo

pwnable-writeups's Introduction

Pwnable Writeups

My personal writeups for pwnable.kr.

Only Toddler's Bottle challenges are included because I didn't solve the others yet out of respect for Rule 3:

3. Challenges in Toddler's Bottle are allowed to freely post the solutions online. However, please refrain from posting solution for challenges in other categories. But if you insist, post easy ones (solved by many people) and do not spoil too much details for the sake of fun.

Disclaimer

All examples using python refer to versions 2.* of the language. Python 3.* won't work out-of-the-box because of the way it handles encoding with utf-8.

Todo

  1. Do unlink and its writeup.
  2. Translate to portuguese.

Tips

Suppose you are stuck but don't want to spoil all the fun.

Here are some quick tips that may help you along the way:

fd

Read wikipedia's article on file descriptors.

collision

Find values that result in the hash after being summed up. Remember to input the result as little endian.

bof

Read about buffer overflows in the classic Smashing the Stack for Fun and Profit. Also, LiveOverflow's playlists are awesome.

flag

You can't reverse a packed binary.

passcode

Read about the Procedure Linkage Table (PLT) and the Global Offset Table (GOT).

This article and this entry on exploit-db are also very enlightening.

random

Random values need proper seeding, otherwise they become predictable.

input

Read about command substitution, I/O redirection and netcat.

leg

Learn a bit about ARM to figure out the return values. Here's a great manual.

mistake

As the site says, read about C operator's precedence to find out the mistake.

shellshock

Read wikipedia's article on shellshock.

coin1

Read about binary search (for the problem) and sockets (to programatically interact with the game).

blackjack

It's nothing fancy, just a common logic mistake. Try to trick the game.

lotto

It's nothing fancy, just a common logic mistake. Some very simple bruteforcing is needed (less than 50 tries).

cmd1

Read wikipedia's article on $PATH.

cmd2

Be creative with bash. There's more than one solution.

uaf

Read this beginner's guide on Use-After-Free and this whitepaper on Dangling Pointers.

codemap

Read about daehee's codemap plugin for IDA.

memcpy

Read about the MOVNTPS instruction and Alignment in C.

asm

Read about shellcode creation. If you feel you don't quite get the SmashTheStack article yet, read this newbie-friendly guide:

Writing 64-Bit Shellcode (Part 1) & Writing 64-Bit Shellcode (Part 2)

unlink

Watch LiveOverflow's videos on malloc()/free() & unlink() exploitation and read Exploiting the Heap.

Once upon a free() is also very informative.


Thanks

pusheen

Special thanks to Ingrid Spangler for introducing me to this great hobby.

pwnable-writeups's People

Contributors

macmod avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

pwnable-writeups's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.