Services
Blog
Français
In the process of making YourLabs new cloud, I ordered a first dedicated server at online.net. They don’t provide an installer for Arch Linux, but they do provide a “rescue mode” which is at this time Ubuntu 13.04 Live. Boot that and get an Arch Linux install on BtrFS with just one command:
Format /dev/sda to BtrFS Partionning and install arch linux in subvolumes with just one command:
ansible-playbook -i "yourhostname," -e "hostname=your_host_name" --ask-sudo-pass rescue_reinstall_arch_linux.yml
If you just want to debug your arch root on /dev/sda through Ubuntu Live,
then this command will make it operationnal in /tmp/root.x86_64/mnt:
YourLabs community repository also got its x-mas magical commit with a bit of phisolophy ;)
Check out yawd-admin for Django, it’s responsive and beautiful !
Django 1.7 final has been released, and it’s awesome, check it out !
A great article summarizing many of the possibilities of SSH, a must-read !
GitBook looks promising, see how classy that Javascript book build with GitBook is !
This article follows up with Basics of GDB debugging, focus on symbols.
nmUse the nm command to list symbols in a binary:
$ nm main
0000000000600920 B __bss_start
0000000000600920 b completed.6330
0000000000600910 D __data_start
0000000000600910 W data_start
0000000000400440 t deregister_tm_clones
00000000004004b0 t __do_global_dtors_aux
00000000006006f8 t __do_global_dtors_aux_fini_array_entry
0000000000600918 D __dso_handle
0000000000600708 d _DYNAMIC
0000000000600920 D _edata
0000000000600928 B _end
00000000004005a4 T _fini
00000000004004d0 t frame_dummy
00000000006006f0 t __frame_dummy_init_array_entry
00000000004006e8 r __FRAME_END__
00000000006008e0 d _GLOBAL_OFFSET_TABLE_
w __gmon_start__
00000000004003a8 T _init
00000000006006f8 t __init_array_end
00000000006006f0 t __init_array_start
00000000004005b0 R _IO_stdin_used
w _ITM_deregisterTMCloneTable
w _ITM_registerTMCloneTable
0000000000600700 d __JCR_END__
0000000000600700 d __JCR_LIST__
w _Jv_RegisterClasses
00000000004005a0 T __libc_csu_fini
0000000000400530 T __libc_csu_init
U __libc_start_main@@GLIBC_2.2.5
00000000004004fd T main
U printf@@GLIBC_2.2.5
0000000000400470 t register_tm_clones
0000000000400410 T _start
0000000000600920 D __TMC_END__
0000000000600924 B YourGlobalVariable
Here’s a snippet from man nm which explains what we see here:
GDB is a debugger for executables “objects” on Linux. It will use source code and “debug symbols” if available:
What’s the relation between security and GDB ? Well it will help finding security bugs which may be vulnerabilities to buffer overflow.
Consider the following C source code example for hello world:
Read MoreThis is the first of a series of articles on security and exploiting. For starters we’ll cover basic debugging tools before we get into actual exploiting because the first step to exploiting is reverse-engineering most of the time.
The series targets experienced developers and tries to go straight to the point for them. Every article in this series is tagged “security”.
strace is a tool that prints system calls like open, connect, etc … and signals like INT, KILL, etc … of a process. It is very useful to know what a program is doing.
Read More