V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bymars
V2EX  ›  分享发现

分享一个靠解谜来应聘职位的网址

  •  
  •   bymars · 2017-11-15 16:25:37 +08:00 · 6538 次点击
    这是一个创建于 2571 天前的主题,其中的信息可能已经有所发展或是发生改变。
    从 twitter 上发现的,https://twitter.com/James_R_Holmes/status/880593247063519232
    入口:
    http://13.55.234.154:8080/unstoppable/puzzle

    职位可能已经过期了,不过看着挺有意思,有兴趣的可以试试。
    40 条回复    2019-09-10 19:34:36 +08:00
    bymars
        1
    bymars  
    OP
       2017-11-15 16:50:28 +08:00
    是因为太难了,所以没人留言了吗
    q8515620
        2
    q8515620  
       2017-11-15 17:22:05 +08:00 via Android
    进去第二个页面就不知道干嘛了😂
    bymars
        3
    bymars  
    OP
       2017-11-15 17:40:54 +08:00
    @q8515620 求指点
    tttttim
        4
    tttttim  
       2017-11-15 20:05:51 +08:00 via iPhone
    是要从图片里找出 ascii 吗
    onsale
        5
    onsale  
       2017-11-15 20:31:04 +08:00
    @q8515620 #2 console.log("hello again! sredaeh kcehc!");
    528412
        6
    528412  
       2017-11-15 20:36:33 +08:00
    不能看ㄟ
    ik
        7
    ik  
       2017-11-15 20:42:22 +08:00 via iPhone
    The Server Responded with an Error
    L3Vuc3RvcHBhYmxlL01hc3NpdmVseV9TbGVlcHlQYW5kYXM=


    这个意思是需要一个我这种会 restart 的运维吧?
    Keyes
        8
    Keyes  
       2017-11-15 20:42:33 +08:00   ❤️ 1
    @bymars
    console.log("hello again! sredaeh kcehc!");

    sredaeh kcehc

    sredaeh kcehc = reverse('check headers')
    xqin
        9
    xqin  
       2017-11-15 21:29:29 +08:00
    在最后一关看到的, 整个过程确实有点意思.

    最后一关的地址:
    http://13.55.234.154:8080/unstoppable/winner_gets_vip_pass

    ```
    <!--
    ¸¸♬·¯·♩¸¸♪·¯·♫¸¸Congratulations!¸¸♬·¯·♩¸¸♪·¯·♫¸¸


    We've got even greater challenges than these,
    and we're looking for great engineers like you to help make it happen.

    Send an email to me at [email protected] with your CV and I guarantee a phone
    interview where we can find out more about each other, and see if we could work together.

    P.S. please add words 'unstoppable developer' in the subject so we will know that it was you
    P.P.S. we are looking for people interesting in working with big data and willing to use NodeJS

    Cheers,
    James Holmes
    Data Lake Architect, MYOB


    !-->
    ```
    xqin
        10
    xqin  
       2017-11-15 21:31:51 +08:00
    服务应该是用 nodejs 做的, 因为服务器的 `X-Powered-By` 是 express (不排除是伪造的).
    最后一关并没有加什么验证,所以上面 的地址 大家应该都可以打开.
    bymars
        11
    bymars  
    OP
       2017-11-15 22:48:43 +08:00
    @xqin 所以能分享一些提示吗?
    @Keyes check headers,我把 ascii.png 里面的符号都换成了 16 进制和 10 进制,都试过了,也不行
    dd0754
        12
    dd0754  
       2017-11-16 01:14:22 +08:00   ❤️ 1
    @bymars
    都让你看 headers 了...

    Have-You-Looked-Here:/unstoppable/MeadowraccoonBats
    X-Powered-By:Express
    dd0754
        13
    dd0754  
       2017-11-16 02:03:26 +08:00
    @xqin
    请问大佬,3/5 这关是什么鬼?要 hex?
    Keyes
        14
    Keyes  
       2017-11-16 07:01:13 +08:00 via Android
    @dd0754 一张 base64 编码后的 jpg
    bymars
        15
    bymars  
    OP
       2017-11-16 10:02:11 +08:00
    @Keyes 是不是要构造 http 请求,我用 python 试了半天,没效果。。
    xqin
        16
    xqin  
       2017-11-16 10:24:11 +08:00   ❤️ 1
    @bymars 看懂图片里面的代码, 然后大胆的猜想人家想让你做啥
    raquelken
        17
    raquelken  
       2017-11-16 10:25:42 +08:00   ❤️ 1
    @bymars 用 curl 就好了啊,简单的猜数字游戏
    bymars
        18
    bymars  
    OP
       2017-11-16 10:47:23 +08:00
    @xqin
    @raquelken
    问题就在于,不管我怎么发 request,那个 clue 都不变。。。不确定是不是我的 param 构造的有问题。
    raquelken
        19
    raquelken  
       2017-11-16 11:13:29 +08:00   ❤️ 1
    @bymars 图片里面的代码是他们服务器的代码,看懂后构造你的 request 啊
    SharkIng
        20
    SharkIng  
       2017-11-16 11:13:33 +08:00   ❤️ 1
    @bymars #18 你需要两个东西,一个是 queryParams.secret_sauce 一个是 headers
    bibizhang
        21
    bibizhang  
       2017-11-16 11:14:17 +08:00
    我不擅长解谜,但我擅长脑筋急转弯。
    bymars
        22
    bymars  
    OP
       2017-11-16 11:24:01 +08:00
    @raquelken
    @SharkIng
    总觉得大家说的我都懂,但是就是不成功。这是我能想到的方法了。跪求拉我出坑
    data = {'secret_sauce':'10'}
    # data = {'queryParams': {'secret_sauce': '10'} }
    header_data = {"clue": "tellme"}
    response = requests.request(method = "patch", url=url, params = data, headers=header_data)
    xqin
        23
    xqin  
       2017-11-16 11:27:07 +08:00   ❤️ 1
    @bymars
    图片上的代码是这么写的吧..
    ```
    method === 'PATCH'
    ```

    method 是大写的,你发的是小写的,条件都不成立,它怎么给你输出 `clue`

    另外看你目前的代码, 说明你没看到图片上的代码...

    再仔细看看图片上的 js 代码吧.
    SharkIng
        24
    SharkIng  
       2017-11-16 11:46:53 +08:00   ❤️ 1
    @bymars #22
    @xqin #23
    用 curl 直接 -X -i -H 就能看到,我没用 python,不过 python 同理
    bymars
        25
    bymars  
    OP
       2017-11-16 11:56:02 +08:00
    @SharkIng
    @xqin
    恩,是我眼瞎。多谢了
    不过直接贴结果大家就没有动力继续看了。
    deeporist
        26
    deeporist  
       2017-11-16 12:51:24 +08:00
    ./curl http://13.55.234.154:8080/unstoppable/MeadowraccoonBats?1ndex=0 > /cygdrive/z/0.jpg
    ./curl http://13.55.234.154:8080/unstoppable/MeadowraccoonBats?1ndex=1 > /cygdrive/z/1.jpg
    ./curl http://13.55.234.154:8080/unstoppable/MeadowraccoonBats?1ndex=2 > /cygdrive/z/2.jpg

    然后就不知道怎么搞了 完全不明白什么叫"一张 base64 编码后的 jpg" 是说把一段数据 base64 加密后直接填充进这几个 jpg 了?
    bymars
        27
    bymars  
    OP
       2017-11-16 13:00:24 +08:00
    @deeporist 所以说,程序员应该多看看眼科医生。跟我一样的错误,仔细看看就好了
    dd0754
        28
    dd0754  
       2017-11-16 13:15:54 +08:00
    @deeporist
    还有一个图片
    http://13.55.234.154:8080/unstoppable/MeadowraccoonBats?index=3
    凑齐后是 3/5 的地址
    然后里面有个 base64 的图片

    @bymars
    所以请求 url 到底是哪个?我用那个 0_0 返回的 clue 一直都是 base64(image/jpeg)
    bymars
        29
    bymars  
    OP
       2017-11-16 14:50:45 +08:00
    #24 都已经写的很清楚了吧。就算你照着做都没问题
    deeporist
        30
    deeporist  
       2017-11-16 16:20:05 +08:00
    @bymars
    @dd0754

    多谢!原来如此!成功了!我这边不知道怎么搞得 有时候 curl 这个网址 就是一整个 html 有时是能拿到 jpg 文件.....
    deeporist
        31
    deeporist  
       2017-11-16 20:51:53 +08:00
    @dd0754
    应该就是 http://13.55.234.154:8080/unstoppable/CleverdeerPenguins0_0 试了 curl 前面几个 url, response 头里都没有 clue 字段。 但是我也遇到跟你一样的问题, 不管怎么构造 request 头部的参数 返回的 clue 都是 base64(image/jpeg)
    ./curl -v -k -i -X PATCH -H "queryParams: 456" -H "headers: dfhfghn" --url http://13.55.234.154:8080/unstoppable/CleverdeerPenguins0_0 > dev\null
    xqin
        32
    xqin  
       2017-11-19 16:51:51 +08:00
    @deeporist 看你目前的尝试,你应该是没有读懂图片上的代码.
    deeporist
        33
    deeporist  
       2017-11-20 10:10:15 +08:00
    @xqin 是不懂 我几乎是当伪代码来猜的,我甚至连那些参数具体是什么都不是很确定。。。。用 headers 构造魔术数那步就看不懂是什么意思了 只看出下面好像是猜数字 headers 是不是指 http 请求的整个头部啊?....求指点 还是挺好奇的
    xqin
        34
    xqin  
       2017-11-20 13:47:18 +08:00
    @deeporist
    queryParams 是指的 URL 参数,所以 queryParams.secret_sauce 的意思就是你的 URL 中有这个名字为 secret_sauce 的参数, 然后它的值代表着要取的 headers 里面的那个 header 的名字,再然后那个 header 的值就是你要猜的数字(以十六进制的形式表示).
    method 是指的请求的 method (比如平时觉的 GET/POST)
    headers 是指的 HTTP 请求头中的字段

    ```
    curl -v -k -i -X PATCH -H "xx: 你猜的数字" --url "http://13.55.234.154:8080/unstoppable/CleverdeerPenguins0_0?secret_sauce=xx"
    ```
    deeporist
        35
    deeporist  
       2017-11-21 13:27:21 +08:00
    @xqin 原来如此!是这个意思啊!多谢 终于破关了!虽然大学学的数据库忘得差不多了 猜字段名费了我老半天功夫(当然就是在浪费功夫瞎猜而已)
    Wweian
        36
    Wweian  
       2019-09-10 14:14:47 +08:00
    @xqin
    大佬 你还记得 4/5 吗?
    就是需要用 sqlite 注入
    我弄了两天没弄明白
    求 hint 啊
    Wweian
        37
    Wweian  
       2019-09-10 14:15:18 +08:00
    @bymars
    大佬 你还记得 4/5 吗?
    就是需要用 sqlite 注入
    我弄了两天没弄明白
    求 hint 啊
    Wweian
        38
    Wweian  
       2019-09-10 16:45:48 +08:00
    @Keyes
    大佬 你还记得 4/5 吗?
    就是需要用 sqlite 注入
    我弄了两天没弄明白
    求 hint 啊
    Keyes
        39
    Keyes  
       2019-09-10 17:04:30 +08:00
    @Wweian 然而我已经访问不了了
    Wweian
        40
    Wweian  
       2019-09-10 19:34:36 +08:00
    @Keyes
    welcome-to-the-maze.herokuapp.com/simplicity/Cutedevourer_Ninja/?name=single_quote
    这个是网址, 我现在知道的是在网址后面加'会出现错误信息,尝试过在 url 那边添加 query 但是没用 T T
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2866 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:36 · PVG 14:36 · LAX 22:36 · JFK 01:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.