urldecode二次编码绕过
urldecode() 用于解码 URL 字符串函数,此函数用于解码给出的已编码字符串中的任何 %##以及中文等被编码的内容。 (加号(’+’)被解码成一个空格字符)。
与之对应的
urlencode() 用于编码 URL 字符串函数。此函数便于将字符串编码并将其用于 URL 的请求部分。
题目源码:
1 |
|
eregi()函数
定义和用法:eregi()函数在一个字符串搜索指定的模式的字符串。搜索不区分大小写。Eregi()可以特别有用的检查有效性字符串,如密码。可选的输入参数规则包含一个数组的所有匹配表达式,他们被正则表达式的括号分组。
返回值:如果匹配成功返回true,否则,则返回false
使用eregi()函数来判断,所以参数中不能直接有hackerDJ
,获取参数后使用urldecode对id的值进行解码,所以可以让id解码后的值是hackerDJ进行url编码后的值,由于浏览器会自行解码一次,所以编码两次就好
解题方法:
GET请求:?id=%25%36%38%25%36%31%25%36%33%25%36%62%25%36%35%25%37%32%25%34%34%25%34%61