首页 > 系统相关 >欢迎来到小码哥的博客 博客搬家啦 blog.ma6174.com 西邮Linux小组免试题揭秘

欢迎来到小码哥的博客 博客搬家啦 blog.ma6174.com 西邮Linux小组免试题揭秘

时间:2023-09-17 16:15:59浏览次数:53  
标签:小组 博客 blog 西邮 num Linux 040 com 页面

还记得东京大学情报理工学系的招生海报吗?只要答对了问题,然后你就被录取了。当时可火了,人人和微博疯狂转载。

tokyo

如今西邮Linux小组也搞了个这样题目,只要你能答对,就能免试进入西邮Linux小组!感觉挺好玩,遂挑战一把。

题目原文在这里:http://www.xiyoubbs.com/thread-81454-1-1.html

第一关

题目

题目就是一段密文:

0011011101111010101111001010111100100111000111000000000000000011100110111011010111100011010100101111011000000000000000000000000000000000000000000000000000000000010011100000000000000000000000000000000000000000000000000000000001011110001100000101000101001101000000000001000110011001000010001010011010000010100110011011100011000101100001110010010001011010011100010011010111011001000011110111010110101101101110011100111111110101000010110111001110001001011101111011010010011000001110111001111100010100100100010010110101010101100001000101011001110010101111101100100100000101011100000011011001010101000110111101011001010101000001101001000111000011100101101111010001010001100011110110000011111010100101111100101010000111010111001110111011011110100100001001110001111010110100111001110000111111100100010011010001011110000101010000110101000111100101111100110101000100111101101100000110111111000111100001010111000101100010011111100111101110111110111111001111010010000100010100000101011101011010001010111011110111011001000001111100110100111101011011111001101110000110101101010011101010101001000011011110111111001111000010000110010110101100100010110110101000110110111001100011010011111001110110111101100000101001011101110011111101010110101100010001011001010000100100100000001010110111111101101111001000011010111001101110100110000101110110100110101100100011100011110100111011010001001010110110101011010111111001001110101001011110010010001011101000010001101010001110100001011000001110011000100001110110101001000101110001100001010000101100101101111100101110011001011000111011010111010000010101111110001100001110011110010011110110101100110011101101110001101110110001101101001001011110110101101010110111111100111110000111010010111111110001010111000010100000000001100110001101111011001010101001100100101101010011110000010000100111000011110111001001100110101101101110101100111001101000010010101000100101111010101000000100011000101100110011111010101111000110100010110011000000110000000000110110001111011110001110011101000100100010010111110000001001000100100011011100110001011111101101011110100101101000010011010100110101100110001010011101111011101101111010000110110100111101100101110001100010100111111101101011110001101001111110010000000000000000000000010000010000000110000000000000000100001001100000001111011000000000000001110000101100000001000000000000000100100011000000110000000100000001000001010101110100000000000000000000000100000000000011001000001000000010000000000000100000001010000000011000110001111011110010111100101100000000000000000000010100000001000100010000111100000000011000110000000001101111000000000110010000000000011001010000000000101110000000000110001100000000000000000000000000010100000010100000000100000000000000000011101100100000001000010110000100100000110011100000000100010101000001100000000100000000001000001000000010110100100000010000000000000000
分析

一大串01代码,二进制也是01代码,其中可能有某种关联,首先转换成ASCII代码看看吧。

在线的工具是最方便的!http://home.paulschou.net/tools/xlate/。把那一串01代码贴进第二个框,单击下面的“DECODE”,瞬间就转完了:

/images/zhuanma.png

注意观察一下第一个文本框,前两个字母是“7z”,7z是什么?7z不就是7zip压缩格式吗?难道这是一个7z的压缩包?有可能!再找个7z压缩包打开看看,vim -b + 文件名 打开一个7z格式的压缩包,输入: %!xxd 查看其16进制编码:

/images/vim_xxd.png

再和上面的图片的第三个框的编码比较一下,发现了什么?前面的37 7a bc af 27 1c 00 03完全是一样的!这不是巧合,这足以让我们确信这就是一个7z的压缩包,下面的任务,就是将压缩包还原,用python写了个小程序:

#!/usr/bin/env python
#coding=utf-8
data = open('data.txt')
out = open('out','a')
while True:
    d = data.read(8)
    if len(d) != 8:
        break
    out.write(chr(eval("0b%s"%d)))
data.close()
out.close()

data.txt里面放的是那以长串01代码,执行程序后得到一个名字为out文件,用file out命令查看文件类型,显示:out: 7-zip archive data, version 0.3。果然没用猜错!接下来就是解压这个文件了:7z e out,然后,我们就会发现目录下多了一个code.c文件,内容如下:

#define ____ puts
#define __ main
#define _ int
#define _______ char
#define _____ {
#define ______ }
_ puts (_______ *); _ __() _____ ____ (
"\151\156\164\040\143\157\144\145\040\133\135\040\075\040\173188"
"66\0700168\054\04020163\0658202\054\04019702\0639849\054\040"
"016533\06464554\054\0402016\06423544\054\04017179\0706918\054\0401"
"8653\0611846\054\0400x6\06772\175\073\012\143""\150\141\162\040\052"
"\141\156\163\167\145\162\040\075\040\050\143\150\141\162\040\052"
"\051\143\157\144\145\073" ); ______

这是神码东东?一大堆宏定义,难道要我们翻译码?不管了,让计算机自己去翻译吧。编译执行:gcc code.c -o code,编译成功,执行./code,得到下面的结果:

int code [] = {1886680168, 2016358202, 1970239849, 016533464554, 2016423544, 1717986918, 1865311846, 0x6772};
char *answer = (char *)code;

这又是神码东东?怎么看着这么像C语言,这应该就是C语言代码,写个小程序,执行一下这个代码:

#include <stdio.h>
int main()
{
    int code [] = {1886680168, 2016358202, 1970239849, 016533464554, 2016423544, 1717986918, 1865311846, 0x6772};
    char *answer = (char *)code;
    puts(answer);
    return 0;
}

编译执行,你猜结果是什么?结果是:http://xiyoulinux.0xffffff.org,一个网址!哈哈,果断打开,页面跳转到了http://xiyoulinuxgroup.sinaapp.com/,页面是这样的:

/images/second2.png

您可以通过这个链接访问这个页面:页面链接,还能查看源码。

侥幸过了第一关!

第二关

题目在哪?

我们看到上面的页面有一个输入框,随便输入点东西,提示“口令错误!”,看来,这一关是要输入一个正确的口令才能过关,那口令是神码?自己找。

打开源码,首先映入眼帘的是好多数字,先把这些数字保存到num.txt里面,写个小程序分析一下:

a = open("num.txt")
li = a.read().split()
num = [int(i) for i in li]
count = len(num)
max = max(num)
min = min(num)
print max,min,count

统计结果表面,这些数字最大是99991,最小是8053,总共8582个。这些数字有什么含义呢?开始猜吧。

记得东京大学里面有声音,这些数字不会是声音吧?用数字表示声音的音调高低还是什么?如果表示声音的话范围也太大了吧。人的声音频率范围是64~523Hz,显然上面提供的数有点大啊。

或者表示图片,表示像素点颜色?像素点颜色最大是(255,255,255)255*255*255 = 16581375,貌似差距也比较大。想了半天,感觉不太靠谱,开始重新审视那个页面。

页面里面有两个东西比较可疑: 
cript src="http://s16.cnzz.com/stat.php?id=5134185&web_id=5134185&show=pic" language="JavaScript"></script> 
<link href="question.css" rel="stylesheet">。 
其中前一个JS打开看了一下是挺乱的,没猜错的话应该是个页面访问统计的东西,因为CNZZ就是数据专家站长统计。 下面那个CSS点开一看,内容是这样的:

.STYLE1 {
    font-size: 36px;
    font-family: "黑体";
}
.STYLE2 {font-family: Arial, Helvetica, sans-serif}

/*%E8%AF%B7%E5%9C%A8%E5%8E%9F%E9%A1%B5%E9%9D%A2%E6%95%B0%E5%AD%97%E4%B8%AD%E6%89%BE%E5%87%BA%E5%94%AF%E4%B8%80%E7%9A%84%E5%90%88%E6%95%B0*/

最下面的一个注释相当可疑啊!有点经验的应该能看出来是url编码,什么意思?解码一下就知道了,懒得写程序,用在线的吧:http://tool.chinaz.com/Tools/URLEncode.aspx,把那段带编码的输进去,点击UrlDecode解码,瞬间题目就出来了:“请在原页面数字中找出唯一的合数”。

天啊,原来是找合数,那就简单了,8000多个数,用python写个小程序瞬间搞定:

#!/usr/bin/env python
#coding=utf-8
import math

a = open("num.txt")
li = a.read().split()
num = [int(i) for i in li]
a.close()

def test(num):
    for i in range(2,int(math.sqrt(num))+1):
        if num % i == 0:
            return True
    return False

for i in num:
    if test(i) == True:
        print i

结果是98201,果断在页面输进去,然后就算过关啦!然后页面显示一个二维码:

/images/xiyouwechat.jpg

图片无法显示了,源文件在这里,可以下载的:http://ma6174.u.qiniudn.com/xiyouwechat.jpg

页面的内容是这样的:

<h1 align="center">[3/5]</h1><div align="center"><img src="http://heylindayi.sinaapp.com/test/new.jpg"></div><script src="http://s16.cnzz.com/stat.php?id=5134185&web_id=5134185&show=pic" language="JavaScript"></script>

第三关

看到二维码,第一反应就是扫一扫,用我查查一扫,扫出来个微信的url,估计是微信了,然后用微信扫一扫,然后就加入了西邮Linux兴趣小组微信,然后就是各种调戏,调戏,调戏。调了半天没调出个翔来。。。

再回页面找找,源码就上面那些,没什么啊,那问题在那里?有问题可以想法解决,不知道问题就悲剧了,都不知道往哪方面想。

是不是图片有猫腻?抱着试试看的态度用vim打开了那张图片,看到最后答案就出来了,在最后一行写着:password:LinusTorvalds1969

好吧,这就是密码了,然后在在微信上输入这一串密码,他们的微信返回了这些信息:“对不起,你目前还没有通过任何一次面试.”。

好吧,看来我这个外校的只能挑战到这了。。

总结

西邮的题目还是很有技术含量的,对新手来说还是很有挑战性的!做出题来不牛逼,出题者才牛逼!

题目不需要特别高深的编程基础,只要有点基础,有点经验,敢于探索,勇于发现和创新,喜欢折腾,做出题目来就不难。这正是Linux小组成员必备的技能或素质。

题目很有趣,或许通过讲解,能让更多的人对Linux感兴趣,对Linux技术感兴趣,这就达到目的了。

推广一下西邮Linux兴趣小组:

顺便推广一下山东理工大学Linux小组:

  闯关还没有结束,下一篇更精彩 点击查看:西邮Linux小组免试题——继续挑战

博主ma6174对本博客文章(除转载的)享有版权,未经许可不得用于商业用途。转载请注明出处http://www.cnblogs.com/ma6174/

对文章有啥看法或建议,可以评论或发电子邮件到[email protected]

标签:小组,博客,blog,西邮,num,Linux,040,com,页面
From: https://www.cnblogs.com/outrun/p/17708949.html

相关文章

  • 用AngleSharp & LINQPad抓取分析博客园排行榜
    用AngleSharp&LINQPad抓取分析博客园排行榜 AngleSharp简单介绍AngleSharp 是一个 .NET库使您能够解析基于尖括号的超文本,如HTML、SVG、MathML、XMLAngleSharp的一个重要方面是CSS也可以解析。同时还是开源,免费的Github: https://github.com/AngleSharp/AngleS......
  • 02博客:Java学习思维导图
    Java学习思维导图这一个学期学习规划安排动态调整第一个月到第二个月:重点学习、巩固并初步掌握Java入门基础知识第三个月:巩固Java基础这个阶段与其他课程有交叉部分需要一起巩固大概一个月到一个半月第四个月:与阶段三相对应,包含了MySQL、JavaWeb、Git、Linux等内容的学......
  • 怎样才能让百度搜索到自己的博客?--九五小庞
    怎么把自己的博客推荐到百度、Google等主要搜索引擎?如果不把你的博客提交到各大搜索引擎中,它们一般是不会收录你的博客的,你可以先尝试一下看看能不能在百度搜到你的博客吧。如果搜不到的话说明你的博客还没有被百度收录,那么怎么才能被百度、google等各大搜索引擎收录你的博......
  • 博客页面模板
    简单的博客页面模板,并将背景颜色设置为白色:<!DOCTYPEhtml><html><head><style>body{background-color:white;margin:20px;font-family:Arial,sans-serif;}h1{color:#333;}p{color:#555;......
  • 模拟集成电路设计系列博客——2.1.3 两级放大器的补偿
    2.1.3两级放大器的补偿这一小节讨论了在闭环中使用放大器,以及如何来补偿放大器使得闭环不仅稳定,而且会有一些其他的良好特性。尽管使用两级放大器作为例子,但是这里讨论的情况大部分也可以用于其他的放大器。放大器的最优补偿一般被认为是放大器设计过程中中最困难的环节,但是采......
  • 博客系统(基于servlet前后端交互实现)
    一.创建必要目录创建webapp/WEB-INF/web.xmlweb.xml:配置文件api:存放前后端交互后端代码model:用来存放数据库相关代码db.sql:保存数据库操作代码二.引入依赖web.xml<!DOCTYPEweb-appPUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN""http://......
  • 跟狂神学Java第一次写博客
    MarkDown学习标题字体helloworld!//前后加*helloworld!//前后加**helloworld!//前后加***helloworld!//前后加~~引用一个>选择狂神说分割线三个***或三个---图片感叹号加中括号(中括号写图片名字)加小括号(小括号写图片路径)超链接一个中括号(中括号写超链接名......
  • django项目(博客二)
    扩展1:admin路由分发的本质路由分发本质include可以无限制的嵌套N多层url(r'^index/',([],None,None))扩展2:由于url方法第一个参数是正则表达式,所有当路由特别多的时候,可能会出现被顶替的情况,针对这种情况有两种解决方式建好路由,先和视图函数继续试验一下,避免路由被顶替......
  • Linux安装weblogic
    一、WebLogic下载直接进入Oracle的WebLogicServer下载页面:https://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html进入Downloads界面之后,选择下载文件为GenericInstaller,然后点击DownloadFIle:注意:(1)别忘记点击上面的“同意”条款。(2)点击下拉......
  • 在Next.js博客中快速引入Waline评论系统
    之前我在研究Next.js博客时,发现它们很多缺少一个作为博客的基本的东西:评论,就算有,也是Gistus这类依赖于GitHub的评论系统,而在国内还是尽量选择一个无需登录的评论系统,于是我选择了Waline作为评论系统,在引入过程中遇到了一些坑,不过最后还是引入完成了。模板选择我选择了Netlify的......