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

访客5年前黑客资讯1031


这儿有必要得说一下==和===这俩货的重要性。==是比较运算,它不会去查看条件式的表达式的类型===是恒等,它会查看查表达式的值与类型是否持平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]  黑客接单网

相关文章

技能共享:几种常见的JavaScript混杂和反混杂东西剖析实战

信息安全常被描述成一场军备竞赛,白帽与黑帽,浸透测验者与黑客,善与恶,本文将聚集这场永无止境决战中的一个小点。 HTML5 & JS 运用中充满着对输入进行验证/注入的问题,需求开发人员一直...

攻破暗盘之拿下吃鸡DNF等游戏垂钓站群

前段时间有个网友给我发了个网址,说找到个专门做垂钓网站的衔接,让我看看,然后就引出了一系列事情。 网址如下:http://mfnyongshihuigui.jiebao8.top 其时也没介意,有天闲...

根据Session的身份盗取

一、Session是什么 暗码与证书等认证手法,一般用于登录进程。用户登录之后,服务器通常会树立一个新的Session保存用户的状况和相关信息,用以盯梢用户的状况。每个Session对应一个标识符Se...

Apple iCloud帐户的破解与保护攻防战-黑客接单平台

不管你是履行桌面仍是云取证,云端数据都将成为越来越重要依据来历,而且有时是仅有依据来历。即便你不从事取证作业,云拜访也能够协助你拜访已删去或以其他办法无法拜访的数据。 与智能手机或受暗码维护的桌面相似...

IKEA.com本地文件包括缝隙之PDF解析的奇妙使用

布景 本地文件包括(LFI)缝隙是一种危害性较大的缝隙类型。一旦呈现进犯者将或许运用其,读取文件源码或灵敏信息,包括歹意文件,履行恣意代码,乃至操控服务器等。大多数LFI进犯都是由动态加载图画或其他文...

web前端技能,做一个超有用的待办事项管理工具web版别

经过方案开端每一天是使你走向成功的要害,时间管理的重要性在这里我就不多说了,奉上一个web版别待办事项管理工具教程 这是终究作用图 接下来一步步完成它 html代码 html代码 对应的CSS代码 作...