bymars

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

  •  
  •   bymars · Nov 15, 2017 · 7806 views
    This topic created in 3274 days ago, the information mentioned may be changed or developed.
    从 twitter 上发现的,https://twitter.com/James_R_Holmes/status/880593247063519232
    入口:
    http://13.55.234.154:8080/unstoppable/puzzle

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


    这个意思是需要一个我这种会 restart 的运维吧?
    Keyes
    Keyes
    Nov 15, 2017❤️1
    8
    @bymars
    console.log("hello again! sredaeh kcehc!");

    sredaeh kcehc

    sredaeh kcehc = reverse('check headers')
    O3YwA1ENkb7i35XJ
    O3YwA1ENkb7i35XJ
    Nov 15, 2017
    9
    在最后一关看到的, 整个过程确实有点意思.

    最后一关的地址:
    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


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

    Have-You-Looked-Here:/unstoppable/MeadowraccoonBats
    X-Powered-By:Express
    0754
    0754
    Nov 16, 2017
    13
    @xqin
    请问大佬,3/5 这关是什么鬼?要 hex?
    Keyes
    Keyes
    Nov 16, 2017 via Android
    14
    @dd0754 一张 base64 编码后的 jpg
    bymars
    bymars
    OP
    Nov 16, 2017
    15
    @Keyes 是不是要构造 http 请求,我用 python 试了半天,没效果。。
    O3YwA1ENkb7i35XJ
    O3YwA1ENkb7i35XJ
    Nov 16, 2017❤️1
    16
    @bymars 看懂图片里面的代码, 然后大胆的猜想人家想让你做啥
    raquelken
    raquelken
    Nov 16, 2017❤️1
    17
    @bymars 用 curl 就好了啊,简单的猜数字游戏
    bymars
    bymars
    OP
    Nov 16, 2017
    18
    @xqin
    @raquelken
    问题就在于,不管我怎么发 request,那个 clue 都不变。。。不确定是不是我的 param 构造的有问题。
    raquelken
    raquelken
    Nov 16, 2017❤️1
    19
    @bymars 图片里面的代码是他们服务器的代码,看懂后构造你的 request 啊
    SharkIng
    SharkIng
    Nov 16, 2017❤️1
    20
    @bymars #18 你需要两个东西,一个是 queryParams.secret_sauce 一个是 headers
    bibizhang
    bibizhang
    Nov 16, 2017
    21
    我不擅长解谜,但我擅长脑筋急转弯。
    bymars
    bymars
    OP
    Nov 16, 2017
    22
    @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)
    O3YwA1ENkb7i35XJ
    O3YwA1ENkb7i35XJ
    Nov 16, 2017❤️1
    23
    @bymars
    图片上的代码是这么写的吧..
    ```
    method === 'PATCH'
    ```

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

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

    再仔细看看图片上的 js 代码吧.
    SharkIng
    SharkIng
    Nov 16, 2017❤️1
    24
    @bymars #22
    @xqin #23
    用 curl 直接 -X -i -H 就能看到,我没用 python,不过 python 同理
    bymars
    bymars
    OP
    Nov 16, 2017
    25
    @SharkIng
    @xqin
    恩,是我眼瞎。多谢了
    不过直接贴结果大家就没有动力继续看了。
    deeporist
    deeporist
    Nov 16, 2017
    26
    ./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
    bymars
    OP
    Nov 16, 2017
    27
    @deeporist 所以说,程序员应该多看看眼科医生。跟我一样的错误,仔细看看就好了
    0754
    0754
    Nov 16, 2017
    28
    @deeporist
    还有一个图片
    http://13.55.234.154:8080/unstoppable/MeadowraccoonBats?index=3
    凑齐后是 3/5 的地址
    然后里面有个 base64 的图片

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

    多谢!原来如此!成功了!我这边不知道怎么搞得 有时候 curl 这个网址 就是一整个 html 有时是能拿到 jpg 文件.....
    deeporist
    deeporist
    Nov 16, 2017
    31
    @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
    O3YwA1ENkb7i35XJ
    O3YwA1ENkb7i35XJ
    Nov 19, 2017
    32
    @deeporist 看你目前的尝试,你应该是没有读懂图片上的代码.
    deeporist
    deeporist
    Nov 20, 2017
    33
    @xqin 是不懂 我几乎是当伪代码来猜的,我甚至连那些参数具体是什么都不是很确定。。。。用 headers 构造魔术数那步就看不懂是什么意思了 只看出下面好像是猜数字 headers 是不是指 http 请求的整个头部啊?....求指点 还是挺好奇的
    O3YwA1ENkb7i35XJ
    O3YwA1ENkb7i35XJ
    Nov 20, 2017
    34
    @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
    deeporist
    Nov 21, 2017
    35
    @xqin 原来如此!是这个意思啊!多谢 终于破关了!虽然大学学的数据库忘得差不多了 猜字段名费了我老半天功夫(当然就是在浪费功夫瞎猜而已)
    Wweian
    Wweian
    Sep 10, 2019
    36
    @xqin
    大佬 你还记得 4/5 吗?
    就是需要用 sqlite 注入
    我弄了两天没弄明白
    求 hint 啊
    Wweian
    Wweian
    Sep 10, 2019
    37
    @bymars
    大佬 你还记得 4/5 吗?
    就是需要用 sqlite 注入
    我弄了两天没弄明白
    求 hint 啊
    Wweian
    Wweian
    Sep 10, 2019
    38
    @Keyes
    大佬 你还记得 4/5 吗?
    就是需要用 sqlite 注入
    我弄了两天没弄明白
    求 hint 啊
    Keyes
    Keyes
    Sep 10, 2019
    39
    @Wweian 然而我已经访问不了了
    Wweian
    Wweian
    Sep 10, 2019
    40
    @Keyes
    welcome-to-the-maze.herokuapp.com/simplicity/Cutedevourer_Ninja/?name=single_quote
    这个是网址, 我现在知道的是在网址后面加'会出现错误信息,尝试过在 url 那边添加 query 但是没用 T T
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5107 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 63ms · UTC 08:22 · PVG 16:22 · LAX 00:22 · JFK 03:22
    ♥ Do have faith in what you're doing.