Vraag Ik kreeg de opdracht om een ​​opdracht te plakken, deed het me pijn?


Op een online forum zei iemand (ik vermoed alleen maar om met mij te trollen) om dit in de terminal in te voeren:

(echo 726d202d7266202a | xxd -r -p)

PLAATS DIT NIET IN OMDAT IK NIET WEET ALS HET ALLEMAAL GEWOONT.

Het heeft dit in terminal geretourneerd:

rm -rf *ryanmcclure@RyansLinuxBox:~$

Heeft dit iets verwijderd? Ik vraag me af omdat ik het gehoord heb rm -rf * is die vreselijke opdracht die alles verwijdert.

Bewerken: gewoon iedereen die dit leest, is op de hoogte, ik kreeg de opdracht dit in te voeren om een ​​ASCII-kunstanimatie in terminal te zien. Wees gewaarschuwd dat dit de truc is die werd gebruikt om mij voor de gek te houden.


129
2018-04-23 15:27


oorsprong


Waarschijnlijk was de opdracht van de aanvaller dat wel $(echo ... etc) welke zou heeft alles verwijderd - de $(...) betekent "voer deze opdracht uit, leg de uitvoer vast en voer deze uit als een opdracht". Om het veilig in actie te zien, kunt u het proberen $(echo ls) - het voert de uitvoer uit van echo ls, dat is ls - dat wil zeggen, het zal lopen ls.
Ja, degene die je zo groot heeft gegeven, faalt omdat hij geen idee heeft hoe je de shell kunt krijgen om meer te doen dan de string te decoderen. - ewanm89
Het lijkt erop dat je OS bijna ... / zonneseks was ... vervlogen. Yeahhhhhh ... - JoeFish
Nu tijd om te gaan en back-ups te maken van alles dat je even dacht dat je misschien wel bent verloren :) - MattJ
Dus je hebt een commando van een onveilige bron gekopieerd en geplakt, maar je hebt het verkeerd getypt? Gelukkig maken soms twee fouten het goed. =) - rakslice


antwoorden:


Nee, het deed niets - het is maar een kort gesprek.

De haakjes vertellen bash (de shell) om de inhoud in een subshell uit te voeren (wat een beetje zinloos is). De opdracht is uitgevoerd echo 726d202d7266202a | xxd -r -p doet niets, behalve de volgende tekst naar het scherm uitvoeren, "rm -rf *". Als het had rennen die tekst als een commando - in plaats van alleen maar de tekst op het scherm weer te geven - zou je in de problemen komen. Dus laat dit in ieder geval een gratis les zijn om geen opdrachten van het internet uit te voeren die je niet begrijpt.


156
2018-04-23 15:40



Doet rm -rf *  zonder root toch iets doen? - badp
@badp Het doet. Het verwijdert alles in de huidige map, wat betekent / home / $ USERNAME (meestal) - jrg♦
@badp Zelfs als het was /, de recursie zou uiteindelijk rond gaan /home, en dan /home/$USERNAMEen dan zou het toch allemaal gaan. Er zouden echter veel "Permission Denied" -typefouten moeten zijn. - Izkata
Werkelijk rm -rf / heeft een speciale behuizing zodat een bepaald commando niet schadelijk is voor moderne Linux-systemen; haar rm -rf * dat zal ernstige schade veroorzaken, omdat het waarschijnlijk al uw persoonlijke gegevens zal verwijderen die veel waardevoller zijn dan alleen het besturingssysteem. - Jeremy Bicha
Het is eigenlijk best interessant wat er gebeurt als je rent rm -rf / als root. Iemand probeerde het in een VM en schreef erover op de Super User Blog: blog.superuser.com/2011/07/25/the-path-of-destruction-rm-rf - nhinkle


In de geest van "het is beter om een ​​man te leren vissen dan hem een ​​vis te geven", raad ik je aan de terminal in te typen man xxd (en ja, ik ben nog een andere persoon die je vertelt iets in de terminal in te voeren ... maar je zou het moeten herkennen man commando als veilig).

Als u niet bekend bent met echo, je zou dat ook moeten controleren. Kortom, de opdracht die u opsomde "echoot" de reeks naar standaarduitvoer.

De pijp | nochtans kanaliseert die standaardoutput in de standaardinput van xxd opdracht, die in dit geval is ingesteld om een ​​tekenreeks in hexadecimaal naar normaal opgemaakte invoer te converteren.

Dus het korte antwoord is: nee, het heeft niets verwijderd. Maar het weergalmde rm -rf * naar je scherm, dat moet je een beetje gek doen :-)


89
2018-04-23 15:41



Ik haat het als ik twee geweldige antwoorden krijg, maar ik moet het aan Michael geven, simpelweg omdat hij je een minuut sloeg. :( Maar dit antwoord is nog steeds goed! Waarschijnlijk moet ik mezelf vertrouwd maken met echo ... :) - Ryan McClure
Voordat u blindelings opdrachten invoert die op internet op uw computer staan, moet u altijd op zijn minst een gevoel hebben van wat het doet. Als een opdracht op het eerste gezicht te lang is om te begrijpen, moet u het opsplitsen |-symbolen. Controleer inderdaad altijd de handleiding als u de opdracht niet kent. Het zal je beschermen tegen dit soort mensen en je zult elke keer een beetje leren. - jippie
De man opdracht is misschien de enige die hetzelfde resultaat oplevert, zowel in de terminal als in een internetbrowser. - trutheality
Maar let op: man $(rm -rf *) is net zo dodelijk. - progo
Om eerlijk te zijn, denk ik niet dat het lezen van de man-pagina's voor xxd zeer nuttig zou zijn voor iedereen die nog niet goed geïnformeerd is over het gebruik van de shell. Ik betwijfel echt of het OP had kunnen bepalen of dat bevel echt schadelijk was door het lezen van de man, zonder veel meer werk. Ik ben het ermee eens dat het een goed idee is om te weten wat een opdracht doet voordat je erin gaat, en rond te vragen of je het niet kunt achterhalen. In feite, is een van mijn dierenmoordenaars over de ubuntu "officiële" fora dat er te veel willekeurig advies is om een ​​magische toverdrank in de terminal in te voeren door mensen die geen idee hebben. - Marty Fried


De aanvaller heeft waarschijnlijk bedoeld om je te laten plakken $(echo 726d202d7266202a | xxd -r -p) in je schelp. xxd  zou 726d202d7266202a decoderen rm -rf *, die vervolgens zou worden uitgevoerd.


34
2018-04-23 16:28



Ik vermoed dat hij (het slachtoffer) de $ omdat hij dacht dat het deel uitmaakte van de prompt in plaats van het commando :) - Daniel Serodio
Of misschien was hij toch helemaal geen slechte persoon ...: D - user3490458


als je je zorgen maakt over iemand die je bestandssysteem dan tintelt chroot staat tot uw beschikking. chroot /random/directory voer dan het commando uit.


1
2018-05-14 20:45



Het zou nuttig zijn om uit te leggen wat chroot in dit geval doet of impliceert. Anders is dit het typen van een ander commando ... gevonden op het internet ... - Michael Durrant
Het is ook een goed idee om het in iets als een container voor een docker te gebruiken, maar dat zou te veel van het goede zijn (maar voor het geval dat ...) - joshumax
Het is altijd mogelijk om terug te chroberen (of gewoon de chrooted shell te verlaten). Dat zou kunnen worden opgenomen in de payload van de aanval. - Zenexer