Writeup 实验吧/WEB/FALSE/1787 【PHP代码审计】

http://www.shiyanbar.com/ctf/1787
http://ctf5.shiyanbar.com/web/false.php

0x00 查看php源码

Your password can not be your name!

'; else if (sha1($_GET['name']) === sha1($_GET['password'])) die('Flag: '.$flag); else echo '

Invalid password.

'; } else{ echo '

Login first!

'; ?>

==相等,类型不同会进行类型转换
===相等判断,需类型相同
sha1输入的参数为string类型,其他类型会返回false
因此,两个参数类型均为数组,且值不同时,可能会绕过判断。
http://ctf5.shiyanbar.com/web/false.php?name[]=a&password[]=b

0x02 PHP中的函数漏洞

https://www.cnblogs.com/wh4am1/p/6687199.html
https://blog.csdn.net/lymingha0/article/details/44079981
https://www.jianshu.com/p/fdc906910e91

你可能感兴趣的:(Writeup 实验吧/WEB/FALSE/1787 【PHP代码审计】)