Skip to content
This repository has been archived by the owner. It is now read-only.
IT-Security Bachelor Thesis
TeX Python JavaScript Java Dockerfile C# Other
Branch: master
Clone or download
This branch is even with Holzhaus:master.

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
code
doku
expose
extra
literatur
presentation
thesis
.gitattributes
.gitignore
README.md
thesis.pdf
thesis.pdf.asc

README.md

Bachelorarbeit

Ordnerstruktur

Die Ordnerstruktur (wie im How-To beschrieben):

Ordner Inhalt
code Quelltexte
doku Zwischenergebnisse, Stichpunkte, etc.
extra How-To, Vorlagen, etc.
expose Exposé für die Bachelorarbeit
literatur Referenzierte Paper im Volltext
presentation Folien für die Kolloquiums-Vorträge
thesis Bachelorarbeit

Latex-Abhängigkeiten

Neben einer aktuellen TeXLive-Distribution werden benötigt:

Zudem sollte das Tool Latexmk zum Kompilieren verwendet werden, damit sichergestellt wird, dass genügend Durchläufe zum Auflösen aller Querverweise gemacht werden. Zudem befinden sich .latexmkrc-Dateien in den jeweiligen Dokumentordnern, die sinnvolle Einstellungen für den Kompiliervorgang enthalten.

Da das LaTeX-Paket minted für die Einfärbung der Quelltexte eingesetzt wird, müssen zudem die dazu notwendigen Python-Pakete installiert sein:

Mittels pip können die beiden Pakete einfach installiert werden:

$ pip install pygments pygments-style-rub

Test-Framework

Es wird empfohlen, das Test-Framework innerhalb eines Docker-Containers auszuführen. Dazu kann das Dockerfile unter code/Dockerfile verwendet werden.

Zunächst muss dafür das Docker-Image erstellt werden:

$ cd code
$ docker build -t xjcc .

Im Anschluss kann der Docker-Container gestartet werden. Um die Ergebnisdaten später auf dem Host-System auswerten zu können, kann ein lokaler Ordner auf das /data-Verzeichnis im Docker-Container gemappt werden. Hier ein Beispiel für das Verzeichnis ~/mydata auf dem Host:

$ docker run -v ~/mydata:/data -it xjcc

Im Container wird eine Shell gestartet, in der dann der Befehl xjcc zum Einsatz des Test-Frameworks genutzt werden kann.

Das folgende Kommando führt alle Konverter und alle Testfälle aus und legt die Ergebnisse in einem Ordner im aktuellen Arbeitsverzeichnis ab:

$ xjcc -vv test-conversion -w

Mit dem Argument --help kann die eingebaute Hilfe angezeigt werden:

usage: xjcc [-h] [-v | -vv | -q]
            {convert-file,list-converters,list-testcases,test-conversion,canonicalize}
            ...

XML/JSON conversion checker
(c) 2017 by Jan Holthuis

positional arguments:
  {convert-file,list-converters,list-testcases,test-conversion,canonicalize}
    convert-file        convert file
    list-converters     list available converters
    list-testcases      list available testcases
    test-conversion     test conversion
    canonicalize        canonicalize an XML document

optional arguments:
  -h, --help            show this help message and exit
  -v, --verbose         be verbose
  -vv, --debug          even show debug messages
  -q, --quiet           be quiet

Happy testing!

Testcases

Die Sicherheits-Testdokumente in den Ordnern "denial-of-service", "file-system-access" und "server-side-request-forgery" basieren auf der Arbeit von Christopher Späth. Die ursprünglichen Versionen der Testdokumente befinden sich im "DTD-Attacks"-Repository des NDS-Lehrstuhls auf Github.

You can’t perform that action at this time.