点击进去之后是一个购买独角兽的界面,有四种类型的独角兽,前三种的价格比较便宜,最后的独角兽价格比较贵。

我们先尝试购买前三种独角兽,输入id,然后price输入9

然后就告诉我商品错了,可能复现靶场这里没有做好

然后我们查看源代码

可以看到在charset="utf-8"后面有提示,这里非常重要。

但是很多的网站都是utf-8编码,为什么会说这里很重要?

回到购买界面,我们输入其他的价格,发现输入10的时候有提示

告诉了我们只能使用一个字符,一个字符能够购买的就只有前三只独角兽,虽然我也没有购买成功hhh

所以猜测只要购买了第四只独角兽,就能获取flag,于是我们需要找到一个字符比1337大的数字

也就是utf-8编码的转换安全问题

附上相关的链接:

https://xz.aliyun.com/t/5402#toc-0

https://blog.lyle.ac.cn/2018/10/29/unicode-normalization/

接着我们在这个网站搜索大于 thousand 的单个字符,就可以购买第四只独角兽了:https://www.compart.com/en/unicode/

有很多,我选的是这个长得丑丑的字符:

可以看到它代表的数值是10000

它的utf-8编码是0xE1 0x8D 0xBC

我们将0x换成%,得到%E1%8D%BC,输入就可以购买flag了

参考链接:

https://shawroot.hatenablog.com/entry/2019/10/29/ASIS_2019-Unicorn_shop

https://github.com/hyperreality/ctf-writeups/tree/master/2019-asis

https://www.icode9.com/content-4-441318.html

UTF-8 Encoding: 0xE1 0x8D 0xBC

最新文章

  1. linux(centos)下挂载ntfs文件系统
  2. 中文字体font-family常用列表
  3. hdu1087 dp
  4. Rsa加解密Java、C#、php通用代码 密钥转换工具
  5. 分享一个异步任务在遇到IO异常时支持递归回调的辅助方法
  6. Oracle简单的函数语言
  7. JavaScript笔记三两个
  8. vue.js学习笔记之v-bind,v-on
  9. long(Long)与int(Integer)之间的转换
  10. js去掉空格
  11. 如何利用python使用libsvm
  12. AppDelegate 方法详解
  13. Android SQLite的使用1(非原创)
  14. Win7 64位系统上配置使用32位的Eclipse(转)
  15. Linux学习之more命令
  16. ipad 横屏 竖屏 CSS
  17. 【题解】P2922 [USACO08DEC]秘密消息Secret Message
  18. EFI Windows 7 activition
  19. python日期与时间
  20. pytorch初步学习(一):数据读取

热门文章

  1. Ocelot快速入门教程
  2. ARM的三级流水线结构
  3. 在windows下安装node-sass失败,提示\node-sass: Command failed,解决方案
  4. spring处理静态资源方式
  5. mysql中key和index的关系
  6. JS之DOM(一)
  7. 高性能arm运行ceph存储基准测试
  8. 如何通过iptables代理访问内网
  9. Python基础数据类型与for循环
  10. 苹果电脑不安装flash的话怎么看直播