mailing list archives
Re: Developing an Exploit Code
From: Nick Besant <lists () hwf cc>
Date: Fri, 16 Nov 2007 16:32:42 +0000
Dhruva Sagar wrote:
On Nov 16, 2007 8:29 PM, Dev Null <devj.nullj () gmail com> wrote:
I am trying to learn how an exploit code is developed. I have googled
for help but
did not arrive at anything useful. What I have is only poc's and
descriptions of vulnerabilities at various places. I would like to
learn how an exploit can be developed looking at a poc. Source of
existing exploits would prove helpful but I could not find anything.
It would really help if somebody can:
1- Point to a resource where I can read something about development of
2- Example source code of some existing vulnerabilities would really help.
There are a lot resources where you can find exploit codes.
This one's one of my favourites, try it : http://milw0rm.com
Regarding development of exploit code, well that's a pretty vague
question...exploit codes are developed just like any other program. If
you know how to program, in any programming language, you shouldn't
find it difficult to learn how to develop exploit codes. Developing an
exploit is the easy part my friend, it's find the vulnerability that
takes the bulk of the effort.
Exploit code simply exploits the vulnerability programmatically...hope
Developing exploit code is (usually) an iterative process. Once you
have a vulnerability - as above, one of the harder parts of the process
- you would proceed to write code specifically to exploit that
Exploit code is usually developed specifically for a single
vulnerability and the process varies in complexity. If you are
performing a vulnerability assessment of an application and find some
unexpected behaviour, then you would write code to attempt to exploit
that specific behaviour; for instance, you may have noticed that a web
application returns an unusual error when you send unexpected data, so
you write some code to send various types / amounts of data to it to see
if you can exploit this behaviour. You then go through the process of
refining it until you've got something that actually produces a result,
although it's worth noting that not every issue discovered has a
corresponding (useful) exploit.
1. Find vulnerability
2. Write some code to start sending data/changing things
3. Test the code
4. Modify the code
5. Repeat 3 and 4 until desired result achieved, patience exhausted, or
no further avenues available.
I would suggest as a starter;
-old but still informative "Smashing the stack for fun and profit" (google)
Understanding how vulnerability assessment tools work will also provide
you with a place to start (e.g.
Are you intending to find your own vulnerabilities to exploit or develop
exploits to published vulnerabilities ? If you're finding your own that
you only need to work on your target environment, the process is a
little simpler - you don't need to worry about environments with
slightly different configurations etc.