Jak to jest z tym little-endian

W tym poście postaram się opowiedzieć trochę o kolejności bitów w pamięci. Zacznijmy od trzęsienia ziemi int main() { long int x=0x4142434445464748; } $ gcc -g main.c -o main $ gdb main (gdb)$ break main (gdb)$ layout src (gdb)$ r (gdb)$ s Na systemie 64-bitowym, nasza zmienna ma 8 bajtów. Dlatego ją wypiszmy: (gdb)$ x/1gx &x 0x7fffffffdca8: 0x4142434445464748 ale 64 … Czytaj dalej

How it is with little-endian

In this post I’m going to tell something about little endian. Let’s start with earthquake int main() { long int x=0x4142434445464748; } $ gcc -g main.c -o main $ gdb main (gdb)$ break main (gdb)$ layout src (gdb)$ r (gdb)$ s In 64bit OS, long ing has 8 bytes So, let’s print it (gdb)$ x/1gx &x 0x7fffffffdca8: 0x4142434445464748 But, 64bits … Czytaj dalej

col – pwnable.kr

W tym poście rozwiążemy sobie zadanie col ze strony pwnable. Analiza wstępna Aby zalogować się do zadania wykonujemy: $ ssh col@pwnable.kr -p2222 a jako hasło podajemy guest. Po zalogowaniu się widzimy 3 pliki fd@ubuntu:~$ ls -l total 16 -r-sr-x— 1 col_pwn col 7341 Jun 11 2014 col -rw-r–r– 1 root root 555 Jun 12 2014 col.c -r–r—– 1 col_pwn col_pwn … Czytaj dalej

fd – pwnable.kr

W tym poście rozwiążemy sobie zadanie fd ze strony pwnable. Aby zalogować się do zadania wykonujemy: $ ssh fd@pwnable.kr -p2222 a jako hasło podajemy guest. Po zalogowaniu się widzimy 3 pliki fd@ubuntu:~$ ls -l total 16 -r-sr-x— 1 fd_pwn fd 7322 Jun 11 2014 fd -rw-r–r– 1 root root 418 Jun 11 2014 fd.c -r–r—– 1 fd_pwn root 50 Jun … Czytaj dalej

Hacking the chroot/docker

W tym poście pokażę jak mając root w chroot dostać się do systemu nadzorcy. Tym samym chcę pokazać, dlaczego nie należy przyznawać praw administratora użytkownikowi nawet w chroot. Crash course Ponieważ docker (podobnie jak większość technologi kontenerowych) używa chroot-a, wyjście z chroot czy docker sprowadza się do tej samej metody. Poniższa metoda wymaga posiadania konta root w kontenerze uruchomionego z uprawnieniami privileged (w … Czytaj dalej

Podstawy chroot

W tym poście omówię ręczne tworzenie chroot-a, uruchamianie w nim aplikacji a także wykorzystanie go wraz z usługą ssh, do ograniczania uprawnień użytkowników logujących się do serwera. Czym jest chroot? Chroot jest skrótem od change root i określa mechanizm zmiany katalogu bazowego dla uruchamianego procesu. Powoduje to, że dany proces oraz wszystkie jego procesy pochodne odnosząc się do ścieżki / … Czytaj dalej

Haproxy vs LVS

W tym poście omówię temat balansowania ruchu. Przedstawię dwa popularne rozwiązania: Haproxy oraz LVS, a następnie przeprowadzę testy wydajności obydwu rozwiązań w środowisku z wysyconym łączem wychodzącym. Uwaga: Ten post jest pisany po nagraniu materiału na YouTube. Dlatego zachowany został chaotyczny charakter tego materiału Teoria Czym jest balansowanie ruchu? Wyobraźmy sobie, że mamy klientów, którzy chcą odpytać o stronę www, np: strona.pl. Gdybyśmy … Czytaj dalej