"'x'" ?

#1
Hallo,

weshalb in "(In)security allgemein"? Vermutlich bin ich in der falschen "Abteilung". Deshalb nur eine Frage:

Welche Bedeutung hat es, wenn ein Text mit einem einfachen ' und einem doppelten Kodierungszeichen " geschrieben wird. Beispielsweise: "'Atestell Pharma Canada'" ?

L. G.
Salzstreuer
 

end4win

Member of Honour
#2
Ich würde sagen die Syntax der verwendeten Programmiersprache fordert dies.
(z.B. Variablen/Array Definition)

Gruss
 
#3
Hallo end4win, bevor ich es vergesse: Eine frohe Weihnacht!

"Syntax der verwendeten Programmiersprache" eine kluge - weil weit fassende Antwort. Ich kenne einige Programmiersprachen; einige. Doppelte Kodierungszeichen=alphanumerische Variablen oder Konstante, einfache=Array kenne nur mit numerischen Inhalten. Ok. Was soll das Rätselraten? Ein Zufall. Denn ein Blick in eine Google-Source einer beliebigen Seite gibt Antwort auf meine Fragen. Darin findet man "' also " '

Und als Betriebssystem wird eine modifizierte Linux-Distribution verwendet. Die Programmiersprachen C, C++ und Python sind die wesentliche Basis der Implementierung der proprietären Suchmaschinensoftware. Das erinnert mich an eine Nachricht in "off topic" eines Forum: "Ich brauche für einen Kumpel unbedingt: Zeta, Vmware, Cedega, XP-Kernel, Ubuntu, Cobol, C+- und AssemblerCompiler. Der WILL das tatsächlich zusammenbasteln. Könnt ihr mir bei der Beschaffung behilflich sein? P.S.: Wer ihm hilft bekommt das Endprodukt Gratis."

So, nun wissen wir das auch
Liebe Grüße an all die, die an die Story vom Hosenscheißer in Scheune mit Ochs, Esel, Schaf und drei Landstreicher glauben. hüstel, schneuz.jpg
 
Zuletzt bearbeitet:
#4
[...]
"Syntax der verwendeten Programmiersprache" eine kluge - weil weit fassende Antwort. Ich kenne einige Programmiersprachen; einige. Doppelte Kodierungszeichen=alphanumerische Variablen oder Konstante, einfache=Array kenne nur mit numerischen Inhalten. Ok. Was soll das Rätselraten? Ein Zufall. Denn ein Blick in eine Google-Source einer beliebigen Seite gibt Antwort auf meine Fragen. Darin findet man "' also " '
[...]
Wenn du die Antwort schon kennst, warum teilst du sie nicht?

Ist zwar auch nur eine Annahme von mir, aber auf die Schnelle hätte ich behauptet (ohne die Quellen zu kennen), dass es ein simpler Schutz gegen SQL Injection ist. Die SQL Parameter werden aufgrund der Single Quotes als String und nicht als Befehl behandelt. Somit ist das Einschleusen von gefährlichen SQL Befehlen wie "DROP ALTER TABLE" nicht mehr so einfach möglich. Ist bei Sprachen nötig die keine parameterized SQL Queries unterstützen.

Schöne Feiertage!

Edit:
Zugegeben, hier fehlt noch eine Funktion, die den String noch bearbeitet...das heißt z.B.: einzelne Single Quotes (') durch zwei Single Quotes ('') ersetzt. Somit ist das Einschleusen von SQL Befehlen innerhalb zweier Strings nicht mehr möglich. Ist aber schon lange her, dass ich mich damit beschäftigt habe.

So könnte z.B. die Funktion (hier aus einer meiner Tools in C geschrieben) ausschauen:
C:
static char *prepare_str(const char *src)
{
    int i = 0;
    int j = 0;
    size_t len;
    size_t quote_cnt = 0;
    char *dst;
   
    if (!src) {
        printerr_string_null();
        return NULL;
    }
   
    len = strlen(src);
   
    while (src[i] != '\0')
        if (src[i++] == '\'')
            quote_cnt++;
   
    i = 0;
    dst = (char *) malloc(len + quote_cnt + 1);
   
    if (!dst) {
        printerr_alloc(strerror(errno));
        return NULL;
    }
   
    while (src[i] != '\0')
        if (src[i] == '\'') {
            dst[j++] = src[i++];
            dst[j++] = '\'';
        } else
            dst[j++] = src[i++];
   
    dst[j] = '\0';
    return dst;
}
 
Zuletzt bearbeitet:
#5
fork(Agent Smith),

wichtig: Ich bin der Letzte, der anderen eine Antwort oder Lösungsweg eines Problemes vorenthält! (Ausrufungszeichen).

Im Google Source-Code habe eine Befehlskette mit "' gefunden. Ich habe versucht, die Deklarationen und Abhängigkeiten im Quell-Code zumindest rudimentär zu verstehen. Die grundsätzliche Beschreibung der Werkzeuge, mit denen der Source-Code der Google-Pages erstellt werden, habe ich in Google ausgegeben. Eine Mischung modifizierter Linux-Distributionen, C, C++ und Python.

Mein Vermögen, solche Art Source-Struktur zu folgen, ist längst eingerostet. Heutzutage werden Source-Codes von Generatoren erzeugt. "DROP ALTER TABLE" ist nicht möglich. [Böse], wer Böses dabei denkt.

Am zweiten Weihnachtstag möchte ich dir nicht die Ohren voll quatschen.

Danke für deine Nachricht. Dir und den dir Nahestehenden eine geruhsamen zweiten Feiertag!

Salzstreuer
 
#6
In PHP wird sowas verwendet, wenn du einen String definierst, welcher in Anführungsstrichen stehen soll. So ist die Ausgabe z.B. bei

Code:
$text = '"Der Text in Anführungsstrichen"';
echo $text;
Das ist auch bei vielen anderen der Fall. Ich kenne auch eine, dessen Namen ich vergessen habe, die genau diese drei Anführungsstriche fordert, um damit einen String zu deklarieren.

Vermutlich ist das Ziel dieser Ausgaben eben solcher html-Code
 
Oben