那些年咱们学过的PHP黑魔法

那些年咱们学过的PHP黑魔法序
这儿有必要得说一下==和===这俩货的重要性。==是比较运算,它不会去查看条件式的表达式的类型===是恒等,它会查看查表达式的值与类型是否持平NULL,0,”0″,array()运用==和


这儿有必要得说一下==和===这俩货的重要性。==是比较运算,它不会去查看条件式的表达式的类型===是恒等,它会查看查表达式的值与类型是否持平NULL,0,”0″,array()运用==和false比较时,都是会...


这儿有必要得说一下==和===这俩货的重要性。==是比较运算,它不会去查看条件式的表达式的类型===是恒等,它会查看查表达式的值与类型是否持平NULL,0,”0″,array()运用==和false比较时,都是会回来true的,而运用===却不会这个根底知识点咱们应该都知道,所以提一下,下面就不会再拿出来说了。
数组
0x01许多时分,PHP数组都发挥了至关重要的效果,先来看下BOSTEN KEYPARTY中的一道题:
Default
if (isset($_GET['password'])) {
    if ($_GET['password'])
        print 'Your password can not be your name.';
    else if (sha1($_GET['password']))
        die('Flag: '.$flag);
    else
        print 'Invalid password';
}
这道题,咱们首先要保证name和password的值不能相同,其次,sha1加密之后的name和password的值又有必要完全相同 咱们知道,这时的a[0] = 1;所以name[] = 1和password[]= 2相比较,能够越过第一个判别,而假如运用sha1对一个数组进行加密,回来的将是NULL,NULL===NULL,这是建立的,所以结构两个数组,成功拿到flag
0x02再看bosten keyparty上的别的一道题:
Default
if (isset($_GET['password'], flag); 
    else 
        print 'Invalid password'; 

这儿,运用strcmp去比较password和flag,假如==0的话,就给出flag,可是strcmp比较,假如持平才会回来0,假如不持平的话,要么大于0,要么小于0,可是strcmp只会处理字符串参数,假如给个数组的话呢,就会回来NULL,而判别运用的是==,NULL==0是bool(true)的,所以,这道题仍是自始自终结构一个数组进去
0x03bosten keyparty上的又又一道题:
Default
if (isset ($_GET['password'])) { 
    if (ereg ("^[a-zA-Z0-9]+$_GET['password']) === FALSE) 
        echo 'You password must be alphanumeric'; 
    else if (strpos ($_GET['password'], '--') !== FALSE) 
        die('Flag: ' . $flag); 
    else 
        echo 'Invalid password'; 
}
这道题有两种做法,咱们仍是先说数组 ereg是处理字符串的,所以,依照原理,咱们将password结构一个arr[],传入之后,ereg是回来NULL的,===判别NULL和FALSE,是不持平的,所以能够进入第二个判别,而strpos处理数组,也是回来NULL,留意这儿的是!==,NULL!==FALSE,条件建立,拿到flag, 第二种做法,ereg读到%00的时分,就截止了,所以能够结构s%00–,也能拿到flag(这也算是一个黑魔法吗?哈哈)
数字的比较
0x01wechall上的一道题:
Default
function noother_says_correct(one = ord('1');
        $nine = ord('9');
        // Check all the input characters!
        for (i < strlen(i++)
        {
                // Disallow all the digits!
                number{digit >= digit <= $nine) )
                {
                        // Aha, digit not allowed!
                        return false;
                }
        }
       return $number == "3735929054";
}
这儿,它不让输入1到9的数字,可是后边却让比较一串数字,往常的办法必定就不能行事了,咱们都知道计算机中的进制转化,当然也是能够拿来比较的,0x最初则表明16进制,将这串数字转化成16进制之后发现,是deadc0de,在最初加上0x,代表这个是16进制的数字,然后再和十进制的3735929054比较,答案当然是相同的,回来true拿到flag
0x02看安全宝约宝妹的一道题:
Default
_SERVER['REQUEST_METHOD'])
{
    _POST['password'];
    if (0 >= preg_match('/^[[:graph:]]{12,}password))
    {
        echo 'Wrong Format';
        exit;
    }
    while (TRUE)
    {
        $reg = '/([[:punct:]]+|[[:digit:]]+|[[:upper:]]+|[[:lower:]]+)/';
        if (6 > preg_match_all(password, c = 0;
        $ps = array('punct', 'digit', 'upper', 'lower');
        foreach (pt)
        {

[1] [2]  黑客接单网

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/9534.html

(0)

相关推荐

  • 弟佗的意思(字义,诗词)

    词组弟佗的意思(字义,诗词)基本解释详细字义 弟佗拼音:dì tuó注音:ㄉ一ˋㄊ一ˋㄊㄨㄟˊ ㄊㄨㄛˊ解释:1.亦作"弚佗"。 2.颓唐;歪斜。基本字义
    弟dì(ㄉ一ˋ)
    1、同父母(或只同父、只同母)的比自己

    阅读 2021年11月19日
  • o2o盈利模式是什么

    o2o盈利模式是什么o2o盈利模式是什么创业要有个方向,适合自己的才是*好的,就如市场上不同的行业、不同品牌的项目区别也是很大的,那怎么挑选一个赚钱的项目?来看看“o2o盈利模式是什么?如何做好本地O2O生活服务平台?”

    生活 2021年12月1日
  • 带娃爱扎堆?小心轮状病毒来捣乱

    秋分刚过,当家长和孩子们都在享受秋高气爽的好天气时,有些病毒却在伺机而动,随时准备开始“作妖”。它就是轮状病毒,导致婴幼儿“秋季腹泻”的元凶[1]。秋季腹泻主要是由轮状病毒所致的急性消化道传染病,轮状病毒是小儿腹泻最常见的病原体之一[1]。尤其是在早教中心、游乐场、婴儿游泳馆等婴幼儿聚集的地方,一旦有小朋友患病,容易引起群发性的轮状病毒感染。

    生活 2021年10月1日
  • 活春宫是什么意思,皇帝的第一次都是给谁

    活春宫是什么意思,皇帝的第一次都是给谁古代皇帝大多数都在皇宫中,周围簇拥着太监和宫女,为了让江山永存,牢牢地把握权利,皇帝生孩子是非常重要的事情。为了让他们尽快了解男女之事,宫中还专门有人负责教小皇帝。众所周知,皇帝都有

    攻略 2021年11月18日
  • 暴利生意:6个适合一个人做的小本生意,投资不大好上手,赚钱能力强!

    本钱不多,适合一个人做的生意有哪些?在市场上看一看,似乎有很多可以做,可细究起来,往往又有诸多顾虑。创业做生意,切实可行是最关键的,以下就分享六个适合一个人做的小本生意,好上手,投...

    阅读 2022年1月5日
  • 一千元左右的小额贷款,急需贷款5万上哪贷

    一千元左右的小额贷款,急需贷款5万上哪贷 近年来,随着医美行业的兴起,越来越多的机构盯上成都的医美场景消费,也由此引发各种收费乱象。由成都给米金融服务外包有限公司运营的分期平台“给米金服”就在近日被曝疑似收取砍头息。

    攻略 2021年11月9日