Git Product home page Git Product logo

6.858-mit-lab1's Introduction

README

expolit-2a, expolia-2b

expolit-2a, expolia-2b are easier, just pass url longer than the buffer, will pass the test.

expolit-3

  • I exploit the reqpath in process_client.
  • I install VMWARE in my mac, then install ssh server in linux, use my mac terminal to ssh connect the linux, then write code and debug. It is much easier to code in this way.
  • When I try to get the return address, the instructions seems not correct, in gdb, the return address in 2048+20 bytes bigger than the reqpath address, not 2048. below is my bash to debug.
//open one console to launch the webserve
./clean-env.sh ./zookld zook-exstack.conf

//another console to use gdb
gdb -p $(pgrep zookfs-exstack)
b process_client
continue

// third console to send http and debug now
./expolit-3y localhost 8080

//see the gdb agian, it break now
//here p is still some init value
p reqpath
//get reqpath address
p &reqpath  
//see current stack frame here
info frame
//the saved eip address is our return address,
//the ret address is 2068 bigger than reqpath address

n
n
n

//p becomes the url value here.
p reqpath
info frame
//we can see that the content of ret address now has been changed, comparing the last time.

//we can use x/s to check the value in some address 
x/s 0xbfffee08 

expoit-4a.py

still use reqpath to do return libc

the dubug way is similar.
a few things need to pay attention:

//this command need to change to below one
gdb -p $(pgrep zookd)
b process_client
c
//get unlink address
p unlink
//get exit address
p exit
//use the way in expolit3 to get our string address, 
//can use return address+12 get it
//use x/s in gdb double check if the address is right


// launch server way is different
./clean-env.sh ./zookld zook-nxstack.conf

expolt.4b.py

use similar way to do,to launch gdb
gdb -p $(pgrep zookfs)
  • I put the docs helps me a lot in more_info dir.

6.858-mit-lab1's People

Contributors

lily-zhangying avatar

Watchers

 avatar  avatar  avatar

Forkers

diaz-de-vivar

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.