last day (202 days later) » 

7:00 PM
ND>eval rtn.call(:a, :b)
 
Eval result: Error in eval: wrong number of arguments (2 for 1)
 
ND>eval rtn.call(:a)
 
Eval result: a
 
ND>eval rtn.call(Thread)
 
Eval result: Error in eval: uninitialized constant Thread
 
7:01 PM
Huh, I could have just used to_proc instead of:
            rtn = _Thread.current.method(:[]=)
            def getSecureRtn rtn
                ->x{ rtn.call(:evalResult, x) }
            end
            rtn = getSecureRtn rtn
Oh well. :P
Also, what's with this:
llama@llama:~$ cd Code/ruby/NotDoorknobBot
llama@llama:...Code/ruby/NotDoorknobBot$ ls
a{  e  se-chatty.rb
???
 
No idea.
 
Whatever, removed the files :P
 
ND>eval rtn.lambda?
 
Eval result: true
 
ND>eval rtn.lambda
 
7:03 PM
Eval result: Error in eval: private method `lambda' called for #<Proc:0x00000000cfccb8@./se-chatty.rb:140 (lambda)>
 
ND>eval &rtn
 
Eval result: Error in eval: (eval):1: syntax error, unexpected tAMPER
 
ND>eval rtn.arity
 
Eval result: 1
 
Hey @JanDvorak, pretty sure it's unborkable now. Want to try? ;)
 
7:04 PM
ND>eval _Thread
 
Eval result: OMGWTFHAX
 
ND>eval rtn.call(:evalResult, x)
 
Eval result: Error in eval: undefined local variable or method `x' for main:Object
 
ND>eval rtn.call(:evalResult, "1+1")
 
Eval result: Error in eval: wrong number of arguments (2 for 1)
 
7:05 PM
ND>eval rtn;call(:evalResult)
 
Eval result: Error in eval: undefined method `call' for main:Object
 
ND>eval rtn.call(:evalResult)
 
Eval result: evalResult
 
ND>eval rtn.call("1+1")
 
Eval result: 1+1
 
7:06 PM
ND>eval rtn.call(1+1)
 
Eval result: 2
 
ND>eval loop{}
 
Eval result:
 
ND>eval rtn.call(Thread)
 
Eval result: Error in eval: uninitialized constant Thread
 
7:06 PM
ugh
Well, I have to go now, cya!
 
Lol, alright, cya @ProgramFOX!
Meanwhile, now that eval is finally patched for good (hopefully), I'm going to work on a few other utility commands
 
Bot killed manually
Bot initialized. Type ND>help for help.
 
ND>eval 1+1
 
Eval result: 2
 
ND>eval sleep 10
 
7:09 PM
Eval result:
 
Meh, no "timeout reached" message. Not important.
ND>eval local_variables
 
Eval result: [:rtn, :result, :e, :code, :_Thread]
 
ND>eval rtn.methods
 
Eval result: [:call, :[], :===, :yield, :to_proc, :arity, :clone, :dup, :==, :eql?, :hash, :to_s, :lambda?, :binding, :curry, :source_location, :parameters, :psych_to_yaml, :to_yaml_properties, :to_yaml, :getSecureRtn, :pretty_print, :pretty_print_cycle, :pretty_print_instance_variables, :pretty_print_inspect, :to_json, :nil?, :=~, :!~, :<=>, :class, :singleton_class, :initialize_dup, :initialize_clone, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :freeze, :frozen?, :inspect, :met
 
ND>eval rtn.source_location
 
7:10 PM
Eval result: ["./se-chatty.rb", 144]
 
ND>eval (rtn.methods - [:taint, :untaint, :untrust, :trust, :freeze]).map{|m| rtn.send m rescue nil }
 
Eval result: Error in eval: wrong number of arguments (0 for 1)
Eval result: Error in eval: Insecure operation `taint' at level 4
Eval result: Error in eval: (eval):1: unknown type of %string
(rtn.methods - %y{taint}).map{|m| rtn.send m rescue nil }
^
(eval):1: syntax error, unexpected $end
(rtn.methods - %y{taint}).map{|m| rtn.send m rescue nil }
^
Eval result: Error in eval: (eval):1: unknown type of %string
(rtn.methods - %i{taint}).map{|m| rtn.send m rescue nil }
^
(eval):1: syntax error, unexpected $end
(rtn.methods - %i{taint}).map{|m| rtn.send m rescue nil }
^
Eval result: Error in eval: Insecure operation `untaint' at level 4
Eval result: Error in eval: Insecure operation `untrust' at level 4
Eval result: Error in eval: Insecure operation `trust' at level 4
Eval result: Error in eval: Insecure: can't freeze object
Eval result: Error in eval: Insecure operation `write' at level 4
 
ND>eval (rtn.methods - [:taint, :untaint, :untrust, :trust, :freeze, :pretty_print, :pretty_print_cycle, :pretty_print_instance_variables, :pretty_print_inspect]).map{|m| rtn.send m rescue nil }
 
Cya Braiam.
 
ND>eval 'alive?'
 
7:13 PM
Eval result: alive?
 
ND>eval (rtn.methods - [:taint, :untaint, :untrust, :trust, :freeze, :pretty_print, :pretty_print_cycle, :pretty_print_instance_variables, :pretty_print_inspect]).map{|m| rtn.send m rescue nil }
 
Eval result: Error in eval: Insecure operation `write' at level 4
 
Hiya ɥʇǝS.
 
ND>eval local_variables
 
Eval result: []
Eval result: [:rtn, :result, :e, :code, :_Thread]
 
7:15 PM
ND>eval _Thread
 
Eval result: OMGWTFHAX
 
ND>eval result
 
Eval result:
 
ND>eval e
hello?
ND>eval e
ND>eval 'alive?'
 
Eval result: alive?
 
7:16 PM
ND>eval e
 
Eval result:
 
Ah, chat prevents you from sending duplicate messages.
ND>eval e.inspect
 
Eval result: nil
 
ND>eval code.inspect #foobar
 
Eval result: "code.inspect"
Eval result: "code.inspect #foobar"
 
7:16 PM
Hiya ArtOfCode.
 
ND>eval (rtn.methods - Object.methods).map{|m| rtn.send(m) if rtn.method(m).arity==0 }
 
Eval result: Error in eval: (eval):1: syntax error, unexpected ')', expecting $end
rtn.methods - SimpleObject.methods)
^
Eval result: Error in eval: uninitialized constant SimpleObject
Eval result: [:call, :[], :yield, :to_proc, :arity, :lambda?, :binding, :curry, :source_location, :parameters]
Eval result: Error in eval: wrong number of arguments (0 for 1)
Eval result: Error in eval: undefined method `arity' for :call:Symbol
Eval result: [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]
 
nilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilni‌​lnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnilnil
 
Eval result: [-1, -1, -1, 0, 0, 0, 0, -1, 0, 0]
 
@bjb568 wat
 
7:19 PM
What?
 
Eval result: Error in eval: wrong number of arguments (0 for 1)
Eval result: [nil, nil, nil, #<Proc:0x000000024248f0@./se-chatty.rb:144 (lambda)>, 1, true, #<Binding:0x00000002423d60>, nil, ["./se-chatty.rb", 144], [[:req, :x]]]
 
Cya FOX 9000.
Cya bjb568.
 
Huh
 
@NotDoorknob Hmm. I don't see any security vulnerabilities there.
 
@Gham Y NO GREET?
 
7:19 PM
Hiya bjb568.
@bjb568 Y NO GREET?
 
perhaps the Binding?
 
Hiya Gham
 
ND>eval rtn.binding
 
Eval result: #<Binding:0x0000000249d570>
 
ND>eval rtn.binding.methods - Object.methods
 
7:20 PM
Eval result: [:eval]
 
ND>eval rtn.binding.eval
 
Eval result: Error in eval: wrong number of arguments (0 for 1..3)
 
ND>eval rtn.binding.eval '1+1'
 
Eval result: 2
 
huh.
ND>eval rtn.binding.eval 'Thread'
 
7:21 PM
Eval result: Error in eval: uninitialized constant Thread
 
ND>eval rtn.binding.eval '_Thread'
 
Eval result: Error in eval: undefined local variable or method `_Thread' for main:Object
 
ND>eval rtn.binding.eval 'rtn'
 
Eval result: #<Method: Thread#[]=>
 
ND>eval rtn.binding.eval('rtn').owner
 
7:21 PM
Eval result: Thread
 
@ProgramFOX ^ I hacked my own bot! :O
 
Bot killed manually
 
Hmm... how am I going to fix this one...
 
Cya ɥʇǝS.
 
Bot initialized. Type ND>help for help.
 
7:32 PM
ND>eval rtn.binding.eval('rtn').owner
 
Eval result: #<Proc:0x000000015e5c58@./se-chatty.rb:141 (lambda)>
Eval result: #<Binding:0x0000000165e220>
Eval result: #<Method: Thread#[]=>
Eval result: Thread
 
Huh, so that didn't fix it
ND>eval rtn.binding.eval('getSecureRtn rtn')
 
Eval result: Error in eval: wrong number of arguments (0 for 1)
Eval result: #<Proc:0x000000017cb018@./se-chatty.rb:141 (lambda)>
Bot killed manually
Bot initialized. Type ND>help for help.
 
ND>eval rtn
 
ND>eval 1+1
@bjb568 once more and I'll flag
 
7:43 PM
You spoilsport…
 
Bot initialized. Type ND>help for help.
 
ND>eval 1+1
 
Eval result: 2
 
ND>eval local_variables
 
Eval result: [:result, :e, :code, :_Thread]
 
7:44 PM
ND>eval _Thread
 
Eval result: OMGWTFHAX
 
ND>eval code
 
Eval result: code
 
ND>eval e
 
Eval result:
 
7:44 PM
ND>eval result
ND>eval '(duplicate messages...)')
 
Eval result: Error in eval: (eval):1: syntax error, unexpected ')', expecting $end
'(duplicate messages...)')
^
 
ND>eval result
 
Eval result:
 
ND>eval Thread
 
Eval result: Error in eval: uninitialized constant Thread
 
7:45 PM
ND>eval constants
 
Eval result: Error in eval: undefined local variable or method `constants' for main:Object
 
ND>eval methods
 
Eval result: [:to_s, :public, :private, :include, :psych_to_yaml, :to_yaml_properties, :to_yaml, :rtn, :pretty_print, :pretty_print_cycle, :pretty_print_instance_variables, :pretty_print_inspect, :to_json, :nil?, :===, :=~, :!~, :eql?, :hash, :<=>, :class, :singleton_class, :clone, :dup, :initialize_dup, :initialize_clone, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :freeze, :frozen?, :inspect, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods, :
 
ND>eval methods - Object.methods
 
Eval result: [:public, :private, :include]
 
7:45 PM
ND>eval private_methods
 
Eval result: [:Digest, :timeout, :Nokogiri, :DelegateClass, :DomainName, :safeEval, :initialize_copy, :remove_instance_variable, :sprintf, :format, :Integer, :Float, :String, :Array, :warn, :raise, :fail, :global_variables, :__method__, :__callee__, :eval, :local_variables, :iterator?, :block_given?, :catch, :throw, :loop, :caller, :trace_var, :untrace_var, :at_exit, :syscall, :open, :printf, :print, :putc, :puts, :gets, :readline, :select, :readlines, :`, :p, :test, :srand, :rand, :trap, :exec,
 
ND>eval global_variables
 
Eval result: [:$;, :$-F, :$@, :$!, :$SAFE, :$~, :$&, :$`, :$', :$+, :$=, :$KCODE, :$-K, :$,, :$/, :$-0, :$\, :$_, :$stdin, :$stdout, :$stderr, :$>, :$<, :$., :$FILENAME, :$-i, :$*, :$?, :$$, :$:, :$-I, :$LOAD_PATH, :$", :$LOADED_FEATURES, :$VERBOSE, :$-v, :$-w, :$-W, :$DEBUG, :$-d, :$0, :$PROGRAM_NAME, :$mthread, :$-p, :$-l, :$-a, :$fileutils_rb_have_lchmod, :$fileutils_rb_have_lchown, :$CGI_ENV, :$1, :$2, :$3, :$4, :$5, :$6, :$7, :$8, :$9]
 
ND> loop{}
 
Unknown command `loop{}'.
 
7:46 PM
ND>eval loop{}
 
Eval result:
 
ND>eval global_variables.map{|x| eval x.to_s }
 
Eval result: Error in eval: Insecure: operation on trusted IO
 
Huh? ooookay
ND>eval $KCODE
 
Eval result:
 
7:47 PM
ND>eval $CGI_ENV
 
Eval result: ENV
 
ND> eval $0
 
Eval result: ./se-chatty.rb
 
ND>eval $CGI_ENV.methods
Huh, that crashed it
{"event_type"=>1, "time_stamp"=>1419968855, "content"=>"ND&gt;eval $CGI_ENV.methods", "id"=>6023793, "user_id"=>180276, "user_name"=>"Doorknob 冰", "room_id"=>815, "room_name"=>"Botlings practice room", "message_id"=>2846832}
./se-chatty.rb:138:in `[]=': Insecure: can't modify thread locals (SecurityError)
	from ./se-chatty.rb:138:in `rtn'
	from ./se-chatty.rb:149:in `block in safeEval'
 
nice
 
7:48 PM
okay, gtg, will fix later
 
bai
 
Cya NotDoorknob.
 
8:13 PM
Hiya Frank.
Cya Doorknob 冰.
 
8:38 PM
Hiya Th0masR0ss.
 
user231792
hi
 
hi
Bot is enabled here. Have fun!
 
9:00 PM
Cya Th0masR0ss.
 
9:20 PM
Hiya Doorknob 冰.
 
hiya
 
Bot initialized. Type ND>help for help.
 
ND>eval 1+1
 
Eval result: 2
 
ND>eval $mthread
 
9:22 PM
Eval result: #<Thread:0x00000002dfbe00>
 
Okay, I need to fix that too
 
You need to fix ALL THE THINGS!
 
Bot killed manually
Bot initialized. Type ND>help for help.
 
ND>eval 1+1
 
9:31 PM
Bot initialized. Type ND>help for help.
 
ND>eval 1+1
 
Bot initialized. Type ND>help for help.
 
ND>eval 1+1
 
Eval result: Error in eval: undefined local variable or method `code' for main:Object
Bot killed manually
 
Bot initialized. Type ND>help for help.
 
9:33 PM
???
 
Bot initialized. Type ND>help for help.
 
ND>eval 1+1
 
Eval result: Error in eval: wrong number of arguments (0 for 1)
 
Cya KennyBOT.
 
Bot killed manually
 
9:34 PM
Bot initialized. Type ND>help for help.
 
Bot initialized. Type ND>help for help.
 
:P
 
ND>eval 1+1
 
Eval result: 2
 
ND>eval Thread
 
9:35 PM
Eval result: Error in eval: uninitialized constant Thread
 
ND>eval local_variables
 
Eval result: [:code]
 
Ha!
@ProgramFOX @JanDvorak ^
ND>eval _Thread
 
Eval result: Error in eval: undefined local variable or method `_Thread' for main:Object
 
ND>eval code.binding
 
9:36 PM
Eval result: Error in eval: private method `binding' called for "code.binding":String
 
ND>eval code.send :binding
 
Eval result: #<Binding:0x00000001800060>
 
ND>eval code.send(:binding).eval('local_variables')
 
Eval result: [:code]
 
:D
ND>eval $mthread
 
9:38 PM
Eval result:
 
ND>eval $CGI_ENV
 
Eval result: ENV
 
ND>eval ENV
ND>eval ENV.methods
 
Eval result: [:[], :fetch, :[]=, :store, :each, :each_pair, :each_key, :each_value, :delete, :delete_if, :keep_if, :clear, :reject, :reject!, :select, :select!, :shift, :invert, :replace, :update, :inspect, :rehash, :to_a, :to_s, :key, :index, :size, :length, :empty?, :keys, :values, :values_at, :include?, :member?, :has_key?, :has_value?, :key?, :value?, :to_hash, :assoc, :rassoc, :pretty_print, :entries, :sort, :sort_by, :grep, :count, :find, :detect, :find_index, :find_all, :collect, :map, :f
 
Huh, that didn't crash it this time
ND>eval loop{}
 
9:40 PM
Eval result:
 
ND>eval $CGI_ENV
 
Eval result: ENV
 
ND>eval methods
 
Eval result: [:to_s, :public, :private, :include, :psych_to_yaml, :to_yaml_properties, :to_yaml, :doIt, :pretty_print, :pretty_print_cycle, :pretty_print_instance_variables, :pretty_print_inspect, :to_json, :nil?, :===, :=~, :!~, :eql?, :hash, :<=>, :class, :singleton_class, :clone, :dup, :initialize_dup, :initialize_clone, :taint, :tainted?, :untaint, :untrust, :untrusted?, :trust, :freeze, :frozen?, :inspect, :methods, :singleton_methods, :protected_methods, :private_methods, :public_methods,
 
ND>eval private_methods
 
9:42 PM
Eval result: [:Digest, :timeout, :Nokogiri, :DelegateClass, :DomainName, :safeEval, :initialize_copy, :remove_instance_variable, :sprintf, :format, :Integer, :Float, :String, :Array, :warn, :raise, :fail, :global_variables, :__method__, :__callee__, :eval, :local_variables, :iterator?, :block_given?, :catch, :throw, :loop, :caller, :trace_var, :untrace_var, :at_exit, :syscall, :open, :printf, :print, :putc, :puts, :gets, :readline, :select, :readlines, :`, :p, :test, :srand, :rand, :trap, :exec,
 
ND>eval safeEval
 
Eval result: Error in eval: wrong number of arguments (0 for 3)
 
Okay, eval should finally, hopefully, be completely patched.
ND>listcommands
 
List of commands: help, listcommands, eval, admin
 
ND>help
 
9:48 PM
Type ND>listcommands to list all commands that the chatbot can execute, or ND>help CMDNAME for help on a specific command.
 
ND>help help
 
I'm So Meta, Even This Acronym
 
ND>help help help
(nope :P)
 
10:01 PM
Bot killed manually
 
Bot initialized. Type ND>help for help.
 
Bot initialized. Type ND>help for help.
 
ND>prefix test>
 
Prefix set to test>.
 
test>help
 
10:07 PM
Type test>listcommands to list all commands that the chatbot can execute, or test>help CMDNAME for help on a specific command.
 
test>prefix @NotDoorknob
 
Prefix set to @NotDoorknob.
 
@NotDoorknobprefix @NotDoorknob
dangit, chat strips spaces
@NotDoorknobprefix @NotDoorknob--
 
Prefix set to @NotDoorknob--.
 
@NotDoorknob--prefix @NotDoorknob!
 
10:08 PM
Unknown command `test'.
Prefix set to @NotDoorknob!.
 
@NotDoorknob!help
 
Type @NotDoorknob!listcommands to list all commands that the chatbot can execute, or @NotDoorknob!help CMDNAME for help on a specific command.
 
@NotDoorknob!prefix >>
 
Prefix set to >>.
 
>>help
 
10:08 PM
Type >>listcommands to list all commands that the chatbot can execute, or >>help CMDNAME for help on a specific command.
 
>>prefix
 
Prefix set to ND>.
 
>>prefix .
ND>prefix .
 
Prefix set to ..
 
.eval 1+1
 
10:10 PM
Eval result: 2
 
Unknown command `..'.
 
.help test
 
No help file found for t<code>e</code>st.
 
.help te`st
 
10:11 PM
No help file found for tetest.
 
wat
.prefix >>
 
Prefix set to <code>>></code>.
 
>>help
 
Type <code>>></code>listcommands to list all commands that the chatbot can execute, or <code>>></code>help CMDNAME for help on a specific command.
 
... I really need to fix Markdown
>>prefix .
 
10:12 PM
Prefix set to ..
 
.foo
 
Unknown command `foo'.
Bot killed manually
 
Bot initialized. Type ND>help for help.
 
10:37 PM
Bot killed manually
 
Bot initialized. Type ND>help for help.
 
Bot initialized. Type ND>help for help.
Bot killed manually
 
Bot initialized. Type ND>help for help.
 

  last day (202 days later) »