博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码审计_urldecode二次编码绕过
阅读量:5061 次
发布时间:2019-06-12

本文共 528 字,大约阅读时间需要 1 分钟。

题目链接:

题解:

打开题目

得到一段PHP代码

代码中的相关知识点链接:eregi函数:urldecode:是一种URL编码函数

根据代码的意思,首先看没有经过urldecode编码的字符串 $_GET[id] 是否匹配字符串 hackerDJ ,从代码意思看,想要得到flag不应该匹配,但是经过urldecode编码后应匹配字符串 hackerDJ ;因此利用了两次urldecode第一次是浏览器的解码、第二次是函数的解码,所以我利用字符串 hackerDJ 中随便一个字母进行两重编码即可。

例如:选择最后一个字母“J”,进行双重编码

第一次:字母“J”对应的URL编码为:%4A  【其对照表链接为:】

第二次:再经过urldecode编码【urldecode在线编码链接:】

即最后得到:字符“J” 经过二次编码得到 %254A ;因此构造 payload 为:

?id=hackerD%254A

提交得到flag

同样的道理,选取其他字符也是一样的效果,就不再这里一一举例了。

即flag为:flag{bugku__daimasj-1t2}

转载于:https://www.cnblogs.com/Gzu_zb/p/10372978.html

你可能感兴趣的文章
getElement的几中属性介绍
查看>>
平面最接近点对
查看>>
HTML列表,表格与媒体元素
查看>>
PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点?
查看>>
雨林木风 GHOST_XP SP3 快速装机版YN12.08
查看>>
java对象的深浅克隆
查看>>
Hadoop流程---从tpch到hive
查看>>
数据结构3——浅谈zkw线段树
查看>>
Introduction to my galaxy engine 2: Depth of field
查看>>
V2019 Super DSP3 Odometer Correction Vehicle List
查看>>
Python 3.X 练习集100题 05
查看>>
设计器 和后台代码的转换 快捷键
查看>>
在线视频播放软件
查看>>
用代码生成器生成的DAL数据访问操作类 基本满足需求了
查看>>
28初识线程
查看>>
Monkey测试结果分析
查看>>
Sublime Text 3 设置
查看>>
浅谈C++底层机制
查看>>
STL——配接器、常用算法使用
查看>>
第9课 uart
查看>>