dd
[ikiwiki.git] / doc / security.mdwn
1 If you are using ikiwiki to render pages that only you can edit, then there
2 are no more security issues with this program than with cat(1). If,
3 however, you let others edit pages in your wiki, then some security issues
4 do need to be kept in mind.
5
6 ## html attacks
7
8 ikiwiki does not attempt to do any santization of the html on the wiki.
9 MarkDown allows embedding of arbitrary html into a markdown document. If
10 you let anyone else edit files on the wiki, then anyone can have fun exploiting
11 the web browser bug of the day. This type of attack is typically referred
12 to as an XSS attack ([google](http://www.google.com/search?q=xss+attack)).
13
14 ## image files etc attacks
15
16 If it enounters a file type it does not understand, ikiwiki just copies it
17 into place. So if you let users add any kind of file they like, they can
18 upload images, movies, windows executables, etc. If these files exploit
19 security holes in the browser of someone who's viewing the wiki, that can
20 be a security problem.
21
22 ## exploting ikiwiki with bad content
23
24 Someone could add bad content to the wiki and hope to exploit ikiwiki.
25 Note that ikiwiki runs with perl taint checks on, so this is unlikely;
26 the only data that is not subject to full taint checking is the names of
27 files, and filenames are sanitised.
28
29 ## cgi scripts
30
31 ikiwiki does not allow cgi scripts to be published as part of the wiki. Or
32 rather, the script is published, but it's not marked executable, so
33 hopefully your web server will not run it.
34
35 ## web server attacks
36
37 If your web server does any parsing of special sorts of files (for example,
38 server parsed html files), then if you let anyone else add files to the wiki,
39 they can try to use this to exploit your web server.