Bugku-CTF之web3-flag就在这里快来找找吧
Day6
web3
30
flag就在这里快来找找吧
http://123.206.87.240:8002/web3/
本题要点:NCR 转义序列(Unicode)
在Windows中经常需要用到多字符与宽字符的转换方法,多字符(MultiChar)也就是ANSI编码的方式,而宽字符(WideChar)也就是Unicode编码的方式。
ANSI是默认的编码方式。对于英文文件是ASCII编码,对于简体中文文件是GB2312编码(只针对Windows简体中文版,如果是繁体中文版会采用Big5码)。
如果是为了跨平台兼容性,只需要知道,在 Windows 记事本的语境中:
-
所谓的「ANSI」指的是对应当前系统 locale 的遗留(legacy)编码。
-
所谓的「Unicode」指的是带有 BOM 的小端序 UTF-16。
-
所谓的「UTF-8」指的是带 BOM 的 UTF-8。
GBK 等遗留编码最麻烦,所以除非你知道自己在干什么否则不要再用了。
UTF-16 理论上其实很好,字节序也标明了,但 UTF-16 毕竟不常用。
UTF-8 本来是兼容性最好的编码但 Windows 偏要加 BOM 于是经常出问题。
所以,跨平台兼容性最好的其实就是不用记事本。
建议用 Notepad++ 等正常的专业文本编辑器保存为不带 BOM 的 UTF-8。
另外,如果文本中所有字符都在 ASCII 范围内,那么其实,记事本保存的所谓的「ANSI」文件,和 ASCII 或无 BOM 的 UTF-8 是一样的。
更多关于字符编码问题 详细请看文末的参考资料
下面我们切入正题!
一直点确定,发现一直重复这两个页面...........emmmmm.........不过还是一直点完了...
右键查看源码
发现了一串奇怪的字符
KEY{J2sa42ahJK-HS11III}为NCR 转义序列(Unicode)
decode的作用是将其他编码的字符串转换成unicode编码,如str1.decode('gb2312'),表示将gb2312编码的字符串str1转换成unicode编码。
encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode('gb2312'),表示将unicode编码的字符串str2转换成gb2312编码。
得到 KEY{J2sa42ahJK-HS11III}
完成!
参考资料:
--------------------- ┑( ̄Д  ̄)┍ --------------------------
作者:0yst3r[一只在安全领域努力奋斗的小菜鸡]
来源:博客园[ https://www.cnblogs.com/0yst3r-2046/ ] 引用时请注明来源哦~
(๑•̀ㅂ•́)و✧ヽ(✿゚▽゚)ノ(*^▽^*) φ(≧ω≦*)♪
如果本文对你有用,本人不胜欢喜。
The world is your oyster.