Author Topic: How do you find a 0day ? (web apps)  (Read 3845 times)

0 Members and 1 Guest are viewing this topic.

Offline 0wn4g3

  • /dev/null
  • *
  • Posts: 7
  • Cookies: 1
    • View Profile
How do you find a 0day ? (web apps)
« on: June 03, 2013, 12:23:58 pm »
Hello guys.
I thought to open this thread so everybody shares\tells how he finds a 0day in a web application.
You do it manually , or automatically with scanners\tools ?
I`d like to hear your ideas.

~0wn4g3

Offline namespace7

  • Sir
  • ***
  • Posts: 561
  • Cookies: 115
  • My Brother's Keeper
    • View Profile
Re: How do you find a 0day ? (web apps)
« Reply #1 on: June 03, 2013, 06:52:11 pm »
No you dont do it automatically with scanners/tools.
No tool exists that can find an 0day for you. Well, theoretically, a tool could accidentally or randomly brake something in a program that might reveal some problems that you might or might not exploit, but in practice I don't think this happens.
Better go learn C, ASM, debugging, reversing, shellcoding. I think thats enough keywords to get you reading.
See you in 10 years.


Its not something you learn in a month.
"A programmer’s greatest enemy isn’t the tools or the boss or the artists or the design or the legacy code or the third party code or the API or the OS. A programmer’s greatest enemy is getting stuck.
Therefore a crucial step to becoming a better programmer is learning how to avoid getting stuck, to recognize when you’re stuck, and to get unstuck." -Jeff Wofford

Offline Alin

  • Peasant
  • *
  • Posts: 56
  • Cookies: -4
    • View Profile
Re: How do you find a 0day ? (web apps)
« Reply #2 on: June 04, 2013, 04:59:55 pm »
No you dont do it automatically with scanners/tools.
No tool exists that can find an 0day for you. Well, theoretically, a tool could accidentally or randomly brake something in a program that might reveal some problems that you might or might not exploit, but in practice I don't think this happens.
Better go learn C, ASM, debugging, reversing, shellcoding. I think thats enough keywords to get you reading.
See you in 10 years.


Its not something you learn in a month.
For web application hacking, that is a ridiculous set of skills. I would encourage topic starter to start out by learning about the HTTP protocol, SQL and a scripting language e.g. PHP.


0-days in web apps are easy, but usually not really interesting. A CSRF vulnerability in a WordPress plugin is not interesting at all. An arbitrary code execution in the base WordPress system is interesting.


A lot of web applications are build on top of an open platform like Drupal, TYPO3, WordPress. You can just download them and look through the code.

Offline namespace7

  • Sir
  • ***
  • Posts: 561
  • Cookies: 115
  • My Brother's Keeper
    • View Profile
Re: How do you find a 0day ? (web apps)
« Reply #3 on: June 04, 2013, 08:16:47 pm »
You are of course right alin. I was not being specific at all, just mentioned what you want to learn for conventional vulnerability/exploit finding/writing in binary software.

So sorry OP, my bad I wasn't answering in relation to what you wanted to know.
"A programmer’s greatest enemy isn’t the tools or the boss or the artists or the design or the legacy code or the third party code or the API or the OS. A programmer’s greatest enemy is getting stuck.
Therefore a crucial step to becoming a better programmer is learning how to avoid getting stuck, to recognize when you’re stuck, and to get unstuck." -Jeff Wofford

Offline scuarplex

  • /dev/null
  • *
  • Posts: 9
  • Cookies: 1
    • View Profile
Re: How do you find a 0day ? (web apps)
« Reply #4 on: June 04, 2013, 10:43:58 pm »
No you dont do it automatically with scanners/tools.
No tool exists that can find an 0day for you. ¿

There are tool for finding 0days actually such as:


RIPS: http://sourceforge.net/projects/rips-scanner/
SWAT:https://www.owasp.org/index.php/Category:OWASP_SWAAT_Project


Among others which performs an static analysis (Code Review).


Of course you can't compare it with a manual static/dynamic analysis of a Web Application.


There are logic flaws which would be impossible for a Tool to find out. And regular vulnerabilities which have to be exploited in some other kind of way since it's not always matching the defined heuristic.

Wanna learn how to find 0days in Web Apps?
  • Learn to code
  • Learn how to code secure
  • Learn how do static and dynamic analysis
Check OWASP for references
Quote
0-days in web apps are easy, but usually not really interesting. A CSRF vulnerability in a WordPress plugin is not interesting at all. An arbitrary code execution in the base WordPress system is interesting

Interest depends on how far your imagination can go. A CSRF attack well performed can create an administrator in a sensitive blog.


The xmlrpc in Wordpress didn't seem to have a great usage, but when you combine it with a small botnet you could have 90% of the Wordpress Blogs (at least when it was realeased) performing a DDoS attack at some target of your choice
« Last Edit: June 04, 2013, 10:47:21 pm by scuarplex »

Offline Alin

  • Peasant
  • *
  • Posts: 56
  • Cookies: -4
    • View Profile
Re: How do you find a 0day ? (web apps)
« Reply #5 on: June 04, 2013, 11:18:45 pm »

Interest depends on how far your imagination can go. A CSRF attack well performed can create an administrator in a sensitive blog.

CSRF in a plugin is not interesting, but I agree it can be exploited for an ultimate impact that is alot worse than the actual CSRF and should it be fixed.


Secunia just published a CSRF in the qTranslate plugin for WordPress today that is not fixed.


edit: Just for reference, the qtranslate plugin has +800k downloads
« Last Edit: June 04, 2013, 11:19:55 pm by Alin »

Offline BangYa

  • NULL
  • Posts: 3
  • Cookies: 1
    • View Profile
Re: How do you find a 0day ? (web apps)
« Reply #6 on: June 06, 2013, 03:52:05 pm »
The best be is to do it manually.  Automated tools are used just really for "Risk/Vulnerability Management".  Use a tool like BurpSuite and start browsing and look for 302 errors and such, which could be indicative of an issue, but not necessarily.  Its a lot of hit and miss, but once you find one its fun. 

Offline whit3 f0x

  • NULL
  • Posts: 2
  • Cookies: 0
  • Eyes and ears wide open.
    • View Profile
Re: How do you find a 0day ? (web apps)
« Reply #7 on: June 07, 2013, 09:49:18 pm »
Unless I am mistaken most people generally find them as they are browsing through the source code of an application.

From there they test them on a multitude of applications running the same software and if it works globally they are then either kept privately or released as a "0day".

Offline namespace7

  • Sir
  • ***
  • Posts: 561
  • Cookies: 115
  • My Brother's Keeper
    • View Profile
Re: How do you find a 0day ? (web apps)
« Reply #8 on: June 08, 2013, 05:47:01 pm »
Unless I am mistaken most people generally find them as they are browsing through the source code of an application.

From there they test them on a multitude of applications running the same software and if it works globally they are then either kept privately or released as a "0day".

WTF? O.o
"A programmer’s greatest enemy isn’t the tools or the boss or the artists or the design or the legacy code or the third party code or the API or the OS. A programmer’s greatest enemy is getting stuck.
Therefore a crucial step to becoming a better programmer is learning how to avoid getting stuck, to recognize when you’re stuck, and to get unstuck." -Jeff Wofford

Offline Alin

  • Peasant
  • *
  • Posts: 56
  • Cookies: -4
    • View Profile
Re: How do you find a 0day ? (web apps)
« Reply #9 on: June 08, 2013, 07:46:39 pm »
Unless I am mistaken most people generally find them as they are browsing through the source code of an application.

From there they test them on a multitude of applications running the same software and if it works globally they are then either kept privately or released as a "0day".


0-days in software are found by


1. fuzzing applications, but this can take a lot of time looking through crash dumps to determine if the crash can be exploited.
2. Trying to accomplish other stuff and having the application do unexpected things.
3. Looking specifically at source code or assembly for vulnerabilities


If you are looking for vulnerabilities in general software, go for programs that implements some kind of parser, they are usually broken in some way.


Most critical vulnerabilities are coordinated with vendors before being disclosed. Every now and then, they are found in the wild.

Offline frog

  • Knight
  • **
  • Posts: 232
  • Cookies: 16
    • View Profile
Re: How do you find a 0day ? (web apps)
« Reply #10 on: June 10, 2013, 03:58:09 am »
Get the book "The Web Application Hackers Handbook". This book will answer all your questions and you will mos def learn along the way. Learning is the trick. Don't think you're ever done, because you're not. That is the point of being a human anyway, to evolve our consciousness and experience new things.

Offline AnarchyAngel

  • Peasant
  • *
  • Posts: 50
  • Cookies: 1
  • mmmm beer
    • View Profile
Re: How do you find a 0day ? (web apps)
« Reply #11 on: June 22, 2013, 04:59:40 am »
if its a web app like php you can get a lead on things with a quick egrep. it will take knowledge of php or what ever lang you are fuzzing.
https://dc414.org - MKE area DEFCON group