Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a --websocket option to the ronin netcat command #171

Open
postmodern opened this issue Oct 1, 2023 · 6 comments
Open

Add a --websocket option to the ronin netcat command #171

postmodern opened this issue Oct 1, 2023 · 6 comments
Labels
command-option A command option feature New Feature

Comments

@postmodern
Copy link
Member

postmodern commented Oct 1, 2023

ronin netcat should also support connecting to or opening websockets. Use the async-websocket gem.

@postmodern postmodern added feature New Feature command-option A command option labels Oct 1, 2023
@Cioraz
Copy link
Contributor

Cioraz commented Oct 2, 2023

Hey
Could you assign me the issue?

@postmodern
Copy link
Member Author

@Cioraz unfortunately no. Every time I have assigned an issue to someone, they disappear and the issue never gets completed. I would suggest just trying to work on the issue and getting a PR submitted.

@Cioraz
Copy link
Contributor

Cioraz commented Oct 3, 2023

When using the async-websocket gem should i just include it in the commands under spec/cli/commands ?
Like an import?

@postmodern
Copy link
Member Author

@Cioraz it sounds like you might be new to Ruby? Files from other gems are loaded using require '...'. The spec/ directory is where the unit-tests live. To add a gem as a dependency, add it to dependencies: in gemspec.yml and add it to the Requirements section in the README.md, then run bundle install to install it.

This issue might be a little too much work for Ruby beginners.

@Cioraz
Copy link
Contributor

Cioraz commented Oct 4, 2023

Thanks, indeed im new to Ruby and was interested in helping other open source projects and thus learn new skills

@postmodern postmodern changed the title Add a --websocket option to ronin netcat Add a ronin wscat/ronin websocket command Dec 30, 2023
@postmodern postmodern changed the title Add a ronin wscat/ronin websocket command Add a --websocket option to the ronin netcat command Dec 30, 2023
@postmodern
Copy link
Member Author

postmodern commented Dec 30, 2023

Perhaps it would be easier to add a separate ronin wscat/ronin websocket/ronin-web wscat command. I'm working on WebSocket::Client and WebSocket::Server classes in ronin-support-web, which we could use, possibly with the async gem or directly with IO.select since they expose the underlying socket. This might make it easier to accept and parse a ws:// or wss:// URL. WebSocket uses "frames" for messages, and these frames can have different types such as text, binary, ping, pong, and close. We could add special logic to automatically hexdump any binary type frames. I might close this issue in favor of a new one to add a ronin wscat/ronin websocket/ronin-web wscat command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
command-option A command option feature New Feature
Projects
None yet
Development

No branches or pull requests

2 participants