Giter VIP home page Giter VIP logo

flashbang's Introduction

Flashbang

Welcome to project "Flashbang". This tool is an open-source Flash-security helper with a very specific purpose: Find the flashVars of a naked SWF and display them, so a security tester can start hacking away without decompiling the code.

Flashbang is built upon Mozilla's Shumway project. It runs in the browser but has a bunch of requirements to work properly. See the links below.

How To Run Flashbang?

Just use our public tool and feed it SWF files: https://cure53.de/flashbang

No files will be ever uploaded to any server, it all happens in the browser. So no worries. You still do worry? Good. You can also install it locally of course. Check below on how to do that.

How to Install Flashbang locally?

Flashbang is still in alpha stage so things might be a bit edgy there and where. Here's how to setup and run Flashbang (no worries, it takes about 5 minutes to get it running):

  • Clone the repo using the --recursive flag, so that all necessary submodules are cloned as well
  • Ideally clone it into an Apache web-root (or any other web server)
  • Prepare the environment for Shumway to work properly Instructions.
  • Visit the URL Flashbang/src/flashbang.html in Chrome (Firefox has a bug right now, we're on it).
  • Console to logging is enabled by default. So ideally keep developer tools open.
  • Run a file by clicking "Open SWF"
  • Flashbang will then show you the flashVars and you can start testing for XSS or alike

Testing Flashbang

To play with Flashbang you need Flash files. Obviously. If you don't have any at hands right now, we can offer you a fine selection of vulnerable files right here:

https://github.com/cure53/Flashbang/tree/master/flash-files/files

Bugs

Flashbang is very young and basically alpha-level software. And finding flashVars in an SWF has proven to be quite hard. So please don't be disappointed it Flashbang isn't yet working for each and any SWF file out there. If you have a SWF where Flashbang doesn't see the flashVars please file a bug and send us some info. We'll try to fix it asap.

Credits

Flashbang was specified and sponsored by Cure53, built by Bharadwaj Machiraju - the Cure53 summer intern and wouldn't exist without the help of Mozilla Research and their amazing Shumway project. Now here's some links you can click:

flashbang's People

Contributors

cure53 avatar flabbergastedbd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flashbang's Issues

Replicate all flashVars as get parameters in the url

This is to ensure that if swf tries to parse parameters from url our flashVars still work. Detection of flashVars is complex in this case though.

loaderInfo._url has to be tampered : Help

P.S: Think of something for detection, may be we can proxy the calls of _url

Hello yes

it told me to report a bug in the thing, i tried to run the first Achievement Unlocked in the thing and it popped up with an error. idk why it did that, but it did. pls fix

Collect vulnerable Flash files

We need an overall of ten to fifteen vulnerable (to XSS) Flash files to show them to the Shumway team. Ideally we have them in a folder - each embedded in HTML with a button to trigger the vulnerability.

We need bugs that exploit vulnerabilities in as many different Flash/AS methods as possible. Further, some of the bugs should be requiring user interaction to be exploited, others should be exploitable without user interaction.

This step is important before we re-connect with the Shumway team. They basically will use this input to understand, what APIs we would need.

[UI] Trace terminal

  • Inability to scroll horizontally incase of long lines of text in trace terminal
  • If possible one raw version and one interpreted version of the data ending up in sinks

Plan first API pattern for Flashbang

Flashbang will need a rough outline for a first API. Something like:

Flashbang.load()
Flashbang.scan()
Flashbang.info()
Flashbang.close()

We need to think who this could look like and what we want to do in the early alpha.

Extract all FlashVars for a given swf

  • Using shumway, all the FlashVars for a given flash file have to be collected

If some extra information about variables is available during this stage, which can be leveraged to guess the type of variables then it will be useful

UI / UX Enhancements before launch

We need the following enhancements to make Flashbang be more usable:

  • Communicate that currently only Chrome works well
  • Add a "close SWF" button
  • Add a "rerun analysis" button
  • Add a spinner / progress indicator
  • Implement a console.log that logs into a <textarea>

Create bitmap mock-up for posible Flashbang UI

We need to think what features we would like to present - and how a very early UI could look like. All Flashbang features should be available as API, the early UI draft should respect this.

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.