题目地址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
本文探讨了在CTF竞赛中遇到的一种万能密码攻击技巧,通过分析网站源代码,发现利用MD5函数的特性进行SQL注入攻击的方法,成功绕过登录验证。
1万+





