题目地址https://ctf.show
尝试简单的万能密码以及过滤绕过,各种方法均没有回显。 查看网站源代码, 没有提示。 这时候猜测可能有其他页面,直接后台目录扫描,发现index.phps源代码文件。 发现有这么一行 $sql="select * from user where username ='admin' and password ='".md5($password,true)."'";
对于函数md5(string,raw) 第二个参数有以下可选项: TRUE - 原始 16 字符二进制格式 FALSE - 默认。32 字符十六进制数 所以只要md5加密后的16进制转化为二进制时有 'or’xxxx,即可构成闭合语句: username ='admin' and password =‘ ’or 'xxxxx'
成功登陆 这里给出两个符合的字符串 ffifdyop 129581926211651571912466741651878684928 但题目有长度限制,所以输入ffifdyop即可获取flag