【BUUCTF】【WEB】Unicorn shop
考点Unicode数字字符python的int()函数打开题目发现这个页面很像买东西的网站一共有四个商品每个商品的价格不一样但是第4个的商品最贵而且超出了其他商品特别多由此合理猜测当我们成功购买第四个商品后flag就会出现。当我们输入4和1337后它提示Only one character allowed for price!价格只能输入一个字符需要一个字符来表示1337这个数字而在python中有一个int函数可以将字符转化为数字由此可以猜测后端的python代码用了int函数。Unicode 数字字符我们平时用的数字是0-9这只是最基本的阿拉伯数字。但在 Unicode 这个庞大的字符集里还有成百上千个表示数字的字符。举几个例子字符是什么代表的数值字符长度1阿拉伯数字 111 个字符Ⅰ罗马数字 111 个字符Ⅹ罗马数字 10101 个字符Ⅽ罗马数字 1001001 个字符Ⅿ罗马数字 100010001 个字符ↂ罗马数字 10000100001 个字符፼埃塞俄比亚数字 10000100001 个字符ↈ罗马数字 1000001000001 个字符最关键的一点Python 的int()函数能识别所有这些字符。也就是说int(1)→ 1int(Ⅹ)→ 10int(Ⅿ)→ 1000int(፼)→ 10000所以我们就拿埃塞俄比亚的፼替换1337成功出来了
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2632114.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!