natas通关小游戏(未完待续)

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41023022/article/details/81976958

地址:http://overthewire.org/wargames/natas/

level 0 -> level 1

You can find the password for the next level on this page.(你可以在此界面找到下一级别的代码)

于是查看源码,发现答案在注释中

natas:gtVrDuiDfck831PqWsLEZy5gyDz1clto

 

 level 1 -> level 2

You can find the password for the next level on this page, but rightclicking has been blocked!(你可以在此界面找到下一级别的密码,但是右键单击已被阻止)

F12查看源码,发现答案在注释中

natas2:ZluruAthQk7Q2MqmDeTiUij2ZvWy2mBi

level 2 -> level 3

There is nothing on this page(此页面没有任何内容)

首先查看源码,发现img标签,于是访问这个这个链接http://natas2.natas.labs.overthewire.org/files/pixel.png

没有任何发现,使者访问它的上一级路径http://natas2.natas.labs.overthewire.org/files,发现user.txt,单击打开,得到密码

natas3:sJIJNW6ucpu6HPZ1ZAchaDtwd7oGrD14

level 3 -> level 4

There is nothing on this page(此页面没有任何内容)

还是查看源码,发现注释中有提示

<!-- No more information leaks!! Not even Google will find it this time... -->

 Google Allo不会找到它,我们知道Google 是搜索引擎,不让搜索引擎爬取只需在网站下放一个robots.txt文件,试着访问该文件http://natas3.natas.labs.overthewire.org/robots.txt 

页面跳转

User-agent: * 
Disallow: /s3cr3t/

第一行:* 表示所有搜索引擎

第二行:Disallow 表示禁止访问,后面接目录或文件名

于是构造连接访问该目录http://natas3.natas.labs.overthewire.org/s3cr3t/

发现user.txt,单击打开,得到密码

natas4:Z9tkRkWmpt9Qr7XrR5jWRkgOU901swEZ

level 4-> level 5

Access disallowed. You are visiting from "http://natas4.natas.labs.overthewire.org/" while authorized users should come only from "http://natas5.natas.labs.overthewire.org/"(访问不被允许,只能来自某个特定的URL)

知识点:HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的首先F12打开火狐浏览器的开发者工具,切换到网络(Network)选项,重新载入,查看页面请求,发现浏览器请求http://natas4.natas.labs.overthewire.org页面的请求头的Referer:http://natas4.natas.labs.overthewire.org

可以利用hackbar构造referer:http://natas5.natas.labs.overthewire.org

页面跳转,得到密码

natas5:iX6IOfmpN7AYOQGPwtn3fXpbaJVJcHfq

level 5 -> level 6

Access disallowed. You are not logged in(访问不被允许,你没有登录)

明明登录了却说没登录,这里涉及http协议的一个知识点cookie了。http协议是一种无状态的协议,每次穿输完数据就会断开连接,这时候就靠cookie进行身份验证了。cookie由服务器分配器给浏览器,存储了会话状态和身份信息,之后每次http 请求,都会带上cookie信息给服务器,服务器会根据cookie信息做出不同的响应。

于是我们F12查看网络选项发现cookie中的loggedin=0,用hackbar改为1即可

natas6:aGoY4q2Dc6MgDq4oL4YtoKtyAg9PeHa1

 level 6 -> level 7

页面提示Input secret :,和一个提交按钮以及view sourcecode按钮。可知需要提交一个特定的参数才会返回密码。

首先查看源码,发现关键代码

<?

include "includes/secret.inc";

    if(array_key_exists("submit", $_POST)) {
        if($secret == $_POST['secret']) {
        print "Access granted. The password for natas7 is <censored>";
    } else {
        print "Wrong secret";
    }
    }
?>

很明显,是需要我们输入的信息同secret.inc中的secret作比较,于是构造链接访问http://natas6.natas.labs.overthewire.org/includes/secret.inc

页面成功跳转,但是为空白页面无任何信息,说明代码被解析,查看源码,得到secret

<?
$secret = "FOEIUWGHFEEUHOFUOIU";
?>

输入,点击提交,返回密码

natas7 : 7z3hEENjQtflzgnT29q7wAvMNfZdh0i9

level 7 -> level 8

页面有Home和About两个按钮,分别点击后链接变为http://natas7.natas.labs.overthewire.org/index.php?page=home和http://natas7.natas.labs.overthewire.org/index.php?page=about

查看源码发现有一句话被注释掉了

<!-- hint: password for webuser natas8 is in /etc/natas_webpass/natas8 -->

通过浏览器F12查看页面请求,发现访问Home和About都是GET方式提交参数访问的,而不是直接跳转,加上这句可以猜测是文件包含漏洞,随意构造参数(例:about1)测试一下,有如下信息

证明确实是文件包含漏洞,于是将/etc/natas_webpass/natas8作为参数传入,得到密码

natas8 : DBfUBfqQG69KvJvJ1iAbMoIpwSNQ9bWe

 level 8 -> level 9

查看源码,发现关键代码

<?

$encodedSecret = "3d3d516343746d4d6d6c315669563362";

function encodeSecret($secret) {
    return bin2hex(strrev(base64_encode($secret)));
}

if(array_key_exists("submit", $_POST)) {
    if(encodeSecret($_POST['secret']) == $encodedSecret) {
    print "Access granted. The password for natas9 is <censored>";
    } else {
    print "Wrong secret";
    }
}
?>

这是一道信息安全加密问题

base64_encode是进行base64加密

strrev是将字符串倒过来

bin2hex是将assic码转化为十六进制

于是构造

<?php
echo base64_decode(strrev(hex2bin("3d3d516343746d4d6d6c315669563362")));
?>

得到oubWYf2kBq,输入后点击提交得到密码

natas9 : W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl

 level 9 -> level 10

<?
$key = "";

if(array_key_exists("needle", $_REQUEST)) {
    $key = $_REQUEST["needle"];
}

if($key != "") {
    passthru("grep -i $key dictionary.txt");
}
?>

知识点:

passthru()函数用来执行外部命令的

grep -i 为不分大小写匹配查询

既然调用系统命令,可以尝试命令注入,先用;截断,在构造查看命令 cat /etc/natas_webpass/natas10;

得到密码

natas10 : nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu

level 10 -> level 11

For security reasons, we now filter on certain characters(出于安全原因,我们过滤掉了某些字符)

查看源码,发现;|&被过滤了,但是grep支持正则表达式,于是可以构造 .* /etc/natas_webpass/natas11提交

natas11:U82q5TCMMQ9xuFoI3dYX61s7OZD9JKoK
展开阅读全文

游戏通关

03-21

☆ Java程序员居家旅行必备课程 ☆<br />rn<br />rnJava学习指南系列的第4篇,介绍基于Java Swing的的高级应用技术。本篇的前一篇是Swing入门篇。<br />rnSwing系列教程分为两篇:(1) Swing入门篇 (2) Swing高级篇。<br />rn<br />rn本篇内容至少包含:<br />rn- 高级绘制技术,包含线型、渐变色、文本的精确绘制<br />rn- 不规则形状及图表的绘制<br />rn- 工作线程与界面线程的原理<br />rn- 短任务、长任务、定时任务的应用举例<br />rn- 弹出式窗口 Popup的使用方法<br />rn- 短消息提示 Toaster 的设计与使用<br />rn- 事件处理机制,鼠标键盘事件处理,以及一个基于键盘操作的“推箱子”游戏&nbsp;<br />rn- 多行文本的显示<br />rn- 图片操作:缩放、剪裁、旋转、镜像,以及一个屏幕截图程序的实例<br />rn- 管理型应用界面的框架<br />rn- 向导型应用界面的框架<br />rn- 文档型应用界面的框架<br />rn- 拖放支持 Drag &amp; Drop,一个可拖拽排序的列表,以及一个拼图游戏的实现<br />rn<br />rn* 课程特色 *<br />rn轻快 - 采用小章节教学,学起来轻松<br />rn实用 - 以实际工程需要出发来设计课程<br />rn有趣 - 穿插大量特效实例,增加趣味性和学员的成就感<br />rn专业 - 课程中采用的代码库,就是经过良好封装的成熟的库<br />rn<br />rn本篇穿插多个实例,通过实例,综合运用多种技术,使学员对项目的构建有所有认识。<br />

没有更多推荐了,返回首页