Spørsmål:
Hvordan kan jeg dekode denne php-koden?
Ansh Gujral
2015-06-15 22:08:16 UTC
view on stackexchange narkive permalink

Jeg fant denne bakdøren på en klients nettsted.

http://pastebin.com/wVs8w44v (originalformat)

http://pastebin.com/acfx49QJ (halvlestbar)

Jeg har blitt kvitt det og innser at det er et forvirret skript, men hvordan kan jeg deobfusere det for å komme til roten til denne saken og forstå motivet bak dette angrepet bedre? / p>

Takk!

Du er velkommen (relatert til slettet spørsmål på IT-sikkerhetssiden). Prøv å ta med de viktigste delene (eller i dette tilfellet et eksempel) av koden på ethvert SE-nettsted.
En svar:
Jason Geffner
2015-06-15 23:08:23 UTC
view on stackexchange narkive permalink

Jeg skrev et lite Python-skript for å avfusjonere flertallet av strengforvirringen:

  importer urllibimport rephp = urllib.urlopen ("http://pastebin.com/raw.php?i = wVs8w44v "). les () # Litt modifikasjon nedenfor slik at vi ikke unnslipper $ z26 =" jmiO @ sxhFnD>J \ r / u + RcHz3} g \ nd {^ 8? eVwl_T \\\ t | N5q) LobU] 40! P%, rC-97k<'y = W: P $ 1BI&S6 \ "E (K`Y ~ .Q; f [v2a # X * ZAGtM" # Dekoder alle $ z26 [...] strenger for jeg i rekkevidde ( len (z26)): php = php.replace ("$ z26 [" + str (i) + "]", "\" "+ z26 [i] +" \ "") # Sammensetning avkodet stringsphp = php.replace ("\". \ "", "") # Erstatt alle $ GLOBALS [...] globaler = {} for m i re.finditer ("\ $ GLOBALS \ ['(? P<key> \ w +?)' \] = \ "(? P<value>. *?) \"; ", Php): globaler [m.group (" nøkkel ")] = m.group (" value ") php = re.sub (" \ $ GLOBALS \ [ '(? P<key> \ w +?)' \] = \ "(? P<value>. *?) \"; "," ", Php) for nøkkel i globals.keys (): php = php.replace (" $ GLOBALS [ '"+ nøkkel +"'] ", globaler [nøkkel]) skriv ut php  kode> 

Jeg formaterte deretter utdataene med http://phpbeautifier.com/ og lagret resultatene på http://pastebin.com/p7Tmvq4e.

Det eneste som er igjen å gjøre er å gi nytt navn til funksjonene og argumentene, men det kan ikke enkelt automatiseres. Jeg tror imidlertid at innholdet på http://pastebin.com/p7Tmvq4e skal tilfredsstille dine behov!

Setter virkelig pris på innsatsen din for dette trivielle problemet mitt. Jeg vil anbefale deg hvis jeg kunne.


Denne spørsmålet ble automatisk oversatt fra engelsk.Det opprinnelige innholdet er tilgjengelig på stackexchange, som vi takker for cc by-sa 3.0-lisensen den distribueres under.
Loading...