Coder Social home page Coder Social logo

bmsousa / dei-agc-csam Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 4.64 MB

CSAM

Makefile 0.43% C 47.49% Shell 0.25% M4 0.28% Python 2.43% Perl 0.01% HTML 43.39% Awk 0.01% XSLT 0.90% CSS 0.01% Emacs Lisp 0.05% PHP 0.11% Roff 0.12% CMake 0.01% C++ 0.01% RPGLE 4.27% Max 0.01% Clean 0.04% DIGITAL Command Language 0.04% JavaScript 0.16%

dei-agc-csam's Introduction

AFL Fuzzing Applications

American Fuzzy Lop (AFL) is โ€œa security-oriented fuzzer that employs a novel type of compile-time instrumentation and genetic algorithms to automatically discover clean, interesting test cases that trigger new internal states in the targeted binary.โ€

It leverages genetic algorithms to construct inputs to the program and learn code paths. It also provides compiler instrumentation and applies multiple mutation strategies.

Exercises

Quickstart

Simple C program with bugs manipulating strings. Intends to introduce the basics of AFL usage.

Harness

A test harness is a collection of software and test data configured to test a program unit by running it under varying conditions and monitoring its behavior and outputs. For AFL, it is required to have a program that receives input from a file, such as STDIN, and can be executed. In this way, harness as a wrapper to libraries that are meant to be tested.

It manages the reading of input from test cases and forwards the information to the functions.

Also, can be used to optimize the efficiency of AFL by applying mechanisms such as persistent mode, that allows to reuse parts of the initialization of the program across multiple executions.

Exercise 1

Combination of the previous learned techniques to explore libxml2, a XML parser library. In this case, you should develop a harness and execute the fuzzing of the library.

Tools

To explore the bugs identified and understand whether they are security vulnerabilities, one can use gdb. gdb is a C debugger very used to help in development and testing.

dei-agc-csam's People

Contributors

bmsousa avatar

Watchers

 avatar

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.