WYSINWYC = What you see is not what you copy. Prozaiczna operacja wklejenia skopiowanego tekstu może okazać się w niektórych okolicznościach bardzo niebezpieczna. Np. gdy wykonany ją w konsoli, szczególnie z uprawnieniami superużytkownika. Jak z tego widać, zagrożenie może być poważne i dotyczy głównie “bezpiecznych” sytemów – linuksów i uniksów, bowiem w Mac OS, czy Windows rzadko kto korzysta z konsoli.
Problem nie jest nowy i nie jest podatnością wynikającą z niedopracowanego kodu. To raczej coś z zakresu niespodziewanych konsekwencji niekonwencjonalnego użytku z narzędzia jakim jest konsola. Mimo to, warto o tym przypominieć, bowiem pokusa skorzystania z dobrodziejstw oferowanych przez GPM (występuje tylko w linuksach), czy nawet przez nieco mniej wygodne klawiszowe skróty (ctrl+c & ctrl+v) jest duża i łatwo narobić sobie kłopotów, chcąc np. uniknąć kłopotliwego przepisywania długich poleceń, których czasem nawet nie bardzo rozumiemy (tego lepiej w ogóle nie robić).
Problem pojawia się, kiedy kopiujemy tekst, który nie pochodzi z pliku tekstowego, ale został sformatowany przy pomocy jakiejś aplikacji, czy – najczęściej – w HTML. Ten ostatni przypadek, to chleb powszedni, czyli kopiowanie tekstu z wyświetlonej strony www. Taki tekst wygląda zupełnie niewinnie, wiadomo jednak, że za ten niewinny widok odpowiada kod formatujący, który dość łatwo można wzbogacić o dodatkowy, już nie tak niewinny. Kiedy trafi on do schowka, a z niego do procesora poleceń, może się wydarzyć coś, czego nie oczekiwaliśmy. Jak to działa w konsoli uniksa czy linuksa (może również w widowsowym PowerShell albo zwykłej konsoli tekstowej) moża sobie bezpiecznie sprawdzić np. tu: Copy&Paste Tricks.
W artykule
Old tricks are new again: Dangerous copy & paste, z którego pochodzi ta wiadomość, są dalsze odnośniki. Miłej zabawy!