Thursday, 29 September 2016

Part 3 | Stack-based Buffer Overflow exploitation to shell by example

Standard
This is continuation of my guide on binary exploitation, in this part we are going to cover return-to-libc attack which was invented to defeat DEP/Non executable stack. As you can remember, we have used the fact that stack is executable in the previous part of this guide. 5. DEP/NX Today all of the...

Wednesday, 28 September 2016

Part 2 | Stack-based Buffer Overflow exploitation to shell by example

Standard
In part 1 we've covered basic mechanisms of exploitation, but there is one caveat about example from part 1, that is we are not executing our code, but only changing the code path to run function that is already inside the binary. This sometimes can be enough, but most of the times, we would like to...

Tuesday, 27 September 2016

Part 1 | Stack-based Buffer Overflow exploitation to shell by example

Standard
There are a lot of tutorials out there about exploitation of memory corruption bugs, but I struggled to find step-by-step ones, that would start with simplest examples possible. So I figured that while learning more advanced techniques of exploitation I can dump my knowledge about those which I already...

Thursday, 22 September 2016

Magic behind python WAT moments

Standard
So once upon a time you find that thing in your programming language that behaves not really how you would expect it to. This post will be about those moments when you are programming in python. 1. 'is' on small ints This is one of the most popular one, let's say you write something along those lines (which you probably never should actually, I will explain why in a sec): >>> a = 5 >>>...