Missbrauchspotential finden: versteckten Text selektieren
dedlfix
- css
- html
- sicherheit
Tach!
Ich habe da mal was vorbereitet: https://jsfiddle.net/04ejkgge/.
Bei diesem kleinen Versuch geht es darum, das Element mit der ID selectable, insbesondere dessen Inhalt, so zu verändern, dass auf Button-Klick nicht sichtbarer Text von der Funktion selectElementText() selektiert wird, und in output zu sehen ist.
Die Funktion selectElementText() markiert (hoffentlich nur) angezeigten Inhalt der Webseite, quasi so, wie das der Anwender zum Beispiel mit seiner Maus auch könnte.
Der Javascript-Teil soll nicht verändert werden, auch Teile außerhalb des ersten Div sind tabu. Diese Bereiche sind in der eigentlichen Anwendung nicht unautorisiert veränderbar. Der Button wird besipielsweise mit Javascript erzeugt und ist damit außer Manipulationsreichweite. Ebenso sollten die Versuche auf die Mittel eines normalsterblichen Mediawiki-Anwenders beschränkt sein. Also CSS über style einfügen geht, Javscript-Code wird hingegen rausgefiltert. Was irgendwer in seinem privaten Browser anstellt ist mir egal, man soll nur keinen ungewollten Inhalt in die Seite einfügen können (sprich: in das 'selectable'-Element). Und natürlich ist das Wiki nicht ohne Aufsicht. Es geht dabei nur darum, in der Zeit zwischen Einfügen und administrativem Bemerken keinen allzugroßen Unfug zuzulassen. Das heißt, ein Besucher soll sehen, was da kopiert werden wird. Bei der eigentlichen Anwendung wird der selektierte Text nicht ausgegeben sondern in die Zwischenablage kopiert. Den Teil habe ich für den Versuch weggelassen.
Die naheliegendste Methode
<span id="selectable">some text <span style="display:none">versteckt</span></span>
geht schonmal nicht, der versteckte Text wird von der Selektion nicht erfasst.
Zusatzaufgabe: Gegenmittel für erfolgreiche Versuche finden. Diese könnten zum Beispiel im Javascript-Teil angesiedelt werden.
dedlfix.
Hi,
<span id="selectable">some text <span style="display:none">versteckt</span</span>
(warum zeichnest Du HTML eigentlich als css aus? Hab ich hier mal korrigiert ...)
geht schonmal nicht, der versteckte Text wird von der Selektion nicht erfasst.
Liegt's am fehlenden > ?
Ersatzweise evtl.: display:inline-block; overflow:hidden; width:0;
cu,
Andreas a/k/a MudGuard
Tach!
(warum zeichnest Du HTML eigentlich als css aus? Hab ich hier mal korrigiert ...)
Weil es der kleine Mann im Hinterkopf so gesagt hat.
geht schonmal nicht, der versteckte Text wird von der Selektion nicht erfasst.
Liegt's am fehlenden > ?
Nein.
Ersatzweise evtl.:
display:inline-block; overflow:hidden; width:0;
Ja, das geht sogar. Hmm, mal sehen, ob mir was zum Verhindern einfällt.
dedlfix.
Hej dedlfix,
Die naheliegendste Methode
<span id="selectable">some text <span style="display:none">versteckt</span></span>
geht schonmal nicht
Naheliegender wäre für mich:
<span id="selectable">some text <span style="color:white">Dies ist versteckter Text</span></span>
oder
<span id="selectable">some text <span style="position:absolute; bottom:1em;">Dies ist versteckter Text</span></span>
Marc
Tach!
Naheliegender wäre für mich:
<span id="selectable">some text <span style="color:white">Dies ist versteckter Text</span></span>
Das fällt auf, weil der Abstand vom Button sehr groß ist. Der ist in der eigentlichen Anwendung direkt hinter dem Text.
<span id="selectable">some text <span style="position:absolute; bottom:1em;">Dies ist versteckter Text</span></span>
Den Text sieht man. Allerdings steht der irgendwo anders auf der Seite und ist damit vermutlich aus dem Blickfeld.
Vielleicht-Lösung: Kind-Elemente löschen. Da ist eigentlich nur einfacher Text ohne irgendwelchen inneren Formatierungen vorgesehen.
dedlfix.
Hej dedlfix,
Naheliegender wäre für mich:
<span id="selectable">some text <span style="color:white">Dies ist versteckter Text</span></span>
Das fällt auf, weil der Abstand vom Button sehr groß ist. Der ist in der eigentlichen Anwendung direkt hinter dem Text.
Leute fallen auf Phishing-Mails mit gröberen Darstellungsfehlern rein...
<span id="selectable">some text <span style="position:absolute; bottom:1em;">Dies ist versteckter Text</span></span>
Den Text sieht man. Allerdings steht der irgendwo anders auf der Seite und ist damit vermutlich aus dem Blickfeld.
Ja, habe mir keine besondere Mühe beim Verstecken gegeben - lässt sich weiter verfeinern, ging mir nur ums Prinzip (aus dem Sichtfeld oder gar dem Viehport verschieben).
Vielleicht-Lösung: Kind-Elemente löschen. Da ist eigentlich nur einfacher Text ohne irgendwelchen inneren Formatierungen vorgesehen.
Ohne das probiert zu haben: first-line oder andere Pseudoelemente kann man nicht formatieren? - Ginge nur, wenn man irgendwo ein style-Element einsetzen könnte - wäre vermutlich mit dem Abfangen der Kind-elemente gegessen...
Marc