SEARCH
TOOLBOX
LANGUAGES
modified on 29 June 2010 at 04:47 ••• 2,416 views

O2 .NET AST Scanner - HacmeBank Example

From

Jump to: navigation, search

The following screenshots show the O2's .NET Scanner in action on the HacmeBank's source code

Contents

Part 1 : create the MethodStream

A MethodStream is a file which contains all methods that are called from a particular source method.

For example the HacmeBank's WebService method:

Image:5_5_2010_1_12_00_AM_tmp3CE0.jpg

who calls the DataFactory method:

Image:5_5_2010_1_18_56_AM_tmp3CF6.jpg

who calls the SqlEngine method:

Image:5_5_2010_1_18_35_AM_tmp3CF5.jpg

So, in this case the MethodStream for the CreateUser WebService method looks like this:

Image:5_5_2010_1_26_26_AM_tmp3D01.jpg

and

Image:5_5_2010_1_27_39_AM_tmp3D02.jpg

(the above auto generated methods are methods that the engine was able to resolve but the source code was not available)

Part 2: Create the CodeStream

The CodeStream is a unique data-flow path created from a starting point inside a provided MethodStream

Image:5_5_2010_1_53_24_AM_tmp3D1A.jpg

Image:5_5_2010_1_53_54_AM_tmp3D1B.jpg

Part 3: Following Taint Step by Step

  • step 1:

Image:5_5_2010_1_54_52_AM_tmp3D1C.jpg

  • step 2:

Image:5_5_2010_1_56_55_AM_tmp3D23.jpg

  • step 3:

Image:5_5_2010_1_57_49_AM_tmp3D24.jpg

  • step 4:

Image:5_5_2010_2_02_10_AM_tmp3D2E.jpg

  • step 5:

Image:5_5_2010_2_01_25_AM_tmp3D2D.jpg

  • step 6:

Image:5_5_2010_2_05_29_AM_tmp3D36.jpg

  • step 7:

Image:5_5_2010_2_05_53_AM_tmp3D37.jpg

  • step 8:

Image:5_5_2010_2_07_41_AM_tmp3D41.jpg

  • step 9:

Image:5_5_2010_2_09_18_AM_tmp3D42.jpg

Part 4: Graph with trace

Image:5 5 2010 2 12 19 AM tmp3D43.jpg

MediaWiki Appliance - Powered by TurnKey Linux