Bugku-urldecode二次编码绕过

0x00 前言

今日份CTF。

时间

2018年10月25日

题目

Bugku-urldecode二次编码绕过_第1张图片

0x01 start

1.分析

这是一道代码审计的题目。
所以先来看看代码。


if(eregi("hackerDJ",$_GET[id])) {
echo("

not allowed!

");
exit();
}
$_GET[id] = urldecode($_GET[id]);
if($_GET[id] == "hackerDJ")
{
echo "
Access granted!

";
echo "
flag

";
}
?>

来整理一下说明缘由。
Bugku-urldecode二次编码绕过_第2张图片
种类的eregi就是在字符串中进行匹配
然后urldecode这个,因为最近就在看代码审计,所以这个还是很熟悉的,如果有需要,请看。
https://blog.csdn.net/qq_36869808/article/details/83029980

目标

所以我们现在就要对这个进行绕过了。

2. 绕过

首先我们想到的是二次转码,浏览器转码一次,然后urldecode转码一次,那么我们就可以利用%25,转码之后就是%,那么我们只要找到字母的url编码就可以成功绕过了。

构造payload:
Bugku-urldecode二次编码绕过_第3张图片

?id=%25%61ackerDJ

Bugku-urldecode二次编码绕过_第4张图片
上面那个网站,我汇总到了我的总结博客里,有需要请自取。

你可能感兴趣的:(CTF)