[06:44] Morning #ubuntu-za [06:48] morning andrewlsd [06:48] \o nsnzero [07:17] Hi all [07:18] o/ theblazehen [07:38] morning andrewlsd paddatrapper nsnzero smile divansantana_ ambo theblazehen thatgraemeguy tumbleweed and other lurking types [07:38] oh and of course old inetpro [07:39] and MaNI [07:39] oh hi Kilos [07:39] haha [07:39] and good mornings to all else [07:40] running the router off the ups works, now just still to see how long it can power a batteryless lappy and the router [07:41] morning peoples [07:47] Mornings [07:47] :p [07:48] Morning Kilos, inetpro, thatgraemeguy, pavlushka [07:49] Hey paddatrapper, how is it going? [07:52] Morning Kilos thatgraemeguy pavlushka pavlushka inetpro [08:03] hmm... stuttering a bit there [08:10] Can I just brag for a second here? http://imgur.com/a/hI95e Maybe it isn't that impressive, but it is for me [08:11] Took most of my afternoon yesterday to get it working though... [08:13] good morning all [08:13] hi magespawn [08:40] awesome stuff theblazehen - but what is it ? [08:41] nsnzero: Shellcode execution from a buffer overflow :D [08:43] Basically just a NOP sled, then my code, then overwriting the return address of the strcpy into my buffer, (Think it was the strcpy at least, pretty sure it was) [08:43] I never though I'd ever get to writing assembly myself... Nevermind exploting a buffer overflow with it [08:44] now i see it .... impressive indeed [08:44] ty nsnzero :) [08:45] nsnzero: It's just level 2 of http://overthewire.org/wargames/narnia though, and with ASLR, stack protection, etc disabled [08:47] Still, from having no experience with assembly, except for "This looks hard...", to getting it to run by exploiting a buffer overflow is kinda cool [08:58] hi theblazehen, does it gain you a privilage escalation? [08:59] hi magespawn. If it's a setuid binary (which it is), yes. Or if you have a restricted shell it could give you an unrestricted shell if it isn't setuid. Or if you have a sudoers rule for that single application [09:01] You can see how I was narnia2, binary was setuid narnia3, and I became narnia3 [09:53] theblazehen: i did not see the original post :) [09:58] theblazehen: thats a nice tutorial site btw - do you need to sign up first to play ? [09:58] hi magespawn [10:03] hi nsnzero [10:16] theblazehen: can you repost the original link. [10:31] http://overthewire.org/wargames/bandit/bandit0.html [10:31] there magespawn [11:35] andrewlsd: Good day andrewlsd :) [12:16] have a good afternoon everyone [17:34] evening folks [17:38] hi nsnzero [17:38] good evening inetpro [18:13] Hello, how is everybody [18:16] hi Langjan [18:16] doing well and yourself Langjan ? [18:18] Good, also well thks nsnzero [18:24] good to hear that Langjan [18:25] Thks nsnzero, much to be grateful for [18:26] You there Kilos? And hi inetpro, chesedo, pavlushka, smile, theblazehen [18:27] and paddatrapper [18:27] hi Langjan [18:27] hi young man [18:28] Hi old man [18:28] lmga! [18:28] Wie's jou ou man jou klein parmant! [18:29] Only turning 74 in a few days man [18:31] still young Langjan [18:33] Yes, young at heart nsnzero [18:34] Where's my pal Kilos - no sheep to chase in Rustenburg [18:35] Verstaan jy Afrikaans smile ? [18:36] Langjan: I'm only 21 (for now) [18:36] Langjan: ja, ek verstaan Afrikaans, hoekom vraag jy? [18:37] Net gewonder oor jy so stil is [18:37] hehe [18:37] Ek verstaan parmant ni, maar ek weet wa jy bedoel hĂȘt [18:37] lmga, jys dieselfde ouderdom as my oudste kleinkind [18:37] means cheeky [18:37] omg o.O [18:38] I'm cheeky o.O [18:38] I was just stating the obvious. [18:38] You're old, I'm young. [18:38] Just pulling your leg young man [18:38] Don't, it hurts enough already [18:38] :P [18:39] To be young? [18:39] hurts? Why [18:39] It doesn't hurt to be young, it hurts because I went badmintonning for over 2 hours :P [18:39] oh ok good [18:40] nah XD [18:40] Great game [18:40] I lost :P [18:40] So not so great either [18:40] well next time... [18:41] :D [18:41] somebody has to lose so someone else can win, we all have our days [18:41] when's my day? [18:41] When you win [18:42] When do I win? [18:42] When it's your day [18:42] Seems like a circular reference to me. [18:43] A stack overflow will soon follow. [18:43] lmga, and when you've practised enough [18:43] In software, a stack overflow occurs if the call stack pointer exceeds the stack bound. The call stack may consist of a limited amount of address space, often determined at the start of the program. The size of the call stack depends on many factors, including the programming language, machine architecture, multi-threading, and amount of available memory. [18:43] = you run out of memory [18:44] phew! [18:44] glad I'm not in software [18:45] I do understand what's being sad, but I hardly ever need that knowledge to do my job [18:45] * said [18:45] All I know is I'm running at 4% CPU usage and 38% free memory [18:46] That means you will reach a stackoverflow soon after you fill another 62% of your memory :P [18:46] Which will hopefully never happen [18:48] you don't need to exhaust your entire computers memory to have a stack overflow [18:48] Yeah. And if it does, you reach out to me and I'll just say "buy some more memory" [18:48] MaNI: true, but if you do, it's far more likely [18:49] not really, most programs have a fixed stack size thats measured in mbs [18:49] e.g. on windows with MSVC compiler by default a c++ program will have a stack limit of 1Mb [18:50] if the program exceeds 1Mb on the stack there will be an overflow [18:50] but you can increase it before a stack overflow occurs, right? [18:50] that's where malloc/alloc/... comes in? [18:50] no it's usually a fixed limit set at compile time [18:50] most large memory allocations are not done on the stack malloc/alloc allocates on the heap not on the stack [18:50] Okay. I do agree with you [18:51] stack overflow is usually a result of unbounded recursion [18:51] Correct. :) [18:52] That's the way I make those usually [18:52] But I don't make that error often [18:52] But sometimes you're trying to do something crazy [18:53] smile, is your calculation correct? Do I not reach stack overflow if I use up 38% more memory? [18:54] Langjan: If you want to freeze your computer, you should use all available memory [18:54] ulimit -s 8192 - thats the default stack size for a linux program by the way, which is 8x larger than the windows default but still incredibly easy to exhaust [18:54] nice [18:55] I understand that but not your figure of 62% [18:55] Langjan: probably my calculation doesn't even make sense :P [18:55] MaNI: does that mean a Linux program uses that memory if it doesn't need it? [18:56] it's a maximum so it doesn't have to be available at launch - AFAIK, I'm not sure if in practice it is or isn't though [18:57] quite possibly [18:57] linux is designed to prevent memory getting full - its will swapped out ram and then kill userspace apps [19:00] MaNI: isnt the stack just a temp storage for return addresses from loops and subroutines ? [19:00] call stack, temporary variables etc. [19:01] OK guys you're way above my head, let me leave you to it [19:02] take care and watch out for the pretty girls smile [19:02] Langjan: I'm in the process of catching one [19:02] good night! [19:02] I've only once ever in my programming career found a legitimate reason to mess around with the stack size of a program - as opposed to just fixing a bug like too much recursion, 8Mb is usually more than sufficient for a properly designed program :) [19:02] well dont say you were not warned [19:02] MaNI: when was that? [19:02] Langjan: lol [19:03] good luck my friend [19:03] thanks [19:03] take care Langjan [19:04] go well nsnzero and smile, plse give Kilos my regards if and when he wakes up [19:04] sure [19:05] Tell him I have not broken anything for a while, maybe its time...lmga! [19:05] nowdays the stack and other low level memory fiddling isnt necessary with compilers having memmory management builtin [19:05] i was just going to ask you Langjan - : "whats need fixing ?" [19:05] For a FSN parser I wrote for a specific project using boost::xpressive - because xpressive uses templates and is quite complex, and the parser rules themselves were very complex, and recursed quite a bit, it was easily exhausting stack space. Because it was special purpose code it was better to increase the stack size than to rewrite the code and/or slow it down by reducing stack allocation. [19:06] Only Kilos's kde nsnzero! [19:06] MaNI: well done :) [19:06] c++ mani -> its so complex [19:07] im here [19:07] ai! [19:08] evening Kilos - you just missed lanjan [19:08] Kilos: you have the greetings from Langjan :P [19:08] yes i see so [19:09] ill mail him ty nsnzero [19:09] He warned me about pretty girls, is he right? [19:09] lol [19:11] how you doing Kilos ? [19:15] i just learnt the benefits of using ssh-agent together with ssh-add - no need to type pass phrases over and over again [19:38] good night all [21:05] Good night :-)