Die Pass-Through-Funktionen sind daran erkennbar, dass ihr Name mit RAWSQL_ oder SCRIPT_ beginnt.
Unter bestimmten Umständen werden Pass-through-Ausdrücke als Vektoren für SQL-Injection-Angriffe herangezogen, bei denen ein Angreifer böswillige Befehle als Werte in die Skripten angibt. Dieser Fall kann eintreten, wenn eine Berechnung in der Arbeitsmappe alle folgenden Kriterien erfüllt:
Die Berechnung enthält eine Funktion SCRIPT_ oder RAWSQL_.
Der Ausdruck verwendet einen Wert, der über einen Parameter in der Arbeitsmappe an die Berechnung übergeben wird.
Der Parameter ist als Zeichenfolge angegeben.
Der Parameter ist der erste Parameter, der an die Berechnung übergeben wird.
Der Parameter ist nicht in Anführungszeichen eingeschlossen.
Im nachfolgenden Ausdruck soll Parameter 1 beispielsweise einen Zeichenfolgenwert (z. B. klein, mittel oder groß) enthalten.
RAWSQL_STR([Parameter 1])
Wenn ein Benutzer jedoch in der Lage ist, einen beliebigen Text als Wert für Parameter 1 festzulegen, kann dieser Benutzer potenziell einen SQL-Injection-Angriff zusammenstellen.
Ein solcher Ausdruck, der potenziell böswillige Befehle enthalten kann, wird daher als unsicheres Skript bezeichnet.
Beachten Sie das letzte Kriterium: Unsichere Skripten enthalten Parameter ohne Anführungszeichen. Ein Beispiel:
RAWSQL_BOOL("%1", [Parameter 1])
Dieses Beispiel ist kein unsicheres Skript, da der Wert für Parameter 1 in Anführungszeichen eingeschlossen ist; SQL behandelt den Wert also nicht als Befehl.
Standardmäßig dürfen die Benutzer keine Arbeitsmappe in Tableau Server veröffentlichen, die ein unsicheres Skript enthält, also eine Arbeitsmappe mit einer Berechnung, die alle oben beschriebenen Kriterien erfüllt . Wenn die Benutzer versuchen, die Arbeitsmappe zu veröffentlichen, gibt der Server Folgendes zurück:
"This worksheet contains custom user scripts or SQL with injectable string parameters, which may be vulnerable on the target platform."
Die Veröffentlichung wird in jedem Fall gesperrt, also sowohl über Tableau Desktop als auch mit dem Befehl tabcmd publish und mit dem Befehl Arbeitsmappe veröffentlichen in der REST-API.
Sie können Nutzern das Veröffentlichen von Arbeitsmappen erlauben, die unsichere Skripte enthalten. Nutzen Sie dafür den folgenden tsm configuration set-Befehl:
tsm configuration set vizqlserver.allow_insecure_scripts true
Die Einstellung vizqlserver.allow_insecure_scripts ist für den Fall vorgesehen, dass der Benutzer versucht, unautorisierte SQL- oder Rserve-Befehle über einen Parameterwert zu senden. Zum Schutz der Tableau Server-Installationen lautet die Standardeinstellung false; die Benutzer dürfen also keine Arbeitsmappen mit unsicheren Skripten veröffentlichen. Bei der Einstellung vizqlserver.allow_insecure_scripts ist Folgendes zu beachten:
Wenn die Benutzer keine benutzerdefinierten SQL- oder R-Ausdrücke erstellen, kann vizqlserver.allow_insecure_scripts dauerhaft auf false eingestellt sein, ohne dass die Benutzer daran gehindert werden, Arbeitsmappen zu veröffentlichen.
Wenn Ihre Benutzer Berechnungen mit benutzerdefinierten SQL- oder R-Ausdrücken erstellen und Sie der Meinung sind, dass nicht auch andere Benutzer versuchen, Befehle an die Datenquelle zu übergeben, können Sie die Veröffentlichung von unsicheren Skripten zulassen (vizqlserver.allow_insecure_scripts auf true einstellen).
Die Einstellung vizqlserver.allow_insecure_scripts gilt für die gesamte Tableau Server-Installation. Wenn diese Einstellung auf false festgelegt ist, ist das Veröffentlichen von Arbeitsmappen mit unsicheren Skripten für sämtliche Sites und Projekte auf dem Server gesperrt.
RAW oder SCRIPT_ beginnen. Die Standardeinstellung false für vizqlserver.allow_insecure_scripts wirkt sich daher nicht auf diese Produkte aus.vizqlserver.allow_insecure_scripts in "False" geändert wird und Sie anschließend versuchen, auf eine Arbeitsmappe zuzugreifen, die mit unsicheren Skripten vor dem Ändern der Einstellungen veröffentlicht wurde.001473396

We use three kinds of cookies on our websites: required, functional, and advertising. You can choose whether functional and advertising cookies apply. Click on the different cookie categories to find out more about each category and to change the default settings.
Privacy Statement
Required cookies are necessary for basic website functionality. Some examples include: session cookies needed to transmit the website, authentication cookies, and security cookies.
Functional cookies enhance functions, performance, and services on the website. Some examples include: cookies used to analyze site traffic, cookies used for market research, and cookies used to display advertising that is not directed to a particular individual.
Advertising cookies track activity across websites in order to understand a viewer’s interests, and direct them specific marketing. Some examples include: cookies used for remarketing, or interest-based advertising.