第一次接触PHP,哈哈哈最好的语言,因为这几天看了点xss的东西,所以今天选了这个题。
1、打开网页首先有一句这个:

2、于是进入index.php.txt看到了源码

3、看下函数逻辑,首先是一个没有见过的eregi()函数。函数说明如下:
在一个字符串搜索制定的模式的字符串,用于检查字符串有效性。
简单说就是在题目中检查两个字符串是否相等,也就是id不等于hackerDJ。
4、另一个要求就是urldecode(url解码)后的id为hackerDJ,于是将hackerDJ进行urlencode(url编码)(不知为何网上的url编码器编码不来,就自己查表)。
url编码表:http://www.w3school.com.cn/tags/html_ref_urlencode.html
只需要编一个字母绕过eregi函数即可,于是编h,h编码后为%68。
则为
%68ackerDJ
5、但是浏览器在执行时会自动进行解码一次,因此再对%68进行一次编码(这次可以用在线编码器)为%2568,于是为:
%2568ackerDJ
即在浏览器中输入:
http://ctf5.shiyanbar.com/DUTCTF/index.php?id=%2568ackerDJ

6、小结:今天看了一点PHP大法,知道了eregi函数。同时了解了urlencode和urldecode,指导浏览器会进行自动解码一次。
网友评论