CTF中常见的黑魔法
入门级别 不是很全,慢慢总结
1.sha1和md5
要求变量原值不同但md5或sha1相同的情况下
1.0e开头的全部相等(==判断)
240610708 和 QNKCDZO md5值类型相似,但并不相同,在”==”相等操作符的运算下,结果返回了true. 还可以参考下面博客的0e类型
https://blog.csdn.net/dyw_666666/article/details/82348564
Md5和sha1一样
2.利用数组绕过(===判断)
Md5和sha1对一个数组进行加密将返回NULL;而NULL===NULL返回true,所以可绕过判断。
2.strcmp函数的绕过
strcmp 的参数只能是字符串,当我们传入数组时就会返回NULL,而判断使用的是==,NULL==0是 bool(true)的
代码测试
<?php
error_reporting(0);
$flag="{sadd44484878}";
if(isset($_GET['password']))
if (strcmp($_GET[