Git Product home page Git Product logo

openbullet2's Introduction

Logo

OpenBullet 2 is a cross platform automation suite powered by .NET core. It allows to perform requests towards a target webapp and offers a lot of tools to work with the results. This software can be used for scraping and parsing data, automated pentesting and much more.

Link to the Official Forum where you can find guides and become part of the community behind OpenBullet.

Found a bug? Create an issue!

IMPORTANT! Performing (D)DoS attacks or credential stuffing on sites you do not own (or you do not have permission to test) is illegal! The developer will not be held responsible for improper use of this software.

Download and setup

Refer to this guide on the official forum.

Screenshots

Web Client

immagine

Native Client (Windows only)

immagine

License

This software is licensed under the MIT License.

Donate

If you like this software, consider making a donation to the developer. Thank you!

  • BTC: 39yMkox6pP8tnSC7rZ5EM4nUUHgPbg1fKM
  • ETH: 0xc22116Bcf6c30977bEdFcc03C5B6aAe90B0fD179
  • BCH: qq02mrtdp454g2zdu534ndpu7jgcr3tvavyzs60m3p

Credits

I want to thank all the community for their inputs that shaped OpenBullet into what it is now, and my gratitude goes especially towards my collaborators demiurgo and meinname.

Contact

The best way to contact me is through the official forum. I'm not on discord / telegram. If you need to contact me via mail for any reason you can send me a message here: ruri [at] openbullet (dot) dev. I don't check it very often so be patient please.

openbullet2's People

Contributors

amybergqvist avatar bellezaemporium avatar blossomproject avatar dependabot[bot] avatar djhooligan avatar fabelx avatar iamtakingithard avatar its5q avatar jreming85 avatar laiteux avatar matsver avatar meinname avatar openbullet avatar rydjgit avatar saeidrp avatar sky-chrome avatar tcortega avatar tracsgh 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  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

openbullet2's Issues

[REQUEST] Read response source toggle in request block

Hi ruri, first of all thank you for the work you do,

Here are some functions that were really useful in OB1 that I don't see in OB2 and I think it's a good thing to put them in version 2, here is the list.

  • Read Resp. Source toggle, request block
  • search in the debugger
  • HTML View not always available, a bug ?
  • Put the proxy API function of ob1, so we don't need to enter it anymore, the link to update the proxies at each launch is done automatically, it's a really practical option that saves a lot of time
  • I also noticed one thing, sometimes in OB2 when I make a request I get the error "Operation cancelled
    BOT ENDED AFTER 15120 ms WITH STATUS: ERROR"

while in OB1 I have the same block no problem, a bug or the problem comes from me?

thanks

OB2 Version 0.1.1

Aes not working[BUG]

you know what i mean
gives same output even if you change the input
plox sor fix it
love you

BLOCK:UrlEncode
  input = "123123123123123123123"
  => VAR @a
ENDBLOCK

BLOCK:UTF8ToBase64
  input = @a
  => VAR @enba
ENDBLOCK

BLOCK:AESEncrypt
  plainText = @enba
  key = NjEyMGU2MjI0ZDQxMjdhZWU3ZDBiMWY2YTJkNzdkNmU=
  iv = NTc4ZmVmODAxOGJkZDNiNw==
  padding = PKCS7
  => VAR @aESEncryptOutput
ENDBLOCK

[REQUEST] Tesseract OCR & Chrome extensions for solving recaptcha

It would be lovely if you add tesseract OCR to openbullet2. tesseract version 3,4,5 separately because all of them have their separate features.

also for other captcha if there would be an option solving captchas like jdownloader is solving captchas. it would be fantastic. We wont need captcha solvers then. 95% recaptcha can be solved by chrome extensions rest can be done manually via automations tools.

[BUG] Cant logout as admin

When clicking logout when autheticated as admin, it doesnt log out.

Log in as admin
goto home tab
click logout

I expected the admin to logout

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser Versie 88.0.4324.190 (Officiële build) (64-bits)

[BUG] Range Data Limits

Describe the bug
When using anything over a 9-digit number on the range data pool option, there is an error.

[BUG] Parse Block Raising Errors

Describe the bug
Can you make the parse block return empty instead of throwing an error.

Example:
Block:Parse
MODE:Json

if the site return a non json response, the parse block break and throw an error

[BUG] Cannot use Input Variables directly in Request URL like in old Openbullet

Lets say I have an URL with a GET Request like: https://www.speedtest.net/api/js/result.php?result_id=<input.USERNAME>

(I wanna scan some speedtest results through the Api, so nothing illegal)

Input.USERNAME is the speedtest ID for example: 10190837926

https://www.speedtest.net/api/js/result.php?result_id=10190837926

However, Openbullet V2 is not putting the input from my test data into the request url (That worked in the Old Openbullet)
It sliced my Test Data correctly.

Th log says:
Address: https://www.speedtest.net/api/js/result.php?result_id=%3Cinput.USERNAME%3E

A post request with the content in the "content" field works.

Edit: Thanks honey. Worked. Sorry for opening a issue :3

[BUG] i Don't get the sublist at configs tab

Describe the bug
When i click on the config tab in the menu, A submenu is supposed to open but it doesn't, this way i can't ave the config or edit the settings.

Click on config tab.

It's supossed to open a submenu, i got it before but now it doesn't work for some reason

https://i.imgur.com/R6gGDwy.png

Desktop (please complete the following information):

  • OS: Microsoft Windows NT 10.0.18363.0
  • Browser Chrome Versie 88.0.4324.190 (Officiële build) (64-bits)

[BUG] After Updating to 0.1.1 Input Variables are not working

After Updating my OB to 0.1.1 with the Patch.zip, my Input variables from the worldlist are not working anymore.

Lets say my Test Data is: [email protected]:password
And my input is: <input.USERNAME> (Worldlist Type Credentials)

Nothing happens

In the config creator under "Show variables" it is also not showing my input as variables

The enivronment .ini still looks fine.

[WORDLIST TYPE]
Name=Credentials
Regex=^.:.$
Verify=True
Separator=:
Slices=USERNAME,PASSWORD

[REQUEST] template for external proxy sources

Fequest from a user:

As it is too much work to copy and paste multiple URLs (one of each proxy type) each time he creates a new Multi-Run Job, he suggested an option to set a default set of URLs and maybe also Files which can be loaded when creating a new job.

[BUG] Wordlist removal doesn't work after job stop

Steps to reproduce:

  1. Upload new wordlist
  2. Start a new job with it (and any config)
  3. Stop or abort a job (at this point deleting no longer works)
  4. Try to delete the wordlist FROM DISK

Error in the console:
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111] Unhandled exception in circuit 'sBhh3SnBf9FBEkX8Kic4o4Ups_QXDIU8zyaoWBGk08A'. System.IO.IOException: The process cannot access the file 'C:\Users\Xazker\Desktop\OpenBullet2\UserData\Wordlists\e4492ed6-5f5b-43c3-a168-5e21198e8340.txt' because it is being used by another process. at System.IO.FileSystem.DeleteFile(String fullPath) at System.IO.File.Delete(String path) at OpenBullet2.Repositories.HybridWordlistRepository.Delete(WordlistEntity entity, Boolean deleteFile) in C:\Users\scarf\source\repos\OpenBullet2\OpenBullet2\Repositories\HybridWordlistRepository.cs:line 64 at OpenBullet2.Pages.Wordlists.DeleteWordlist() in C:\Users\scarf\source\repos\OpenBullet2\OpenBullet2\Pages\Wordlists.razor.cs:line 165 at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task) at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)

Also, there is such a warning:
warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100] Unhandled exception rendering component: The process cannot access the file 'C:\Users\Xazker\Desktop\OpenBullet2\UserData\Wordlists\e4492ed6-5f5b-43c3-a168-5e21198e8340.txt' because it is being used by another process. System.IO.IOException: The process cannot access the file 'C:\Users\Xazker\Desktop\OpenBullet2\UserData\Wordlists\e4492ed6-5f5b-43c3-a168-5e21198e8340.txt' because it is being used by another process. at System.IO.FileSystem.DeleteFile(String fullPath) at System.IO.File.Delete(String path) at OpenBullet2.Repositories.HybridWordlistRepository.Delete(WordlistEntity entity, Boolean deleteFile) in C:\Users\scarf\source\repos\OpenBullet2\OpenBullet2\Repositories\HybridWordlistRepository.cs:line 64 at OpenBullet2.Pages.Wordlists.DeleteWordlist() in C:\Users\scarf\source\repos\OpenBullet2\OpenBullet2\Pages\Wordlists.razor.cs:line 165 at Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(Task task) at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)

Screenshot
https://prnt.sc/10gsacd

OS Information:

  • OS: Windows 10 LTSC
  • Browser: Mozilla Firefox 86.0
  • Version 0.1.0

[BUG]

PROXY API
When you use a proxy remote api for start job if a proxy write bad give this error = FormatException
Expected 4 colon-separated fields, got 3
and dont start the config

[REQUEST] Reloading Proxies

Is your feature request related to a problem? Please describe.
Yes and no, it would be good if we could have the reloading proxies feature like in OpenBullet 1

Describe the solution you'd like
i would like to see a tab on proxies to set reloading proxies from sources after a certain amount of time

Describe alternatives you've considered
Doing it manually which is a PITA

Additional context
image

Also thanks for your hard work, i appreciate it and i like the new design and how it is overall. Keep up the work 👍🏻

[BUG] Config deletion crashes the interface

Describe the bug
When you create a job and add the config , whenever you delete that config the interface would break and I have to restart it,

To Reproduce
Steps to reproduce the behavior:

  1. Create a job with a config
  2. Delete the config
  3. Navigate to "jobs"
  4. See error

Expected behavior
I expect the program to be able to update the runner or anything that prevents this crash.

Screenshots
https://gyazo.com/collections/da3eff1f64c566095480fa9547ffb1e8

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser Chrome
  • Version 0.1.0

[BUG] Not asking for password

i enabled the password for admin option & set a password last night.

now it dosen't seem to work. it logs in without a password.

also maybe i noticed the ob settings were reset automatically after i shutdown openbullet last time.

let me know if you need any logs

[REQUEST] DUPLICATE CONFIG OPTION

Is your feature request related to a problem? Please describe.
No.

Describe the solution you'd like
Option to duplicate a config in the config section

Describe alternatives you've considered
It's borring to copy c# config content and create a new config to "dupe" a config

Additional context

[BUG] HTTP 2.0 Not working

in HTTP version tab if i Put the digit/string "2" then it says "[Executing block Http Request] Version string portion was too short or too long. (Parameter 'input')"

And If I put the string "2.0" .. it says "[Executing block Http Request] HTTP/2.0 not supported yet"

I donot know if OB2 support HTTP 2.0 protocol ... right now it is not.

[BUG] Loli code Source or Header data gave config error

if I use this command IF STRINGKEY @data.HEADERS["Location"] Contains "" and result will be 302 (redirect), it gave me result, but if it will be 200 Status response, then it give me error, means if data empty it give global error.
Just try to reproduce it on 2 links
1 url where You are getting redirect, disable auto redirect ("http://google.com") https://i.imgur.com/USFAFDW.png
2 url with out redirect ("https://www.google.com/") https://i.imgur.com/vdypzGT.png
IF STRINGKEY @data.HEADERS["Location"] Contains ""
LOG "Works"
END
I found only 1 solution, parse all headers and if header contain "keyword from location" it will work

IF STRINGKEY @data.HEADERS Contains ""
LOG "Works"
END

or header parsing and

BLOCK:Parse
LABEL:locationMain
input = @data.HEADERS
MODE:LR
=> VAR @locationMain
ENDBLOCK

then IF STRINGKEY @locationMain Contains ""
So it means some problem with empty data, if it will not be found in code repsonse
In my way it was happen when I tried to check location header, but it doesnt found on 200 responce status.

Remoto config issue

if they put in job a cfg in remote our
and close ob2
when you reopen it disappears in the job
and if you go to open the job setting
it always gives reload
you have to physically delete the old job first and recreate it

[REQUEST] <DICT{key}>

Can we have a block to get the value of a key from a Dictionary, like old <DICT{key}>

why ?
it would be very simple to have a block, like Get Key block in the dictionary functions section
a block that return empty incase the key does not exists in the dictionary

i know that there many ways around this, to get the same result. but incase those ways fail, they throw errors
like Block:constant String/int/... <DICT{key}>, it throws error incase there is no key
...

i know that we have try and catch
but most people users are not coders, and they never heard of try and catch
so, something simple would be very good

thanks

[BUG] RSA PKCS1PAD2

Ruri u told me to open an issue here on github, so here I am
Apparently u can't input.PASSWORD directly to a block that takes byte array.

[BUG] Fatal error when clicking change inside job runner

When clicking change inside of the job runner under the config i get an fatal error.

Setup job
click change

Desktop (please complete the following information):

  • OS: Microsoft Windows NT 10.0.18363.0
  • Browser Custom electron build (Chromium i guess)
  • Version 7737.37433]
warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
      Unhandled exception rendering component: Object reference not set to an instance of an object.
      System.NullReferenceException: Object reference not set to an instance of an object.
         at OpenBullet2.Shared.DataPoolSelector.<BuildRenderTree>b__0_31(RenderTreeBuilder __builder3) in C:\Users\scarf\source\repos\OpenBullet2\OpenBullet2\Shared\DataPoolSelector.razor:line 96
         at Microsoft.AspNetCore.Components.Forms.InputSelect`1.BuildRenderTree(RenderTreeBuilder builder)
         at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment)
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderInExistingBatch(RenderQueueEntry renderQueueEntry)
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
      Unhandled exception in circuit '9vye3oA2KqsfY3aXzALj74lHhmivTLvZvlPalKM35VA'.
      System.NullReferenceException: Object reference not set to an instance of an object.
         at OpenBullet2.Shared.DataPoolSelector.<BuildRenderTree>b__0_31(RenderTreeBuilder __builder3) in C:\Users\scarf\source\repos\OpenBullet2\OpenBullet2\Shared\DataPoolSelector.razor:line 96
         at Microsoft.AspNetCore.Components.Forms.InputSelect`1.BuildRenderTree(RenderTreeBuilder builder)
         at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment)
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderInExistingBatch(RenderQueueEntry renderQueueEntry)
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
warn: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
      Unhandled exception rendering component: Cannot access a disposed context instance. A common cause of this error is disposing a context instance that was resolved from dependency injection and then later trying to use the same context instance elsewhere in your application. This may occur if you are calling 'Dispose' on the context instance, or wrapping it in a using statement. If you are using dependency injection, you should let the dependency injection container take care of disposing context instances.
      Object name: 'ApplicationDbContext'.
      System.ObjectDisposedException: Cannot access a disposed context instance. A common cause of this error is disposing a context instance that was resolved from dependency injection and then later trying to use the same context instance elsewhere in your application. This may occur if you are calling 'Dispose' on the context instance, or wrapping it in a using statement. If you are using dependency injection, you should let the dependency injection container take care of disposing context instances.
      Object name: 'ApplicationDbContext'.
         at Microsoft.EntityFrameworkCore.DbContext.CheckDisposed()
         at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
         at Microsoft.EntityFrameworkCore.DbContext.Set[TEntity]()
         at OpenBullet2.Repositories.DbRepository`1.GetAll() in C:\Users\scarf\source\repos\OpenBullet2\OpenBullet2\Repositories\DbRepository.cs:line 118
         at OpenBullet2.Shared.ProxySourceSelector.OnInitializedAsync() in C:\Users\scarf\source\repos\OpenBullet2\OpenBullet2\Shared\ProxySourceSelector.razor:line 98
         at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)
fail: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
      Unhandled exception in circuit '9vye3oA2KqsfY3aXzALj74lHhmivTLvZvlPalKM35VA'.
      System.ObjectDisposedException: Cannot access a disposed context instance. A common cause of this error is disposing a context instance that was resolved from dependency injection and then later trying to use the same context instance elsewhere in your application. This may occur if you are calling 'Dispose' on the context instance, or wrapping it in a using statement. If you are using dependency injection, you should let the dependency injection container take care of disposing context instances.
      Object name: 'ApplicationDbContext'.
         at Microsoft.EntityFrameworkCore.DbContext.CheckDisposed()
         at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
         at Microsoft.EntityFrameworkCore.DbContext.Set[TEntity]()
         at OpenBullet2.Repositories.DbRepository`1.GetAll() in C:\Users\scarf\source\repos\OpenBullet2\OpenBullet2\Repositories\DbRepository.cs:line 118
         at OpenBullet2.Shared.ProxySourceSelector.OnInitializedAsync() in C:\Users\scarf\source\repos\OpenBullet2\OpenBullet2\Shared\ProxySourceSelector.razor:line 98
         at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
         at Microsoft.AspNetCore.Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)

[REQUEST] GUEST VARIABLE ACCESS

Is your feature request related to a problem? Please describe.
No.

Describe the solution you'd like
Having accces to GUEST global variable (USERNAME, IPS, EXPIRATION ACCESS API TOKEN...)

Describe alternatives you've considered
No alternatives.

Additional context
https://prnt.sc/10i4l5n <- Talking about this guest variable

[BUG] Port changing

Describe the bug
dotnet ./OpenBullet2.dll --urls="http://*:1234" ---> it is not working, both locally and remotely
appsettings.release.json ---> it works locally, but not remotely

[BUG] Webpage times out

Describe the bug
I run the file and the webpage times out

To Reproduce
Steps to reproduce the behavior:

  1. Run the program

Expected behavior
The setup

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Linux Ubuntu server
  • Browser safari
  • Version 1

Smartphone (please complete the following information):

  • Device:
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

[BUG] Hits DB seems broken

cant export hits cant even select more than 1 at once (Ctrl + A dont work too). basically if you save hits to database the only way to get them is exporting database in a third party software.

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.