<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://wiki.zenk-security.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://wiki.zenk-security.com/feed.php">
        <title>Zenk - Security overthewire_narnia</title>
        <description></description>
        <link>http://wiki.zenk-security.com/</link>
        <image rdf:resource="http://wiki.zenk-security.com/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-05-04T01:28:09+02:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level0&amp;rev=1491744837&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level1&amp;rev=1491744837&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level2&amp;rev=1362162737&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level3&amp;rev=1362163491&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level4&amp;rev=1491744837&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level5&amp;rev=1491744837&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level6&amp;rev=1362320692&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level7&amp;rev=1362322318&amp;do=diff"/>
                <rdf:li rdf:resource="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level8&amp;rev=1363530779&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://wiki.zenk-security.com/lib/tpl/dokuwiki/images/favicon.ico">
        <title>Zenk - Security</title>
        <link>http://wiki.zenk-security.com/</link>
        <url>http://wiki.zenk-security.com/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level0&amp;rev=1491744837&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-04-09T15:33:57+02:00</dc:date>
        <title>overthewire_narnia:level0</title>
        <link>http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level0&amp;rev=1491744837&amp;do=diff</link>
        <description>ssh narnia0@narnia.labs.overthewire.org
pass : narnia0



#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

int main(){
	long val=0x41414141;
	char buf[20];

	printf(&quot;Correct val's value from 0x41414141 -&gt; 0xdeadbeef!\n&quot;);
	printf(&quot;Here is your chance: &quot;);
	scanf(&quot;%24s&quot;,&amp;buf);

	printf(&quot;buf: %s\n&quot;,buf);
	printf(&quot;val: 0x%08x\n&quot;,val);

	if(val==0xdeadbeef)
		system(&quot;/bin/sh&quot;);
	else {
		printf(&quot;WAY OFF!!!!\n&quot;);
		exit(1);
	}

	return 0;
}</description>
    </item>
    <item rdf:about="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level1&amp;rev=1491744837&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-04-09T15:33:57+02:00</dc:date>
        <title>overthewire_narnia:level1</title>
        <link>http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level1&amp;rev=1491744837&amp;do=diff</link>
        <description>ssh narnia1@narnia.labs.overthewire.org
pass : efeidiedae



#include &lt;stdio.h&gt;

int main(){
	int (*ret)();

	if(getenv(&quot;EGG&quot;)==NULL){    
		printf(&quot;Give me something to execute at the env-variable EGG\n&quot;);
		exit(1);
	}

	printf(&quot;Trying to execute EGG!\n&quot;);
	ret = getenv(&quot;EGG&quot;);
	ret();

	return 0;
}</description>
    </item>
    <item rdf:about="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level2&amp;rev=1362162737&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-03-01T19:32:17+02:00</dc:date>
        <title>overthewire_narnia:level2</title>
        <link>http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level2&amp;rev=1362162737&amp;do=diff</link>
        <description>ssh narnia2@narnia.labs.overthewire.org
pass : nairiepecu



#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;

int main(int argc, char * argv[]){
        char buf[128];

        if(argc == 1){
                printf(&quot;Usage: %s argument\n&quot;, argv[0]);
                exit(1);
        }
        strcpy(buf,argv[1]);
        printf(&quot;%s&quot;, buf);

        return 0;
}</description>
    </item>
    <item rdf:about="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level3&amp;rev=1362163491&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-03-01T19:44:51+02:00</dc:date>
        <title>overthewire_narnia:level3</title>
        <link>http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level3&amp;rev=1362163491&amp;do=diff</link>
        <description>ssh narnia3@narnia.labs.overthewire.org
pass : vaequeezee



#include &lt;stdio.h&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/stat.h&gt;
#include &lt;fcntl.h&gt;
#include &lt;unistd.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt; 

int main(int argc, char **argv){
 
        int  ifd,  ofd;
        char ofile[16] = &quot;/dev/null&quot;;
        char ifile[32];
        char buf[32];
 
        if(argc != 2){
                printf(&quot;usage, %s file, will send contents of file 2 /dev/null\n&quot;,argv[0]);
                exit(-1);
        …</description>
    </item>
    <item rdf:about="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level4&amp;rev=1491744837&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-04-09T15:33:57+02:00</dc:date>
        <title>overthewire_narnia:level4</title>
        <link>http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level4&amp;rev=1491744837&amp;do=diff</link>
        <description>ssh narnia4@narnia.labs.overthewire.org
pass : thaenohtai



#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;ctype.h&gt;

extern char **environ;

int main(int argc,char **argv){
	int i;
	char buffer[256];

	for(i = 0; environ[i] != NULL; i++)
		memset(environ[i], '\0', strlen(environ[i]));

	if(argc&gt;1)
		strcpy(buffer,argv[1]);

	return 0;
}</description>
    </item>
    <item rdf:about="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level5&amp;rev=1491744837&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2017-04-09T15:33:57+02:00</dc:date>
        <title>overthewire_narnia:level5</title>
        <link>http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level5&amp;rev=1491744837&amp;do=diff</link>
        <description>ssh narnia5@narnia.labs.overthewire.org
pass : faimahchiy



#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
 
int main(int argc, char **argv){
	int i = 1;
	char buffer[64];

	snprintf(buffer, sizeof buffer, argv[1]);
	buffer[sizeof (buffer) - 1] = 0;
	printf(&quot;Change i's value from 1 -&gt; 500. &quot;);

	if(i==500){
		printf(&quot;GOOD\n&quot;);
		system(&quot;/bin/sh&quot;);
	}

	printf(&quot;No way...let me give you a hint!\n&quot;);
	printf(&quot;buffer : [%s] (%d)\n&quot;, buffer, strlen(buffer));
	printf (&quot;i = %d (%p)\n&quot;, i, …</description>
    </item>
    <item rdf:about="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level6&amp;rev=1362320692&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-03-03T15:24:52+02:00</dc:date>
        <title>overthewire_narnia:level6</title>
        <link>http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level6&amp;rev=1362320692&amp;do=diff</link>
        <description>ssh narnia6@narnia.labs.overthewire.org
pass : neezocaeng



#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;

extern char **environ;

int main(int argc, char *argv[]){
	char b1[8], b2[8];
	int  (*fp)(char *)=(int(*)(char *))&amp;puts, i;

	if(argc!=3){ printf(&quot;%s b1 b2\n&quot;, argv[0]); exit(-1); }

	/* clear environ */
	for(i=0; environ[i] != NULL; i++)
		memset(environ[i], '\0', strlen(environ[i]));
	/* clear argz    */
	for(i=3; argv[i] != NULL; i++)
		memset(argv[i], '\0', strlen(argv[i])…</description>
    </item>
    <item rdf:about="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level7&amp;rev=1362322318&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-03-03T15:51:58+02:00</dc:date>
        <title>overthewire_narnia:level7</title>
        <link>http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level7&amp;rev=1362322318&amp;do=diff</link>
        <description>ssh narnia7@narnia.labs.overthewire.org  
pass : ahkiaziphu



#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;unistd.h&gt;

int goodfunction();
int hackedfunction();

int vuln(const char *format){
        char buffer[128];
        int (*ptrf)();

        memset(buffer, 0, sizeof(buffer));
        printf(&quot;goodfunction() = %p\n&quot;, goodfunction);
        printf(&quot;hackedfunction() = %p\n\n&quot;, hackedfunction);

        ptrf = goodfunction;
        printf(&quot;before : …</description>
    </item>
    <item rdf:about="http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level8&amp;rev=1363530779&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-03-17T15:32:59+02:00</dc:date>
        <title>overthewire_narnia:level8</title>
        <link>http://wiki.zenk-security.com/doku.php?id=overthewire_narnia:level8&amp;rev=1363530779&amp;do=diff</link>
        <description>ssh narnia8@narnia.labs.overthewire.org 
pass : mohthuphog



#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
// gcc's variable reordering fucked things up
// to keep the level in its old style i am 
// making &quot;i&quot; global unti i find a fix 
// -morla 
int i; 

void func(char *b){
	char *blah=b;
	char bok[20];
	//int i=0;
	
	memset(bok, '\0', sizeof(bok));
	for(i=0; blah[i] != '\0'; i++)
		bok[i]=blah[i];

	printf(&quot;%s\n&quot;,bok);
}

int main(int argc, char **argv){
        
	if(argc &gt; 1)  …</description>
    </item>
</rdf:RDF>
