【愚公系列】2022年04月 编码解码-URL编码
一、URL编码介绍
URL编码遵循下列规则: 每对name/value由&;符分开;每对来自表单的name/value由=符分开。如果用户没有输入值给这个name,那么这个name还是出现,只是无值。任何特殊的字符(就是那些不是简单的七位ASCII,如汉字)将以百分符%用十六进制编码,当然也包括象 =,&;,和 % 这些特殊的字符。其实url编码就是一个字符ascii码的十六进制。不过稍微有些变动,需要在前面加上“%”。比如“\”,它的ascii码是92,92的十六进制是5c,所以“\”的url编码就是%5c。
二、案例
到一张ASCII表以及一串数字:
253445253641253637253637253444253534253431253738253439253434253642253335253439253434253531253334253439253434253435253737253444253433253431253738253444253434253435253637253446253534253535253637253444253534253431253331253439253434253435253738253445253533253431253335253445253533253431253738253444253434253435253637253445253534253439253637253444253534253435253331253439253434253435253739253444253531253344253344,页面的标题提示“编码转换”,数字字符串的开头为253,显然2、25、253都不在所给的ASCII表之中,而如果将25当做十六进制进行解析,得到十进制的37,也就是ASCII表中的百分号(%)。
通过上面的分析,这里仍然使用C32Asm进行解码,打开桌面的C32Asm,然后新建一个空的16进制文件,将字符串复制到剪贴板,然后在C32Asm中依次选择菜单项“编辑”、“特别粘贴”、“ASCII Hex”,就可以看到原始的字符串内容了,如图所示:
实际内容为:%4E%6A%67%67%4D%54%41%78%49%44%6B%35%49%44%51%34%49%44%45%77%4D%43%41%78%4D%44%45%67%4F%54%55%67%4D%54%41%31%49%44%45%78%4E%53%41%35%4E%53%41%78%4D%44%45%67%4E%54%49%67%4D%54%45%31%49%44%45%79%4D%51%3D%3D,打开桌面上的JPK工具,填入上面的字符串之后,依次选择菜单项中的Ascii、Decode、Unescape选项,就可以对字符串进行解码了,得到字符串:NjggMTAxIDk5IDQ4IDEwMCAxMDEgOTUgMTA1IDExNSA5NSAxMDEgNTIgMTE1IDEyMQ==
解析Flag
得到的字符串进行Base64解码。打开桌面上的JPK工具,填入NjggMTAxIDk5IDQ4IDEwMCAxMDEgOTUgMTA1IDExNSA5NSAxMDEgNTIgMTE1IDEyMQ==字符串之后,依次选择菜单项中的Ascii、Decode、Base64选项,就可以对字符串进行解码了,得到字符串:68 101 99 48 100 101 95 105 115 95 101 52 115 121,从字面上看,这是一串10进制表示的数字,这时候可以尝试通过查找ASCII表来找到对应的字符,当然这是在数据量很小的情况下,如果数据量很大就不可能通过手工查表来实现了。
在JPK中,将InRadix和OutRadix都设置为10,填入上面的字符串之后,依次选择菜单项中的Number、Convert、Number To Ascii选项,就可以对字符串进行解码了,如图所示:
之后就能看到Flag为Dec0de_is_e4sy
- 点赞
- 收藏
- 关注作者
评论(0)