←2007-01-05 2007-01-06 2007-01-07→ ↑2007 ↑all
00:12:36 -!- tgwizard has quit (Remote closed the connection).
00:47:30 -!- Sgeo has joined.
00:53:59 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
01:16:47 -!- anonfunc has joined.
01:19:50 -!- Sukoshi has quit ("仮初めな出るということをしているけど。10分まで待って。どうも。").
01:24:03 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
01:31:19 -!- CakeProphet has joined.
01:57:43 <bsmntbombdood> ~cat foo
01:57:52 <bsmntbombdood> ummm
01:58:12 <bsmntbombdood> ~exec self.print_callbacks()
01:58:16 <bsmntbombdood> oh
01:59:16 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :(.*)", lambda x,y : bot.raw("PRIVMSG %s :%s" % (y.group(1), y.group(2))))
01:59:22 <bsmntbombdood> ~cat foo
01:59:22 <bsmnt_bot> ~cat foo
01:59:55 <bsmntbombdood> ~exec self.raw_regex_queue.pop()
01:59:55 <bsmnt_bot> ~exec self.raw_regex_queue.pop()
02:00:03 <bsmntbombdood> ~exec self.register_raw(r"\S+ PRIVMSG (\S+) :~cat (.*)", lambda x,y : bot.raw("PRIVMSG %s :%s" % (y.group(1), y.group(2))))
02:00:07 <bsmntbombdood> ~cat foo
02:00:07 <bsmnt_bot> foo
02:02:28 <bsmntbombdood> ~exec self.raw("PRIVMSG #esoteric :%s" % [(i[0],time.time() - i[2]) for i in self.commands_running])
02:02:28 <bsmnt_bot> [('self.raw("PRIVMSG #esoteric :%s" % [(i[0],time.time() - i[2]) for i in self.commands_running])', 0.00041484832763671875)]
02:02:37 <bsmntbombdood> urgh, I want ~kill
02:07:44 -!- bsmnt_bot has quit (Remote closed the connection).
02:07:47 -!- bsmnt_bot has joined.
02:07:50 <bsmntbombdood> ~ps
02:08:04 <bsmntbombdood> ~exec __import__("time").sleep(100)
02:08:06 <bsmntbombdood> ~ps
02:08:06 -!- bsmnt_bot has quit (Remote closed the connection).
02:08:26 -!- bsmnt_bot has joined.
02:08:28 <bsmntbombdood> ~ps
02:08:30 <bsmntbombdood> ~exec __import__("time").sleep(100)
02:08:32 <bsmntbombdood> ~ps
02:08:32 <bsmnt_bot> 0: ('__import__("time").sleep(100)', 1168048899.352859)
02:09:50 -!- bsmnt_bot has quit (Remote closed the connection).
02:10:01 -!- bsmnt_bot has joined.
02:10:03 <bsmntbombdood> ~exec __import__("time").sleep(100)
02:10:04 <bsmntbombdood> ~ps
02:10:05 <bsmnt_bot> 0: '__import__("time").sleep(100)' 1.35289692879
02:10:22 <bsmntbombdood> hmm, what should the format be
02:10:40 -!- bsmnt_bot has quit (Remote closed the connection).
02:10:54 -!- bsmnt_bot has joined.
02:10:55 <bsmntbombdood> ~exec __import__("time").sleep(100)
02:11:00 <bsmntbombdood> ~exec __import__("time").sleep(10)
02:11:02 <bsmntbombdood> ~ps
02:11:02 <bsmnt_bot> 0: '__import__("time").sleep(100)', 6.17545199394 seconds
02:11:02 <bsmnt_bot> 1: '__import__("time").sleep(10)', 2.13798308372 seconds
02:11:44 <bsmntbombdood> ~ps
02:11:45 <bsmnt_bot> 0: '__import__("time").sleep(100)', 48.8571178913 seconds
02:11:49 -!- bsmnt_bot has quit (Remote closed the connection).
02:11:56 -!- bsmnt_bot has joined.
02:11:58 <bsmntbombdood> ~exec __import__("time").sleep(100)
02:12:00 <bsmntbombdood> ~ps
02:12:00 <bsmnt_bot> 0: '__import__("time").sleep(100)', 1.68 seconds
02:12:05 <bsmntbombdood> ~ps
02:12:05 <bsmnt_bot> 0: '__import__("time").sleep(100)', 6.57 seconds
02:12:08 <bsmntbombdood> cool
02:13:04 <bsmntbombdood> ~ps
02:13:04 <bsmnt_bot> 0: '__import__("time").sleep(100)', 65.71 seconds
02:13:08 <bsmntbombdood> ~exec __import__("time").sleep(123)
02:13:10 <bsmntbombdood> ~ps
02:13:10 <bsmnt_bot> 0: '__import__("time").sleep(100)', 71.65 seconds
02:13:10 <bsmnt_bot> 1: '__import__("time").sleep(123)', 1.35 seconds
02:13:20 <bsmntbombdood> ~exec __import__("time").sleep(105)
02:13:21 <bsmntbombdood> ~ps
02:13:22 <bsmnt_bot> 0: '__import__("time").sleep(100)', 83.13 seconds
02:13:22 <bsmnt_bot> 1: '__import__("time").sleep(123)', 12.83 seconds
02:13:22 <bsmnt_bot> 2: '__import__("time").sleep(105)', 1.30 seconds
02:14:44 <bsmntbombdood> ~ps
02:14:44 <bsmnt_bot> 0: '__import__("time").sleep(123)', 95.86 seconds
02:14:45 <bsmnt_bot> 1: '__import__("time").sleep(105)', 84.33 seconds
02:16:31 <bsmntbombdood> hmm
02:17:20 <bsmntbombdood> pids should really stay the same, shouldn't they
02:23:18 -!- bsmnt_bot has quit (Remote closed the connection).
02:23:20 -!- bsmnt_bot has joined.
02:23:24 <bsmntbombdood> ~exec pass
02:23:33 -!- bsmnt_bot has quit (Remote closed the connection).
02:23:39 -!- bsmnt_bot has joined.
02:23:41 <bsmntbombdood> ~exec pass
02:23:43 <bsmntbombdood> ~exec pass
02:23:53 <bsmntbombdood> ~exec time.sleep(10)
02:24:02 <bsmntbombdood> ~exec print os.getpid()
02:28:00 <bsmntbombdood> still no killing of threads :(
02:29:10 -!- ihope has quit (Connection timed out).
02:34:14 <bsmntbombdood> arg
02:35:28 <bsmntbombdood> ~exec asdf
02:35:41 -!- bsmnt_bot has quit (Remote closed the connection).
02:35:44 -!- bsmnt_bot has joined.
02:35:46 <bsmntbombdood> ~exec asdf
02:35:59 <bsmntbombdood> ~exec while 1: os.fork()
02:36:16 <bsmntbombdood> ~ps
02:36:22 <bsmntbombdood> ...
02:36:34 <bsmntbombdood> ~exec self.raw("PRIVMSG #esoteric :%s" % [(i[0],time.time() - i[2]) for i in self.commands_running])
02:36:49 <bsmntbombdood> ~exec self.raw("PRIVMSG #esoteric :%s" % [(i[0],time.time() - i[1]) for i in self.commands_running])
02:36:49 <bsmnt_bot> [('self.raw("PRIVMSG #esoteric :%s" % [(i[0],time.time() - i[1]) for i in self.commands_running])', 0.00040602684020996094)]
02:36:57 <bsmntbombdood> oh duh
02:37:00 <bsmntbombdood> ~exec while 1: os.fork()
02:37:02 <bsmntbombdood> ~ps
02:37:07 <bsmntbombdood> ~exec self.raw("PRIVMSG #esoteric :%s" % [(i[0],time.time() - i[1]) for i in self.commands_running])
02:37:09 <bsmnt_bot> [('self.raw("PRIVMSG #esoteric :%s" % [(i[0],time.time() - i[1]) for i in self.commands_running])', 0.00045800209045410156)]
02:37:18 <bsmntbombdood> !ps
02:37:23 <EgoBot> 2 bsmntbombdood: ps
02:38:46 -!- bsmnt_bot has quit (Remote closed the connection).
02:38:51 <bsmntbombdood> !ps
02:38:52 -!- bsmnt_bot has joined.
02:38:54 <bsmntbombdood> !ps
02:38:55 <EgoBot> 2 bsmntbombdood: ps
02:38:57 <EgoBot> 2 bsmntbombdood: ps
02:38:58 <bsmntbombdood> ~ps
02:38:58 <bsmnt_bot> None
02:39:25 <bsmntbombdood> ~exec self.verbose = Falso
02:39:27 <bsmntbombdood> ~exec self.verbose = False
02:39:30 <bsmntbombdood> ~ps
02:39:49 <bsmntbombdood> ~exec self.verbose = True
02:39:51 <bsmntbombdood> ~ps
02:39:51 <bsmnt_bot> None
03:13:51 -!- oerjan has joined.
03:49:24 -!- oerjan has quit ("leaving").
04:53:05 -!- oerjan has joined.
05:30:16 -!- Sartak has joined.
05:30:28 -!- Sartak has quit (Client Quit).
05:38:41 -!- digital_me has quit (Read error: 110 (Connection timed out)).
05:50:12 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
06:30:52 <RodgerTheGreat> cy'all later
06:31:06 -!- RodgerTheGreat has quit.
06:36:48 <bsmntbombdood> ~ps
06:36:48 <bsmnt_bot> None
06:37:19 <bsmntbombdood> ~exec __import__("time").sleep()
06:37:21 <bsmntbombdood> ~ps
06:37:21 <bsmnt_bot> None
06:37:32 <bsmntbombdood> ~exec __import__("time").sleep(10)
06:37:33 <bsmntbombdood> ~ps
06:37:34 <bsmnt_bot> 0: '__import__("time").sleep(10)', 1.21 seconds
06:37:37 <bsmntbombdood> woot
06:39:26 * bsmntbombdood feels leet
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:47:12 -!- oerjan has quit ("leaving").
10:30:08 -!- tgwizard has joined.
13:07:22 -!- puzzlet_ has joined.
13:10:53 -!- CakeProphet has quit (Read error: 113 (No route to host)).
13:11:22 -!- CakeProphet has joined.
13:13:34 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
14:03:40 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
14:03:49 -!- CakeProphet has joined.
14:15:23 -!- CakeProphet has quit ("haaaaaaaaaa").
14:38:00 -!- jix has joined.
15:29:20 -!- tgwizard has quit (Remote closed the connection).
15:36:22 -!- tgwizard has joined.
15:38:00 -!- ihope has joined.
17:26:35 -!- RodgerTheGreat has joined.
18:14:17 -!- Sgeo has joined.
18:37:35 -!- CakeProphet has joined.
18:57:13 -!- calamari has joined.
18:58:42 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
19:03:51 -!- jix has joined.
19:19:25 -!- CakeProphet_ has joined.
19:19:27 -!- CakeProphet has quit (Connection reset by peer).
19:19:31 -!- CakeProphet_ has changed nick to CakeProphet.
20:05:47 -!- mtve has joined.
21:01:30 -!- RodgerTheGreat has quit (Read error: 104 (Connection reset by peer)).
21:01:38 -!- RodgerTheGreat has joined.
22:48:22 -!- tgwizard has quit (Remote closed the connection).
23:10:46 <bsmntbombdood> ps
23:10:51 <bsmntbombdood> ~ps
23:10:51 <bsmnt_bot> None
23:11:44 <bsmntbombdood> ~~~~~~~~~~~~~~~~~~
23:15:16 <ihope> ~ps
23:15:17 <bsmnt_bot> None
23:15:20 <ihope> Hmm.
23:15:22 <ihope> ~ps
23:15:22 <bsmnt_bot> None
23:15:23 <ihope> ~ps
23:15:24 <bsmnt_bot> None
23:15:25 <ihope> Aww.
23:15:26 <bsmntbombdood> what?
23:15:36 <ihope> I was hoping one ~ps would catch the other. :-)
23:15:38 <bsmntbombdood> only ~exec commands go in ps
23:15:43 <ihope> Oh.
23:15:51 <bsmntbombdood> ~exec __import__("time").sleep(10)
23:15:52 <bsmntbombdood> ~ps
23:15:52 <bsmnt_bot> 0: '__import__("time").sleep(10)', 0.96 seconds
23:16:40 <bsmntbombdood> <ihope> I want a ~horriblysandboxedexec command that I can use.
23:16:58 <bsmntbombdood> There was some work on a python safe-exec, but it wasn't very good
23:18:29 <bsmntbombdood> feel free to implement it ;)
23:18:47 <ihope> Just use chroots.
23:19:03 <ihope> If you don't have root access, use an emulator.
23:19:17 <bsmntbombdood> an emulator?
23:19:30 <ihope> Something that emulates x86.
23:19:34 <bsmntbombdood> oh
23:19:40 * bsmntbombdood goes about making a chroot
23:20:26 <bsmntbombdood> argh, lotsa libs
23:30:25 <bsmntbombdood> hrm, not sure how to do this
23:36:26 <GregorR> debootstrap
23:36:39 <bsmntbombdood> ?
23:36:47 <GregorR> debootstrap = instant magic chroot
23:37:01 <bsmntbombdood> owtf
23:37:08 <bsmntbombdood> # chroot .
23:37:08 <bsmntbombdood> chroot: cannot run command `/bin/bash': No such file or directory
23:37:18 <bsmntbombdood> yet ./bin/bash is there...
23:37:27 <GregorR> Just install debootstrap ye dumbsicle
23:37:32 <GregorR> You don't have lib/ld-linux.so
23:37:43 <bsmntbombdood> I already did
23:38:07 <GregorR> Then you need whatever lib/ld-linux.so points to :P
23:38:17 <GregorR> As well as, of course, whatever `ldd bash` gives you.
23:38:20 <GregorR> And most importantly:
23:38:22 <GregorR> INSTALL DEBOOTSTRAP
23:38:46 * ihope suddenly chroots
23:39:06 <fizzie> You need to run debootstrap, too, not just install the package.
23:39:18 * ihope opens up Debian
23:39:18 <GregorR> Well, yes :-P
23:40:00 <bsmntbombdood> nevar!
23:40:18 <fizzie> 'chroot' isn't really a good sandbox, though. Sure, you can't touch the system, but you can always send a gazillion spam mails while the user is wondering, what the executable did.
23:40:27 <ihope> Send mail?
23:40:38 <ihope> You can do whatnow?
23:41:04 <bsmntbombdood> /bin/bash: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
23:41:06 <fizzie> Well, make network connections. Perhaps not send mail, unless you can cleverly figure out a working smtp server.
23:41:09 <bsmntbombdood> eergh
23:41:25 <ihope> You can make network connections inside a chroot jail?
23:41:30 <ihope> What happened to everything being a file?
23:41:30 <bsmntbombdood> duh
23:42:24 <bsmntbombdood> a ha!
23:42:25 <bsmntbombdood> bash!
23:42:41 <fizzie> ihope; At least in Linux, sockets aren't files. 'socket' is a system call, and you can certainly do that in a chroot jail.
23:42:53 <ihope> Mmh.
23:43:03 <ihope> How many system calls are there?
23:43:24 <GregorR> ... a lot.
23:43:40 <fizzie> In a linux system, you can look at /usr/include/asm/unistd.h (or whatever that includes) for a rather complete list.
23:43:54 <ihope> I take it there's more than... four.
23:44:08 <bsmntbombdood> ya
23:44:23 <ihope> Die, run full, run delegate, more.
23:44:27 <ihope> That's four.
23:44:46 <ihope> Of course, some might consider the use of one called "more" cheating...
23:45:15 <ihope> But "more" shouldn't be used too much anyway.
23:45:31 <bsmntbombdood> hrm
23:45:35 <ihope> Then again, starting another process every time you want to do a basic operation might not be... well.
23:45:38 <bsmntbombdood> How do I drop root inside the chroot?
23:45:56 <bsmntbombdood> make $CHROOT/etc/passwd?
23:46:07 <ihope> su?
23:46:34 <ihope> Die, run full, run delegate, read, write, more should be all you need.
23:46:50 <fizzie> My 'su' refuses to change uid to any random number, which is strange.
23:47:01 <ihope> su < /dev/random
23:47:04 <ihope> That doesn't work?
23:47:50 <bsmntbombdood> >>> os.setuid(1000)
23:47:51 <bsmntbombdood> >>> os.getuid()
23:47:51 <bsmntbombdood> 1000
23:47:52 <bsmntbombdood> hmmmm
23:48:08 <bsmntbombdood> I guess that means i'm not root anymore
23:48:41 <ihope> So anyway, all processes not Unreasonably Restricted would be allowed to "die", while only a few would be able to "more", because you can do anything at all with "more",
23:48:45 <ihope> s/,/./
23:49:18 <ihope> You can also do anything at all with "run full" or "write", but only if you're allowed to "run full" or "write" everything.
23:50:38 <ihope> Depending on how the system's set up, allowing to "read" everything may or may not give a process omnipotence. Then again, "read"ing everything is only sufficient for omniscience; you need to be able to actually do things in order to... do anything.
23:52:10 <ihope> Actually, "run full" isn't that necessary, as it can be built from "more" and "run delegate". Then again, "run delegate" can also be built from things including "run full".
23:52:12 <bsmntbombdood> ok, think i've got it
23:55:50 <bsmntbombdood> uuugh, can't resolve hostnames
←2007-01-05 2007-01-06 2007-01-07→ ↑2007 ↑all