<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://it-forensik.fiw.hs-wismar.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=St190675</id>
	<title>IT-Forensik Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://it-forensik.fiw.hs-wismar.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=St190675"/>
	<link rel="alternate" type="text/html" href="http://it-forensik.fiw.hs-wismar.de/index.php?title=Spezial:Beitr%C3%A4ge/St190675"/>
	<updated>2026-10-31T13:38:03Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>http://it-forensik.fiw.hs-wismar.de/index.php?title=SQL_Stored_Procedures&amp;diff=2233</id>
		<title>SQL Stored Procedures</title>
		<link rel="alternate" type="text/html" href="http://it-forensik.fiw.hs-wismar.de/index.php?title=SQL_Stored_Procedures&amp;diff=2233"/>
		<updated>2022-02-25T10:37:03Z</updated>

		<summary type="html">&lt;p&gt;St190675: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter einer Stored Procedure versteht man ein Stück gespeicherten SQL-Code der immer wieder ausführbar ist. Ähnlich wie Funktionen kann man SQL Stored Procedures individuell anlegen und speichern, mit Parametern versehen, alternativ auch etwas zurückgeben lassen und anhand des Namens aufrufen. &lt;br /&gt;
Es bietet sich also an, Code den man häufig ausführt als Stored Procedure zu speichern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiel Syntax (MSSQL): ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anlegen einer Stored Procedure:&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;CREATE PROCEDURE&amp;lt;/code&amp;gt; SelectAllStudents&lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;AS&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;SELECT * FROM&amp;lt;/code&amp;gt; Studenten&lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;GO;&amp;lt;/code&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
Aufrufen dieser Stored Procedure:&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;EXEC&amp;lt;/code&amp;gt; SelectAllStudents;&lt;br /&gt;
      &lt;br /&gt;
Anlegen einer Stored Procedure mit Parametern:&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;CREATE PROCEDURE&amp;lt;/code&amp;gt; SelectAllStudents @Gruppe nvarchar(30), @Semester nvarchar(2)&lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;AS&amp;lt;/code&amp;gt;&lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;SELECT * FROM&amp;lt;/code&amp;gt; Studenten &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;WHERE&amp;lt;/code&amp;gt; Gruppe = @Gruppe &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;AND&amp;lt;/code&amp;gt; Semester = @Semester&lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;GO;&amp;lt;/code&amp;gt; &lt;br /&gt;
     &lt;br /&gt;
Aufruf:&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;EXEC&amp;lt;/code&amp;gt; SelectAllStudents @Gruppe = &#039;München&#039;, @Semester = &#039;5&#039;;&lt;br /&gt;
&lt;br /&gt;
== Warum Stored Procedures und nicht Funktionen? ==&lt;br /&gt;
&lt;br /&gt;
Stored Procedures und Funktionen sind in ihrer Funktion sehr ähnlich. Die Stored Procedures sind allerdings flexibler und benötigen weniger Code als Funktionen, da weder “BEGIN” und “END”, noch “RETURN” notwendig sind solange der Code nur eine Zeile lang ist.&lt;br /&gt;
Auch erlauben Stored Procedures mehrere Parameter, während Funktionen immer nur eine Variable oder Tabelle zurückgeben können.&lt;br /&gt;
Es ist nicht möglich in einer Funktion eine Procedure aufzurufen, umgekehrt ist es aber möglich, eine Funktion in einer Procedure aufzurufen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vorteile von Stored Procedures: ==&lt;br /&gt;
&lt;br /&gt;
* Da Stored Procedures in der Datenbank gespeichert werden ist es ohne großen Aufwand möglich mittels “ALTER PROCEDURE” den Code der Procedure zu verändern ohne dass ein Neustart nötig ist.&lt;br /&gt;
&lt;br /&gt;
* Stored Procedures ermöglichen eine große Zeitersparnis indem häufig genutzter Code nicht jedes Mal neu eingegeben werden muss und da Statements in der Regel vorkompiliert sind, wird auch Laufzeit gespart. &lt;br /&gt;
&lt;br /&gt;
* Es ist möglich Stored Procedures zu verschlüsseln, so dass der Inhalt nicht sichtbar ist. Wird der Zugriff auf die Tabelle nur über Procedures gestattet erhöht dies die Sicherheit vor unbefugtem Verändern der Daten. &lt;br /&gt;
&lt;br /&gt;
* Bessere Übersichtlichkeit des Codes durch zentral gehaltene und wiederverwendbare Procedures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stored Procedures als Schutz vor SQL-Injections ==&lt;br /&gt;
&lt;br /&gt;
Stored Procedures bieten einen gewissen Schutz vor SQL-Injections, da sie Parameter/Daten und Anfragen getrennt voneinander behandeln können. So werden Parameter immer ausschließlich als Daten behandelt und nicht als Anfrage. &lt;br /&gt;
Allerdings ist dies kein absoluter Schutz, auch Stored Procedures können, unter gewissen Bedingungen, Angriffsflächen für SQL-Injections bieten. Beispielsweise wenn der Code in der Procedure dynamisch durch konkatenierte Parameter aufgebaut ist. Daher sollten Stored Procedures, wenn möglich, immer ohne unsichere, dynamische SQL generierung geschrieben werden. Ist dies nicht möglich und es muss dynamischer Code implementiert werden, muss darauf geachtet werden, dass jeder User Input validiert oder escaped wird so dass kein SQL Code in die dynamisch generierte Anfrage eingeschleust werden kann. &lt;br /&gt;
&lt;br /&gt;
== Stored Procedures als Hilfsmittel für SQL Injections? ==&lt;br /&gt;
&lt;br /&gt;
In seltenen Fällen können Stored Procedures das Risiko von SQL Injections nicht nur nicht verringern, sondern sogar erhöhen. Beispielsweise gibt es auf dem MS SQL Server standartmäßig drei Rollen mit entsprechenden Zugriffsrechten:&lt;br /&gt;
 &lt;br /&gt;
* db_datareader&lt;br /&gt;
* db_datawriter&lt;br /&gt;
* db_owner&lt;br /&gt;
&lt;br /&gt;
Ohne Stored Procedures werden dem Anwender, je nach benötigten Rechten, die reader oder writer Rollen zugewiesen. Allerdings brauchen Stored Procedures, um korrekt zu funktionieren, gewisse Adminrechte um die Funktionen ausführen zu können, die von den lesenden und schreibenden Rollen nicht abgedeckt werden. In manchen Serversetups konnte es nun vorkommen, dass alle Applikationen automatisch unter db_owner – Rechten liefen um den Stored Procedures ihre Funktion zu ermöglichen. Dies heißt natürlich auch, dass ein Angreifer sich dies zu Nutzen machen kann und hierüber volle Rechte auf die Datenbank bekommen kann. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
&lt;br /&gt;
https://www.w3schools.com/sql/sql_stored_procedures.asp&lt;br /&gt;
&lt;br /&gt;
https://www.sqlshack.com/sql-server-stored-procedures-for-beginners/&lt;br /&gt;
&lt;br /&gt;
https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
YouTube:&lt;br /&gt;
&lt;br /&gt;
“Advanced SQL Tutorial | Stored Procedures + Use Cases” von “Alex The Analyst”&lt;br /&gt;
(https://www.youtube.com/watch?v=NrBJmtD0kEw)&lt;br /&gt;
&lt;br /&gt;
“SQL Stored Procedures - What They Are, Best Practices, Security, and More…” von “IamTimCorey”&lt;br /&gt;
(https://www.youtube.com/watch?v=Sggdhot-MoM)&lt;/div&gt;</summary>
		<author><name>St190675</name></author>
	</entry>
	<entry>
		<id>http://it-forensik.fiw.hs-wismar.de/index.php?title=SQL_Stored_Procedures&amp;diff=2224</id>
		<title>SQL Stored Procedures</title>
		<link rel="alternate" type="text/html" href="http://it-forensik.fiw.hs-wismar.de/index.php?title=SQL_Stored_Procedures&amp;diff=2224"/>
		<updated>2022-02-24T09:48:47Z</updated>

		<summary type="html">&lt;p&gt;St190675: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter einer Stored Procedure versteht man ein Stück gespeicherten SQL-Code der immer wieder ausführbar ist. Ähnlich wie Funktionen kann man SQL Stored Procedures individuell anlegen und speichern, mit Parametern versehen, alternativ auch etwas zurückgeben lassen und anhand des Namens aufrufen. &lt;br /&gt;
Es bietet sich also an, Code den man häufig ausführt als Stored Procedure zu speichern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiel Syntax (MSSQL): ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anlegen einer Stored Procedure:&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;CREATE PROCEDURE&amp;lt;/code&amp;gt; SelectAllStudents&lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;AS&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;SELECT * FROM&amp;lt;/code&amp;gt; Studenten&lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;GO;&amp;lt;/code&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
Aufrufen dieser Stored Procedure:&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;EXEC&amp;lt;/code&amp;gt; SelectAllStudents;&lt;br /&gt;
      &lt;br /&gt;
Anlegen einer Stored Procedure mit Parametern:&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;CREATE PROCEDURE&amp;lt;/code&amp;gt; SelectAllStudents @Gruppe nvarchar(30), @Semester nvarchar(2)&lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;AS&amp;lt;/code&amp;gt;&lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;SELECT * FROM&amp;lt;/code&amp;gt; Studenten &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;WHERE&amp;lt;/code&amp;gt; Gruppe = @Gruppe &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;AND&amp;lt;/code&amp;gt; Semester = @Semester&lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;GO;&amp;lt;/code&amp;gt; &lt;br /&gt;
     &lt;br /&gt;
Aufruf:&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;EXEC&amp;lt;/code&amp;gt; SelectAllStudents @Gruppe = &#039;München&#039;, @Semester = &#039;5&#039;;&lt;br /&gt;
&lt;br /&gt;
== Warum Stored Procedures und nicht Funktionen? ==&lt;br /&gt;
&lt;br /&gt;
Stored Procedures und Funktionen sind in ihrer Funktion sehr ähnlich. Die Stored Procedures sind allerdings flexibler und benötigen weniger Code als Funktionen, da weder “BEGIN” und “END”, noch “RETURN” notwendig sind solange der Code nur eine Zeile lang ist.&lt;br /&gt;
Auch erlauben Stored Procedures mehrere Parameter, während Funktionen immer nur eine Variable oder Tabelle zurückgeben können.&lt;br /&gt;
Es ist nicht möglich in einer Funktion eine Procedure aufzurufen, umgekehrt ist es aber möglich, eine Funktion in einer Procedure aufzurufen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vorteile von Stored Procedures: ==&lt;br /&gt;
&lt;br /&gt;
* Da Stored Procedures in der Datenbank gespeichert werden ist es ohne großen Aufwand möglich mittels “ALTER PROCEDURE” den Code der Procedure zu verändern ohne dass ein Neustart nötig ist.&lt;br /&gt;
&lt;br /&gt;
* Stored Procedures ermöglichen eine große Zeitersparnis indem häufig genutzter Code nicht jedes Mal neu eingegeben werden muss und da Statements in der Regel vorkompiliert sind, wird auch Laufzeit gespart. &lt;br /&gt;
&lt;br /&gt;
* Es ist möglich Stored Procedures zu verschlüsseln, so dass der Inhalt nicht sichtbar ist. Wird der Zugriff auf die Tabelle nur über Procedures gestattet erhöht dies die Sicherheit vor unbefugtem Verändern der Daten. &lt;br /&gt;
&lt;br /&gt;
* Bessere Übersichtlichkeit des Codes durch zentral gehaltene und wiederverwendbare Procedures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stored Procedures als Schutz vor SQL-Injections ==&lt;br /&gt;
&lt;br /&gt;
Stored Procedures bieten einen gewissen Schutz vor SQL-Injections, da sie Parameter/Daten und Anfragen getrennt voneinander behandeln können. So werden Parameter immer ausschließlich als Daten behandelt und nicht als Anfrage. &lt;br /&gt;
Allerdings ist dies kein absoluter Schutz, auch Stored Procedures können, unter gewissen Bedingungen, Angriffsflächen für SQL-Injections bieten. Beispielsweise wenn der Code in der Procedure dynamisch durch konkatenierte Parameter aufgebaut ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
&lt;br /&gt;
https://www.w3schools.com/sql/sql_stored_procedures.asp&lt;br /&gt;
&lt;br /&gt;
https://www.sqlshack.com/sql-server-stored-procedures-for-beginners/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
YouTube:&lt;br /&gt;
&lt;br /&gt;
“Advanced SQL Tutorial | Stored Procedures + Use Cases” von “Alex The Analyst”&lt;br /&gt;
(https://www.youtube.com/watch?v=NrBJmtD0kEw)&lt;br /&gt;
&lt;br /&gt;
“SQL Stored Procedures - What They Are, Best Practices, Security, and More…” von “IamTimCorey”&lt;br /&gt;
(https://www.youtube.com/watch?v=Sggdhot-MoM)&lt;/div&gt;</summary>
		<author><name>St190675</name></author>
	</entry>
	<entry>
		<id>http://it-forensik.fiw.hs-wismar.de/index.php?title=Hauptseite&amp;diff=2223</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="http://it-forensik.fiw.hs-wismar.de/index.php?title=Hauptseite&amp;diff=2223"/>
		<updated>2022-02-24T09:45:43Z</updated>

		<summary type="html">&lt;p&gt;St190675: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Willkommen beim IT-Forensik-Wiki der Hochschule Wismar. Hier werden wesentliche Begriffe zum Thema „Digitale Forensik“ erläutert.&lt;br /&gt;
&lt;br /&gt;
== Literatur == &lt;br /&gt;
&lt;br /&gt;
[[Projektarbeiten]]&lt;br /&gt;
&lt;br /&gt;
[[Abschlussarbeiten im Bachelor Studiengang &amp;quot;IT-Forensik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
[[Abschlussarbeiten im Master Studiengang &amp;quot;IT-Sicherheit und Forensik&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
[[Forensik in DB]]&lt;br /&gt;
&lt;br /&gt;
Michael Mundt, Maximilian Vogelei (Absolventen des Master-Fernstudienganges &amp;quot;IT-Sicherheit und Forensik&amp;quot;): IPython: Implementing distributed Processes of Computer Forensics: Combining Methods from Modern Data Science with those of Computer Forensics. Februar 2021,  ISBN-13 : 979-8702298122 ([https://www.amazon.de/IPython-Implementing-distributed-Processes-Forensics/dp/B08WJTQF4G/ref=sr_1_6?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&amp;amp;dchild=1&amp;amp;keywords=IPython&amp;amp;qid=1616347276&amp;amp;sr=8-6 hier zu erwerben])&lt;br /&gt;
&lt;br /&gt;
== Stichworte IT-Forensik ==&lt;br /&gt;
=== A ===&lt;br /&gt;
[[ACPO]]&lt;br /&gt;
&lt;br /&gt;
[[Aggregation]]&lt;br /&gt;
&lt;br /&gt;
[[AmCache]]&lt;br /&gt;
&lt;br /&gt;
[[Angriffe auf Forensik-Software]]&lt;br /&gt;
&lt;br /&gt;
[[Anti-Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[Anwendungsarchitektur]]&lt;br /&gt;
&lt;br /&gt;
[[Arbeitsspeicher]]&lt;br /&gt;
&lt;br /&gt;
[[Asset Relocation]]&lt;br /&gt;
&lt;br /&gt;
[[APT]]&lt;br /&gt;
&lt;br /&gt;
=== B ===&lt;br /&gt;
[[BBED]]&lt;br /&gt;
&lt;br /&gt;
[[Betriebssystem]]&lt;br /&gt;
&lt;br /&gt;
[[Bitlocker]]&lt;br /&gt;
&lt;br /&gt;
[[BlockchainForensik|Blockchain Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[Blockchainbasierte Datenbank]]&lt;br /&gt;
&lt;br /&gt;
[[Broken Authentication]]&lt;br /&gt;
&lt;br /&gt;
[[Brute Force]]&lt;br /&gt;
&lt;br /&gt;
[[BSI-Vorgehensmodell]]&lt;br /&gt;
&lt;br /&gt;
[[Bundesdatenschutzgesetz (BDSG)]]&lt;br /&gt;
&lt;br /&gt;
[[BurpSuite]]&lt;br /&gt;
&lt;br /&gt;
=== C ===&lt;br /&gt;
[[Cache]]&lt;br /&gt;
&lt;br /&gt;
[[Canarytoken]]&lt;br /&gt;
&lt;br /&gt;
[[CERT-Taxonomie]]&lt;br /&gt;
&lt;br /&gt;
[[Chain of Custody]]&lt;br /&gt;
&lt;br /&gt;
[[Cheat Engine]]&lt;br /&gt;
&lt;br /&gt;
[[Checkliste IT-Forensik für Unternehmen]]&lt;br /&gt;
&lt;br /&gt;
[[Chip-Off]]&lt;br /&gt;
&lt;br /&gt;
[[Clickjacking]]&lt;br /&gt;
&lt;br /&gt;
[[Cold Backup]]&lt;br /&gt;
&lt;br /&gt;
[[Command-and-Control-Server]]&lt;br /&gt;
&lt;br /&gt;
[[Computer Sabotage]]&lt;br /&gt;
&lt;br /&gt;
[[Containervirtualisierung]]&lt;br /&gt;
&lt;br /&gt;
[[Cookies]]&lt;br /&gt;
&lt;br /&gt;
[[Cross Site Scripting (XSS)]]&lt;br /&gt;
&lt;br /&gt;
[[CryptoLocker]]&lt;br /&gt;
&lt;br /&gt;
[[Cybercrime]]&lt;br /&gt;
&lt;br /&gt;
=== D ===&lt;br /&gt;
[[Darknet]]&lt;br /&gt;
&lt;br /&gt;
[[Dateiheader]]&lt;br /&gt;
&lt;br /&gt;
[[Datenanalyse]]&lt;br /&gt;
&lt;br /&gt;
[[Datenbank Firewall]]&lt;br /&gt;
&lt;br /&gt;
[[Datenbankausführungsplan]]&lt;br /&gt;
&lt;br /&gt;
[[Datenbankforensik]]&lt;br /&gt;
&lt;br /&gt;
[[Datenbankmanagementsystem]]&lt;br /&gt;
&lt;br /&gt;
[[Datenreduktion]]&lt;br /&gt;
&lt;br /&gt;
[[Datensammlung]]&lt;br /&gt;
&lt;br /&gt;
[[Datenschutz in der IT-Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[Datenvernichtung]]&lt;br /&gt;
&lt;br /&gt;
[[Datenverschleierung]]&lt;br /&gt;
&lt;br /&gt;
[[DDL &amp;amp; DML]]&lt;br /&gt;
&lt;br /&gt;
[[Deep Packet Inspection]]&lt;br /&gt;
&lt;br /&gt;
[[Deep Web]]&lt;br /&gt;
&lt;br /&gt;
[[Diff]]&lt;br /&gt;
&lt;br /&gt;
[[Digitale Artefakte]]&lt;br /&gt;
&lt;br /&gt;
[[Digitale Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[DLL (.dll Dateien)]]&lt;br /&gt;
&lt;br /&gt;
[[DNS-Tunneling]]&lt;br /&gt;
&lt;br /&gt;
[[Dokumentation]]&lt;br /&gt;
&lt;br /&gt;
[[DoS &amp;amp; DDoS]]&lt;br /&gt;
&lt;br /&gt;
[[Doxing]]&lt;br /&gt;
&lt;br /&gt;
[[.DS-Store]]&lt;br /&gt;
&lt;br /&gt;
[[Dual Use Software]]&lt;br /&gt;
&lt;br /&gt;
[[Dynamische Analyse]]&lt;br /&gt;
&lt;br /&gt;
=== E ===&lt;br /&gt;
[[E-Mail-Verschlüsselung und Signatur in der IT-Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[eDiscovery]]&lt;br /&gt;
&lt;br /&gt;
[[Egg Hunting]]&lt;br /&gt;
&lt;br /&gt;
[[Ermittlungsprozess]]&lt;br /&gt;
&lt;br /&gt;
[[Error Based SQL Injection]]&lt;br /&gt;
&lt;br /&gt;
[[Exchangeable Image File Format (EXIF)]]&lt;br /&gt;
&lt;br /&gt;
[[Exploit]]&lt;br /&gt;
&lt;br /&gt;
=== F ===&lt;br /&gt;
[[File Carving]]&lt;br /&gt;
&lt;br /&gt;
[[Fingerprinting (Browser)]]&lt;br /&gt;
&lt;br /&gt;
[[Fingerprinting (Betriebssystem)]]&lt;br /&gt;
&lt;br /&gt;
[[Flüchtige Daten]]&lt;br /&gt;
&lt;br /&gt;
[[Footprinting]]&lt;br /&gt;
&lt;br /&gt;
[[Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[Forensic Data Mining]]&lt;br /&gt;
&lt;br /&gt;
[[Forensic Readiness]]&lt;br /&gt;
&lt;br /&gt;
[[Forensische Duplikation]]&lt;br /&gt;
&lt;br /&gt;
[[Forensischer Koffer]]&lt;br /&gt;
&lt;br /&gt;
[[Fragmentierung]]&lt;br /&gt;
&lt;br /&gt;
[[Fuzzing]]&lt;br /&gt;
&lt;br /&gt;
=== G ===&lt;br /&gt;
[[Geotag]]&lt;br /&gt;
&lt;br /&gt;
[[GeoIP-Datenbank]]&lt;br /&gt;
&lt;br /&gt;
[[Gerichtsfestigkeit]]&lt;br /&gt;
&lt;br /&gt;
[[Google Hacking]]&lt;br /&gt;
&lt;br /&gt;
=== H ===&lt;br /&gt;
[[Hardware-Sicherheitsmodul]]&lt;br /&gt;
&lt;br /&gt;
[[Hashcat]]&lt;br /&gt;
&lt;br /&gt;
[[Hashwert]]&lt;br /&gt;
&lt;br /&gt;
[[Hilfstatort]]&lt;br /&gt;
&lt;br /&gt;
[[Honeypot]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== I ===&lt;br /&gt;
[[ICMP - Internet Control Message Protocol]]&lt;br /&gt;
&lt;br /&gt;
[[Identitätsanbieter]]&lt;br /&gt;
&lt;br /&gt;
[[IDS - Intrusion Detection System]]&lt;br /&gt;
&lt;br /&gt;
[[Image]]&lt;br /&gt;
&lt;br /&gt;
[[Imaging]]&lt;br /&gt;
&lt;br /&gt;
[[IMSI-Catcher]]&lt;br /&gt;
&lt;br /&gt;
[[Incident-Response-Team]]&lt;br /&gt;
&lt;br /&gt;
[[Indicator of Compromise]]&lt;br /&gt;
&lt;br /&gt;
[[Integrität]]&lt;br /&gt;
&lt;br /&gt;
[[IT-Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[IPS - Intrusion Prevention System]]&lt;br /&gt;
&lt;br /&gt;
=== J === &lt;br /&gt;
[[Jailbreak]]&lt;br /&gt;
&lt;br /&gt;
[[Journaling-Dateisystem]]&lt;br /&gt;
&lt;br /&gt;
[[Jump Lists]]&lt;br /&gt;
&lt;br /&gt;
=== K === &lt;br /&gt;
&lt;br /&gt;
[[Installieren eines Live-Kali-Linux-System auf USB-Stick|Kali-Linux-Live-System auf USB-Stick installieren]]&lt;br /&gt;
&lt;br /&gt;
[[Kaltstartattacke]]&lt;br /&gt;
&lt;br /&gt;
[[Kausalität in der Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[Kerberos]]&lt;br /&gt;
&lt;br /&gt;
[[Keystroke Injection Attack Tool]]&lt;br /&gt;
&lt;br /&gt;
[[Korrelation]]&lt;br /&gt;
&lt;br /&gt;
=== L === &lt;br /&gt;
[[Lateral Movement]]&lt;br /&gt;
&lt;br /&gt;
[[LDAP-Injection]]&lt;br /&gt;
&lt;br /&gt;
[[Litigation Hold]]&lt;br /&gt;
&lt;br /&gt;
[[Live-Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[Local file inclusion]]&lt;br /&gt;
&lt;br /&gt;
[[Locard&#039;sche Regel]]&lt;br /&gt;
&lt;br /&gt;
[[Lockheed Martin Cyber Kill Chain]]&lt;br /&gt;
&lt;br /&gt;
[[Log-File]]&lt;br /&gt;
&lt;br /&gt;
[[LogMining]]&lt;br /&gt;
&lt;br /&gt;
=== M === &lt;br /&gt;
[[Magnet Axiom]]&lt;br /&gt;
&lt;br /&gt;
[[Memory Forensics]]&lt;br /&gt;
&lt;br /&gt;
[[Metadaten]]&lt;br /&gt;
&lt;br /&gt;
[[Mobiltelefon-Forensik]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== N === &lt;br /&gt;
[[Netcat]]&lt;br /&gt;
&lt;br /&gt;
[[Netflow]]&lt;br /&gt;
&lt;br /&gt;
[[Never-Touch-Original]]&lt;br /&gt;
&lt;br /&gt;
[[Nmap]]&lt;br /&gt;
&lt;br /&gt;
[[NTFS]]&lt;br /&gt;
&lt;br /&gt;
=== O ===&lt;br /&gt;
[[Online-Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[Offline-Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[Ontologie &amp;amp; Semantik]]&lt;br /&gt;
&lt;br /&gt;
[[Oracle DB]] (Forensische Aspekte)&lt;br /&gt;
&lt;br /&gt;
[[Order of Volatility]]&lt;br /&gt;
&lt;br /&gt;
[[OSINT-Werkzeug]]&lt;br /&gt;
&lt;br /&gt;
[[Out-of-Band]]&lt;br /&gt;
&lt;br /&gt;
=== P ===&lt;br /&gt;
[[Pass-the-Hash-Attack]]&lt;br /&gt;
&lt;br /&gt;
[[Payload]]&lt;br /&gt;
&lt;br /&gt;
[[Partition]]&lt;br /&gt;
&lt;br /&gt;
[[PCMCIA]]&lt;br /&gt;
&lt;br /&gt;
[[Penetrationstest]]&lt;br /&gt;
&lt;br /&gt;
[[PostgreSQL Command Execution]]&lt;br /&gt;
&lt;br /&gt;
[[Post-Mortem-Analyse]]&lt;br /&gt;
&lt;br /&gt;
[[Prepared Statement]]&lt;br /&gt;
&lt;br /&gt;
[[Prozess der Mobiltelefon Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[Prüfsumme]]&lt;br /&gt;
&lt;br /&gt;
[[P2P (Peer-to-Peer) Software / Netzwerke]]&lt;br /&gt;
&lt;br /&gt;
=== Q ===&lt;br /&gt;
&lt;br /&gt;
[[Query Log]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== R ===&lt;br /&gt;
&lt;br /&gt;
[[Radare 2 - Reverse Engineering Framework]]&lt;br /&gt;
&lt;br /&gt;
[[Rainbow Table]]&lt;br /&gt;
&lt;br /&gt;
[[Redo Logs]]&lt;br /&gt;
&lt;br /&gt;
[[Registry]]&lt;br /&gt;
&lt;br /&gt;
[[Remote Access Trojaner (RAT)]]&lt;br /&gt;
&lt;br /&gt;
[[Replay Attack]]&lt;br /&gt;
&lt;br /&gt;
[[Reverse Engineering]]&lt;br /&gt;
&lt;br /&gt;
[[Rogue Access Point &amp;amp; Evil Twin]]&lt;br /&gt;
&lt;br /&gt;
[[Rootkit]]&lt;br /&gt;
&lt;br /&gt;
=== S ===&lt;br /&gt;
[[SAP-Modell]]&lt;br /&gt;
&lt;br /&gt;
[[Sandbox]]&lt;br /&gt;
&lt;br /&gt;
[[Security Information and Event Management (SIEM)]]&lt;br /&gt;
&lt;br /&gt;
[[Seitenkanalattacke]]&lt;br /&gt;
&lt;br /&gt;
[[Semantik]]&lt;br /&gt;
&lt;br /&gt;
[[ShimCache]]&lt;br /&gt;
&lt;br /&gt;
[[Sigma]]&lt;br /&gt;
&lt;br /&gt;
[[Skimming]]&lt;br /&gt;
&lt;br /&gt;
[[Skript-Kiddie]]&lt;br /&gt;
&lt;br /&gt;
[[Slack Space]]&lt;br /&gt;
&lt;br /&gt;
[[Smishing]]&lt;br /&gt;
&lt;br /&gt;
[[Sparse Image]]&lt;br /&gt;
&lt;br /&gt;
[[Stack-basierte Buffer-Overflow Angriffe in Microsoft Windows]]&lt;br /&gt;
&lt;br /&gt;
[[Statische Analyse]]&lt;br /&gt;
&lt;br /&gt;
[[Sniffing]]&lt;br /&gt;
&lt;br /&gt;
[[Sealbag]]&lt;br /&gt;
&lt;br /&gt;
[[SpiderFoot]]&lt;br /&gt;
&lt;br /&gt;
[[Spuren]]&lt;br /&gt;
&lt;br /&gt;
[[SQL Injection]]&lt;br /&gt;
&lt;br /&gt;
[[SQL Stored Procedures]]&lt;br /&gt;
&lt;br /&gt;
[[SQLite Datenbanken auslesen mittels Python]]&lt;br /&gt;
&lt;br /&gt;
[[Sqlmap]]&lt;br /&gt;
&lt;br /&gt;
[[SSL Inspection]]&lt;br /&gt;
&lt;br /&gt;
[[Steganographie]]&lt;br /&gt;
&lt;br /&gt;
=== T ===&lt;br /&gt;
[[Tatort]]&lt;br /&gt;
&lt;br /&gt;
[[Team Win Recovery Project]]&lt;br /&gt;
&lt;br /&gt;
[[Threat Intelligence]]&lt;br /&gt;
&lt;br /&gt;
[[Thunderspy]]&lt;br /&gt;
&lt;br /&gt;
[[Timeline]]&lt;br /&gt;
&lt;br /&gt;
[[Triage]]&lt;br /&gt;
&lt;br /&gt;
[[Trugspur]]&lt;br /&gt;
&lt;br /&gt;
[[Tsurugi-Linux]]&lt;br /&gt;
&lt;br /&gt;
[[Totmannschalter]]&lt;br /&gt;
&lt;br /&gt;
=== U ===&lt;br /&gt;
[[Unallocated Data (Nicht zugeordnete Daten)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== V ===&lt;br /&gt;
[[Verfügbarkeit]]&lt;br /&gt;
&lt;br /&gt;
[[Vertraulichkeit]]&lt;br /&gt;
&lt;br /&gt;
[[Vertraulichkeit in Datenbanksystemen]]&lt;br /&gt;
&lt;br /&gt;
[[Volume Shadow Copies]]&lt;br /&gt;
&lt;br /&gt;
[[Vorsorge für die IT-Forensik]]&lt;br /&gt;
&lt;br /&gt;
[[Video-Forensik]]&lt;br /&gt;
&lt;br /&gt;
=== W ===&lt;br /&gt;
[[W-Fragen]]&lt;br /&gt;
&lt;br /&gt;
[[Watering-Holes]]&lt;br /&gt;
&lt;br /&gt;
[[Web-Application-Firewall]]&lt;br /&gt;
&lt;br /&gt;
[[Whitelisting]]&lt;br /&gt;
&lt;br /&gt;
[[Why-Because-Analyse (WBA)]]&lt;br /&gt;
&lt;br /&gt;
[[Windows-RAM auslesen]]&lt;br /&gt;
&lt;br /&gt;
[[Windows-Prefetch]]&lt;br /&gt;
&lt;br /&gt;
[[Wiping]]&lt;br /&gt;
&lt;br /&gt;
[[Wireshark]]&lt;br /&gt;
&lt;br /&gt;
[[Write Blocker]]&lt;br /&gt;
&lt;br /&gt;
[[Wörterbuchangriff]]&lt;br /&gt;
&lt;br /&gt;
=== X ===&lt;br /&gt;
[[Xmount]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Z ===&lt;br /&gt;
[[Zeit]]&lt;br /&gt;
&lt;br /&gt;
[[Zeitbasierte SQL Injection Attacken]]&lt;br /&gt;
&lt;br /&gt;
[[Zenmap]]&lt;br /&gt;
&lt;br /&gt;
[[Zero-Day-Exploit]]&lt;br /&gt;
&lt;br /&gt;
[[Ziele einer forensischen Untersuchung nach A. Geschonneck]]&lt;br /&gt;
&lt;br /&gt;
== Fernstudiengänge an der Hochschule Wismar (berufsbegleitend) ==&lt;br /&gt;
&lt;br /&gt;
[https://www.wings.hs-wismar.de/de/fernstudium_bachelor/it_forensik IT-Forensik, Bachelor] &lt;br /&gt;
&lt;br /&gt;
[https://www.wings.hs-wismar.de/de/fernstudium_master/it_sicherheit_und_forensik/ IT-Sicherheit und Forensik, Master]&lt;br /&gt;
&lt;br /&gt;
== Starthilfen ==&lt;br /&gt;
&lt;br /&gt;
* Hilfe zur Benutzung und Konfiguration der Wiki-Software finden Sie im [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Benutzerhandbuch]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Liste der Konfigurationsvariablen]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki-FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailingliste neuer MediaWiki-Versionen]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Übersetze MediaWiki für deine Sprache]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Erfahre, wie du Spam auf deinem Wiki bekämpfen kannst]&lt;/div&gt;</summary>
		<author><name>St190675</name></author>
	</entry>
	<entry>
		<id>http://it-forensik.fiw.hs-wismar.de/index.php?title=SQL_Stored_Procedures&amp;diff=2222</id>
		<title>SQL Stored Procedures</title>
		<link rel="alternate" type="text/html" href="http://it-forensik.fiw.hs-wismar.de/index.php?title=SQL_Stored_Procedures&amp;diff=2222"/>
		<updated>2022-02-24T09:35:31Z</updated>

		<summary type="html">&lt;p&gt;St190675: /* Beispiel Syntax (MSSQL): */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter einer Stored Procedure versteht man ein Stück gespeicherten SQL-Code der immer wieder ausführbar ist. Ähnlich wie Funktionen kann man SQL Stored Procedures individuell anlegen und speichern, mit Parametern versehen, alternativ auch etwas zurückgeben lassen und anhand des Namens aufrufen. &lt;br /&gt;
Es bietet sich also an, Code den man häufig ausführt als Stored Procedure zu speichern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiel Syntax (MSSQL): ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anlegen einer Stored Procedure:&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;CREATE PROCEDURE&amp;lt;/code&amp;gt; SelectAllStudents&lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;AS&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;SELECT * FROM&amp;lt;/code&amp;gt; Studenten&lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;GO;&amp;lt;/code&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
Aufrufen dieser Stored Procedure:&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;EXEC&amp;lt;/code&amp;gt; SelectAllStudents;&lt;br /&gt;
      &lt;br /&gt;
Anlegen einer Stored Procedure mit Parametern:&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;CREATE PROCEDURE&amp;lt;/code&amp;gt; SelectAllStudents @Gruppe nvarchar(30), @Semester nvarchar(2)&lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;AS&amp;lt;/code&amp;gt;&lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;SELECT * FROM&amp;lt;/code&amp;gt; Studenten &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;WHERE&amp;lt;/code&amp;gt; Gruppe = @Gruppe &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;AND&amp;lt;/code&amp;gt; Semester = @Semester&lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;GO;&amp;lt;/code&amp;gt; &lt;br /&gt;
     &lt;br /&gt;
Aufruf:&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;EXEC&amp;lt;/code&amp;gt; SelectAllStudents @Gruppe = &#039;München&#039;, @Semester = &#039;5&#039;;&lt;br /&gt;
&lt;br /&gt;
== Warum Stored Procedures und nicht Funktionen? ==&lt;br /&gt;
&lt;br /&gt;
Stored Procedures und Funktionen sind in ihrer Funktion sehr ähnlich. Die Stored Procedures sind allerdings flexibler und benötigen weniger Code als Funktionen, da weder “BEGIN” und “END”, noch “RETURN” notwendig sind solange der Code nur eine Zeile lang ist.&lt;br /&gt;
Auch erlauben Stored Procedures mehrere Parameter, während Funktionen immer nur eine Variable oder Tabelle zurückgeben können.&lt;br /&gt;
Es ist nicht möglich in einer Funktion eine Procedure aufzurufen, umgekehrt ist es aber möglich, eine Funktion in einer Procedure aufzurufen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vorteile von Stored Procedures: ==&lt;br /&gt;
&lt;br /&gt;
* Da Stored Procedures in der Datenbank gespeichert werden ist es ohne großen Aufwand möglich mittels “ALTER PROCEDURE” den Code der Procedure zu verändern ohne dass ein Neustart nötig ist.&lt;br /&gt;
&lt;br /&gt;
* Stored Procedures ermöglichen eine große Zeitersparnis indem häufig genutzter Code nicht jedes Mal neu eingegeben werden muss und da Statements in der Regel vorkompiliert sind, wird auch Laufzeit gespart. &lt;br /&gt;
&lt;br /&gt;
* Es ist möglich Stored Procedures zu verschlüsseln, so dass der Inhalt nicht sichtbar ist. Wird der Zugriff auf die Tabelle nur über Procedures gestattet erhöht dies die Sicherheit vor unbefugtem Verändern der Daten. &lt;br /&gt;
&lt;br /&gt;
* Bessere Übersichtlichkeit des Codes durch zentral gehaltene und wiederverwendbare Procedures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stored Procedures als Schutz vor SQL-Injections ==&lt;br /&gt;
&lt;br /&gt;
Stored Procedures bieten einen gewissen Schutz vor SQL-Injections, da sie Parameter/Daten und Anfragen getrennt voneinander behandeln können. So werden Parameter immer ausschließlich als Daten behandelt und nicht als Anfrage. &lt;br /&gt;
Allerdings ist dies kein absoluter Schutz, auch Stored Procedures können, unter gewissen Bedingungen, Angriffsflächen für SQL-Injections bieten. Beispielsweise wenn der Code in der Procedure dynamisch durch konkatinierte Parameter aufgebaut ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
&lt;br /&gt;
https://www.w3schools.com/sql/sql_stored_procedures.asp&lt;br /&gt;
&lt;br /&gt;
https://www.sqlshack.com/sql-server-stored-procedures-for-beginners/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
YouTube:&lt;br /&gt;
&lt;br /&gt;
“Advanced SQL Tutorial | Stored Procedures + Use Cases” von “Alex The Analyst”&lt;br /&gt;
(https://www.youtube.com/watch?v=NrBJmtD0kEw)&lt;br /&gt;
&lt;br /&gt;
“SQL Stored Procedures - What They Are, Best Practices, Security, and More…” von “IamTimCorey”&lt;br /&gt;
(https://www.youtube.com/watch?v=Sggdhot-MoM)&lt;/div&gt;</summary>
		<author><name>St190675</name></author>
	</entry>
	<entry>
		<id>http://it-forensik.fiw.hs-wismar.de/index.php?title=SQL_Stored_Procedures&amp;diff=2221</id>
		<title>SQL Stored Procedures</title>
		<link rel="alternate" type="text/html" href="http://it-forensik.fiw.hs-wismar.de/index.php?title=SQL_Stored_Procedures&amp;diff=2221"/>
		<updated>2022-02-24T09:32:54Z</updated>

		<summary type="html">&lt;p&gt;St190675: Die Seite wurde neu angelegt: „Unter einer Stored Procedure versteht man ein Stück gespeicherten SQL-Code der immer wieder ausführbar ist. Ähnlich wie Funktionen kann man SQL Stored Proce…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Unter einer Stored Procedure versteht man ein Stück gespeicherten SQL-Code der immer wieder ausführbar ist. Ähnlich wie Funktionen kann man SQL Stored Procedures individuell anlegen und speichern, mit Parametern versehen, alternativ auch etwas zurückgeben lassen und anhand des Namens aufrufen. &lt;br /&gt;
Es bietet sich also an, Code den man häufig ausführt als Stored Procedure zu speichern.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Beispiel Syntax (MSSQL): ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Anlegen einer Stored Procedure:&lt;br /&gt;
 &lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;CREATE PROCEDURE&amp;lt;/code&amp;gt; SelectAllStudents&lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;AS&amp;lt;/code&amp;gt;&lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;SELECT * FROM&amp;lt;/code&amp;gt; Studenten&lt;br /&gt;
    &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;GO;&amp;lt;/code&amp;gt;&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
Aufrufen dieser Stored Procedure:&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;EXEC&amp;lt;/code&amp;gt; SelectAllStudents;&lt;br /&gt;
      &lt;br /&gt;
Anlegen einer Stored Procedure mit Parametern:&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;CREATE PROCEDURE&amp;lt;/code&amp;gt; SelectAllStudents @Gruppe nvarchar(30), @Semester nvarchar(2)&lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;AS&amp;lt;/code&amp;gt;&lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;SELECT * FROM&amp;lt;/code&amp;gt; Studenten &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;WHERE&amp;lt;/code&amp;gt; Gruppe = @Gruppe AND Semester = @Semester&lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;GO;&amp;lt;/code&amp;gt; &lt;br /&gt;
     &lt;br /&gt;
Aufruf:&lt;br /&gt;
     &lt;br /&gt;
     &amp;lt;code style=&amp;quot;color: blue&amp;quot;&amp;gt;EXEC&amp;lt;/code&amp;gt; SelectAllStudents @Gruppe = &#039;München&#039;, @Semester = &#039;5&#039;;  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Warum Stored Procedures und nicht Funktionen? ==&lt;br /&gt;
&lt;br /&gt;
Stored Procedures und Funktionen sind in ihrer Funktion sehr ähnlich. Die Stored Procedures sind allerdings flexibler und benötigen weniger Code als Funktionen, da weder “BEGIN” und “END”, noch “RETURN” notwendig sind solange der Code nur eine Zeile lang ist.&lt;br /&gt;
Auch erlauben Stored Procedures mehrere Parameter, während Funktionen immer nur eine Variable oder Tabelle zurückgeben können.&lt;br /&gt;
Es ist nicht möglich in einer Funktion eine Procedure aufzurufen, umgekehrt ist es aber möglich, eine Funktion in einer Procedure aufzurufen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vorteile von Stored Procedures: ==&lt;br /&gt;
&lt;br /&gt;
* Da Stored Procedures in der Datenbank gespeichert werden ist es ohne großen Aufwand möglich mittels “ALTER PROCEDURE” den Code der Procedure zu verändern ohne dass ein Neustart nötig ist.&lt;br /&gt;
&lt;br /&gt;
* Stored Procedures ermöglichen eine große Zeitersparnis indem häufig genutzter Code nicht jedes Mal neu eingegeben werden muss und da Statements in der Regel vorkompiliert sind, wird auch Laufzeit gespart. &lt;br /&gt;
&lt;br /&gt;
* Es ist möglich Stored Procedures zu verschlüsseln, so dass der Inhalt nicht sichtbar ist. Wird der Zugriff auf die Tabelle nur über Procedures gestattet erhöht dies die Sicherheit vor unbefugtem Verändern der Daten. &lt;br /&gt;
&lt;br /&gt;
* Bessere Übersichtlichkeit des Codes durch zentral gehaltene und wiederverwendbare Procedures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Stored Procedures als Schutz vor SQL-Injections ==&lt;br /&gt;
&lt;br /&gt;
Stored Procedures bieten einen gewissen Schutz vor SQL-Injections, da sie Parameter/Daten und Anfragen getrennt voneinander behandeln können. So werden Parameter immer ausschließlich als Daten behandelt und nicht als Anfrage. &lt;br /&gt;
Allerdings ist dies kein absoluter Schutz, auch Stored Procedures können, unter gewissen Bedingungen, Angriffsflächen für SQL-Injections bieten. Beispielsweise wenn der Code in der Procedure dynamisch durch konkatinierte Parameter aufgebaut ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
&lt;br /&gt;
https://www.w3schools.com/sql/sql_stored_procedures.asp&lt;br /&gt;
&lt;br /&gt;
https://www.sqlshack.com/sql-server-stored-procedures-for-beginners/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
YouTube:&lt;br /&gt;
&lt;br /&gt;
“Advanced SQL Tutorial | Stored Procedures + Use Cases” von “Alex The Analyst”&lt;br /&gt;
(https://www.youtube.com/watch?v=NrBJmtD0kEw)&lt;br /&gt;
&lt;br /&gt;
“SQL Stored Procedures - What They Are, Best Practices, Security, and More…” von “IamTimCorey”&lt;br /&gt;
(https://www.youtube.com/watch?v=Sggdhot-MoM)&lt;/div&gt;</summary>
		<author><name>St190675</name></author>
	</entry>
</feed>