zoukankan      html  css  js  c++  java
  • CTF知识点总结(一)

    1.Bugku ctf 变量1

    ​ 此题所用知识为超全局变量,只需要将传入的参数设置为$GLOBALS即可。

    PHP 全局变量 - 超全局变量

    PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。

    这些超全局变量是:

    • $GLOBALS
    • $_SERVER
    • $_REQUEST
    • $_POST
    • $_GET
    • $_FILES
    • $_ENV
    • $_COOKIE
    • $_SESSION

    2.php的弱类型比较问题

    ​ 详见https://www.cnblogs.com/Mrsm1th/p/6745532.html

    3.php断言(assert)

    ​ 详见https://www.cnblogs.com/nixi8/p/7147122.html

    4.php读取目录下文件的方法

    ​ scandir():读取文件和目录,以数组形式存储

    ​ print_r():输出

    <?php
    $dir = "/images/";
    
    // Sort in ascending order - this is default
    $a = scandir($dir);
    
    // Sort in descending order
    $b = scandir($dir,1);
    
    print_r($a);
    print_r($b);
    ?>
    

    结果:

    Array
    (
    [0] => .
    [1] => ..
    [2] => cat.gif
    [3] => dog.gif
    [4] => horse.gif
    [5] => myimages
    )
    Array
    (
    [0] => myimages
    [1] => horse.gif
    [2] => dog.gif
    [3] => cat.gif
    [4] => ..
    [5] => .
    )
    

    5.preg_match绕过

    ​ preg_match用于执行正则匹配。详情见https://www.codercto.com/courses/d/852.html。返回 pattern 的匹配次数。 它的值将是 0 次(不匹配)或 1 次,因为 preg_match() 在第一次匹配后 将会停止搜索。preg_match_all() 不同于此,它会一直搜索subject 直到到达结尾。 如果发生错误preg_match()返回 FALSE。

    另外有正则表达式语法:

    ​ 原文链接:https://blog.csdn.net/destiny1507/java/article/details/82429521

    6.PHP中sha1()函数和md5()函数的绕过

    sha1($_GET['name']) === sha1($_GET['password'])
    

    这两个函数比较时,由于无法处理数组,两边都会返回false,则相等,所以playload为?name[]=1&password[]=2。

  • 相关阅读:
    循环队列和链队列的实现
    【lightoj-1026】Critical Links(桥)
    顺序栈和链栈的实现
    【51nod-1605】棋盘问题
    【51nod-1596】搬货物
    【海明码】(容易看懂)
    【lightoj-1094】树的直径(DFS)
    【lightoj-1046】Rider(BFS)
    【第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛-F】等式(因子个数)
    浅谈Vue个性化dashBoard 布局
  • 原文地址:https://www.cnblogs.com/iloveacm/p/13256577.html
Copyright © 2011-2022 走看看