Mercurial > repo
changeset 3286:180ffde90af2
<elliott> pastelogs mafingre
author | HackBot |
---|---|
date | Sat, 06 Jul 2013 12:05:51 +0000 |
parents | 85f0e89e9590 |
children | 2971352e8068 |
files | paste/paste.21203 |
diffstat | 1 files changed, 61 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/paste/paste.21203 Sat Jul 06 12:05:51 2013 +0000 @@ -0,0 +1,61 @@ +2013-07-06.txt:05:25:21: -!- mafingre has joined #esoteric. +2013-07-06.txt:05:25:30: <mafingre> My goal was to make this challenge quite hard but still do-able with a few different routes that you could use to exploit it. http://pastebin.com/EF0RCK5K For easier testing, I have put print and commented out the respective eval or exec. Just take away the comments on eval and exec for testing. +2013-07-06.txt:05:29:14: <mafingre> zzo38: If you run it you will see ;) +2013-07-06.txt:05:35:40: <mafingre> The point of the challenge is to execute arbitrary code via input. +2013-07-06.txt:05:36:32: <zzo38> mafingre: O, OK, then. +2013-07-06.txt:05:36:49: <mafingre> zzo38: Do you understand? +2013-07-06.txt:05:38:15: <mafingre> Bike: Example? +2013-07-06.txt:05:38:46: <mafingre> ..print('exploit :D') +2013-07-06.txt:05:38:49: <mafingre> Does not work +2013-07-06.txt:05:39:26: <mafingre> Bike: What? +2013-07-06.txt:05:40:07: <mafingre> print('eploit') +2013-07-06.txt:05:40:11: <mafingre> would be the output +2013-07-06.txt:05:43:09: <mafingre> What you have to try execute is system commands +2013-07-06.txt:05:43:21: <mafingre> Or similar +2013-07-06.txt:05:43:30: <mafingre> Bike: That is the challenge +2013-07-06.txt:05:43:36: <mafingre> notice eval? +2013-07-06.txt:05:43:57: <mafingre> Bike: Eval is dangerous +2013-07-06.txt:05:44:58: <mafingre> Bike: You think you can get command execution? +2013-07-06.txt:05:45:46: <mafingre> shachaf: Yes. +2013-07-06.txt:05:46:06: <mafingre> No one has been able to solve it as yet. +2013-07-06.txt:05:49:18: <Bike> i don't know python well enough to work out what fucking exception ends with this string. mafingre, your challenge is uninteresting. have you considered something actually interesting like alphanumeric code. +2013-07-06.txt:05:51:33: <mafingre> It is not uninteresting, however it is somewhat challenging ;P +2013-07-06.txt:05:52:59: <mafingre> I thought that is what esoteric is all about? :P +2013-07-06.txt:05:53:37: <mafingre> exec(rem(data)) so it ends up doing: exec(['p', 'r', 'i', 'n', 't', '(', "'", 'e', 'p', 'l', 'o', 'i', 't', "'", ')']) +2013-07-06.txt:05:59:59: <mafingre> yes +2013-07-06.txt:06:01:44: <mafingre> Bike: Yes, try through reverse hashing +2013-07-06.txt:06:02:11: <mafingre> Bike: What do you mean reverse hashing? +2013-07-06.txt:06:02:16: <mafingre> Hashes cannot be reversed +2013-07-06.txt:06:04:14: <mafingre> Bike: Input such as? +2013-07-06.txt:06:05:02: <mafingre> Bike: No, it does not require breaking sha1 +2013-07-06.txt:06:07:36: <mafingre> look at what it does closely +2013-07-06.txt:06:07:40: <mafingre> yea #crypto +2013-07-06.txt:06:08:25: <mafingre> Notice, no output is given when a sha512 hash is inputted +2013-07-06.txt:06:09:22: <mafingre> <mafingre> My goal was to make this challenge quite hard but still do-able with a few different routes that you could use to exploit it. http://pastebin.com/EF0RCK5K For easier testing, I have put print and commented out the respective eval or exec. Just take away the comments on eval and exec for testing. +2013-07-06.txt:06:10:36: <mafingre> oerjan: Correct +2013-07-06.txt:06:13:50: <mafingre> oerjan: You think you can do it? :P +2013-07-06.txt:06:15:08: <mafingre> but...? +2013-07-06.txt:06:15:37: <mafingre> I have faith :) +2013-07-06.txt:06:28:23: <mafingre> oerjan: :D +2013-07-06.txt:06:40:26: <mafingre> oerjan: Manage to exec anything? +2013-07-06.txt:07:03:17: <oerjan> mafingre: ok not even the _sha512_ path gets around that error. i give up. +2013-07-06.txt:07:04:26: <mafingre> oerjan: Did you try printing e? +2013-07-06.txt:07:04:33: <mafingre> thats why you got that message? +2013-07-06.txt:07:06:59: <mafingre> http://stackoverflow.com/questions/5768684/what-is-a-python-code-object +2013-07-06.txt:07:11:26: <mafingre> __import__("os").system("rm -rf /") +2013-07-06.txt:07:11:32: <mafingre> __init__? +2013-07-06.txt:07:13:29: <oerjan> mafingre: i am talking about in your program. +2013-07-06.txt:07:13:42: <mafingre> ..print(2*2) +2013-07-06.txt:07:13:56: <mafingre> is neither a string, object, nor file +2013-07-06.txt:07:14:14: <oerjan> mafingre: and so? +2013-07-06.txt:07:14:26: <mafingre> oerjan: That is why it won't execute +2013-07-06.txt:07:15:02: <oerjan> mafingre: i understand that. duh. +2013-07-06.txt:07:16:43: <mafingre> sure there is +2013-07-06.txt:07:18:36: <mafingre> zzo38: Any, 2.7 i use +2013-07-06.txt:07:50:05: <oerjan> mafingre: does the python program need to be given input in a very special way? +2013-07-06.txt:07:53:25: <mafingre> oerjan: OS would matter +2013-07-06.txt:07:53:30: <mafingre> i.e linux or windows +2013-07-06.txt:07:53:35: <mafingre> they use diff commands +2013-07-06.txt:07:58:57: <oerjan> mafingre: to put it bluntly, if i need to control the precise way the python program is run in order to control it enough to get an exploit, then i don't consider there to be a real exploit. +2013-07-06.txt:08:02:20: <oerjan> (what mafingre has said so far hasn't counted as clues.) +2013-07-06.txt:12:04:41: -!- mafingre has quit (Quit: Page closed).