zoukankan      html  css  js  c++  java
  • 实验室每日一题WP-11月25日

    题目是ASIS CTF 2019 Quals Unicorn shop原题,除了我把 独角兽 换成了 小猪佩奇。有所修改,其他没动。

    打开题目http://,可以看出是让购买小猪佩奇,但是只允许输入一个字符,而小猪佩奇的价格是1337.0,这时候查看网页源码,可以看到提示

    为utf8编码,然后了解一下utf8。

    UTF-8
    到目前为止,它是最流行的Unicode编码,因为它向后兼容ASCII。它是可变宽度的,根据需要使用一个,两个,三个或四个字节来表示所有1,112,064个Unicode代码点。

    较常见的代码点位于较低的范围内,因此需要较少的字节表示,而单字节编码的前半部分等效于ASCII的128个字符。在较高的范围内,有一堆奇怪的东西。

    所以我们只需要找到一个数值大于1337的unicode字符就行了
    这个网站:https://www.compart.com/en/unicode/搜索大于 thousand 的单个字符,得到许多字符,随便挑一个,只要比1337大就可以购买佩奇了。

     

    我随便选了一个数值为10w的,复制它的utf8编码0xE2 0x86 0x88,将“0x”替换成“%”得到"%E2%86%88"(不要有空格)

     

    接着去输入 4     %E2%86%88 ,购买成功,得到flag

     

    下面看一下这道题的源码。用的是 unicodedata.numeric()处理的输入的字符。

    关于unicodedata.numeric()的说明:

     

    所以这道题,我们输入中文或者其他字符 大于小猪佩奇的价格也是可以成功的。

     

     

    输入4   万,操作成功。

  • 相关阅读:
    easyUI中textbox或number的数值大小校验
    个人附加作业
    个人最终总结
    结对编程————电梯调度
    visual studio 2013的使用和单元测试
    第三次作业(二)
    团队作业之个人总结篇
    结队编程之总结篇
    电梯调度系统(界面由C图形库编绘)
    软件工程作业单词统计
  • 原文地址:https://www.cnblogs.com/riddler/p/14032795.html
Copyright © 2011-2022 走看看