[ASIS 2019]Unicorn shop

一、题目分析

F12查看源码
<meta charset="utf-8"><!--Ah,really important,seriously. -->
提示utf-8编码很重要

题目提示python unicode,利用的漏洞是unicode安全问题,是关于Unionde等价性的漏洞

post输入id=4&price=1337 时提示Only one char(?) allowed!

只能使用一个字符,一个字符能够购买id4,于是我们需要找到一个字符比1337大的数字,前端html使用的是utf-8,后端python处理使用的是unicode,编码不一致造成了转码安全问题

二、解题

在编码网站https://www.compart.com/en/unicode/,寻找大于1337的数字

Unicode Character “፼” (U+137C)

Name:Ethiopic Number Ten Thousand[1]
Numeric Value:10000[1]
Unicode Version:3.0 (September 1999)[2]
Block:Ethiopic, U+1200 - U+137F[3]
Plane:Basic Multilingual Plane, U+0000 - U+FFFF[3]
Script:Ethiopic (Ethi) [4]
Category:Other Number (No) [1]
Bidirectional Class:Left To Right (L) [1]
Combining Class:Not Reordered (0) [1]
Character is Mirrored:No [1]
HTML Entity:
  • &#4988;
  • &#x137C;
UTF-8 Encoding:0xE1 0x8D 0xBC
UTF-16 Encoding:0x137C
UTF-32 Encoding:0x0000137C

Numeric Value:    10000

UTF-8 Encoding:    0xE1 0x8D 0xBC

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半两八金

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值