代码审计_md5()函数

题目链接:https://ctf.bugku.com/challenges

题解:

打开题目

其PHP代码如下:

代码相关知识点链接如下:

error_reporting() 函数:http://www.w3school.com.cn/php/func_error_reporting.asp

比较运算符(== 和 ===):http://www.php.net/manual/zh/language.operators.comparison.php

读代码,本题的意思就是使username!=password    &&    md5(username)===md5(password)

md5()计算字符串的MD5散列值。 md5()函数不能处理数组,使用数组绕过,md5(array)会返回null。 

因此构造payload:

?username[]=a&password[]=b

得到flag

即flag:flag{bugk1u-ad8-3dsa-2}

原文地址:https://www.cnblogs.com/gzu_zb/p/10373165.html