计算机网络安全基础知识4:命令执行漏洞,危害极大,DVWA演示命令注入漏洞攻击网站,防御命令注入执行漏洞,low,medium,high,impossible

文章讲述了命令执行漏洞的危害,通过DVWA演示了命令注入攻击,并探讨了不同级别的防御措施,包括过滤命令连接符、增加安全检查以及使用更严格的输入验证。同时强调了学习数据库知识如SQL和Oracle对于就业和网络警察考试的重要性。
摘要由CSDN通过智能技术生成

计算机网络安全基础知识4:命令执行漏洞,危害极大,DVWA演示命令注入漏洞攻击网站,防御命令注入执行漏洞,low,medium,high,impossible

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
考网警特招必然要考操作系统,计算机网络,计算机网络安全基础知识,由于备考时间不长,你可能需要速成,我就想办法自学速成了,课程太长没法玩
在这里插入图片描述
系列文章:
【1】计算机网络安全基础知识1:渗透测试,网络连接的核心TCP/IP体系结构,公网,内网,ip地址和端口
【2】计算机网络安全基础知识2:http超文本传输协议,请求request消息的get和post,响应response消息的格式,响应状态码
【3】计算机网络安全基础知识3:网站漏洞,安装phpstudy,安装靶场漏洞DVWA,搭建一个网站


计算机网络安全基础知识:命令执行漏洞,危害极大

我可以关闭,删除你的电脑系统
因为开发者没有做严格的安全测试
可能导致攻击者输入很多很多可怕的东西。
在这里插入图片描述
网站有网络连接检测功能
输入一个ip地址,然后检测是否可以连接它

在这里插入图片描述
正常情况下,网站是可以正常去检测网址是否可以连通的
在这里插入图片描述
命令连接符
|管道命令,且,俩都执行

&

||,仅仅cmd1失败,才去执行cmd2
&&

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果cmd2是shut down的话,你的电脑就得gg
你说这个危险不危险??????

可怕不可怕????

常见的Windows命令是
在这里插入图片描述
那DVWA如何模拟这种攻击呢?
上一篇文章介绍了它的安装

在这里插入图片描述

我们去访问这个界面
在这里插入图片描述
我们去配置安全配置
low是没有防御
在这里插入图片描述
这样的话,就可以攻击了
不同的等级,好说
在这里插入图片描述
然后你模拟攻击
卧槽,我屁股加了别命令也不行啊?????

本地可以,操蛋

C:\Users\WYY>whoami
desktop-8r2o0p1\wyy

C:\Users\WYY>

这就尴尬了
为毛
在这里插入图片描述
原因是我刚刚设置low安全级别,没成功
在这里插入图片描述
重新来
在这里插入图片描述
这样你才能去攻击哦

美滋滋
在这里插入图片描述
攻击成功了

可试试这个命令哈哈哈

127.0.0.1&shutdown

gg

玩这个命令看看

127.0.0.1 & ipconfig

在这里插入图片描述
这些结果就是本地运行
ipconfig中的结果

网站就截取了你的信息

看view source
在这里插入图片描述

就这样了你看看

Command Injection Source
vulnerabilities/exec/source/low.php
<?php

if( isset( $_POST[ 'Submit' ]  ) ) {
    // Get input 输入的是IP地址,这里就是刚刚窗口那个ip,赋值给target
    $target = $_REQUEST[ 'ip' ];

    // Determine OS and execute the ping command.
    if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
        // Windows,这里是php的函数,它可以执行:ping target命令
        $cmd = shell_exec( 'ping  ' . $target );
    }
    else {
        // *nix
        $cmd = shell_exec( 'ping  -c 4 ' . $target );
    }

    // Feedback for the end user
    echo "<pre>{$cmd}</pre>";
}

?>



这是PHP代码
我们看看

这里就是target,可以使被被人注入别的命令哦!!!!
这就是命令执行漏洞,命令注入漏洞

如何防御命令执行和命令注入漏洞:过滤命令连接符

在这里插入图片描述
在这里插入图片描述
将其替代,或者判断,干废它
在这里插入图片描述
我们去看看DVWA,它是如何防范的?
调整安全等级
在这里插入图片描述
在这里插入图片描述
你看代码中就有删除非法字符的骚操作了
这就是防御

Command Injection Source
vulnerabilities/exec/source/medium.php
<?php

if( isset( $_POST[ 'Submit' ]  ) ) {
    // Get input
    $target = $_REQUEST[ 'ip' ];

    // Set blacklist
    $substitutions = array(
        '&&' => '',
        ';'  => '',
    );

    // Remove any of the charactars in the array (blacklist).
    //这里是移除在arr中的字符,&&,;但是没有删除|,||,&,看来还有问题
    //字符串替换更改,将前面的替换为空字符
    $target = str_replace( array_keys( $substitutions ), $substitutions, $target );

    // Determine OS and execute the ping command.
    if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
        // Windows
        $cmd = shell_exec( 'ping  ' . $target );
    }
    else {
        // *nix
        $cmd = shell_exec( 'ping  -c 4 ' . $target );
    }

    // Feedback for the end user
    echo "<pre>{$cmd}</pre>";
}

?>



在这里插入图片描述
在这里插入图片描述
你现在就不能执行啰!!!!!

这就是防御成功了
在这里插入图片描述

它只防御了2个
还缺仨
在这里插入图片描述

执行这个

127.0.0.1&whoami

在这里插入图片描述
看来还是不安全哦

127.0.0.1&&whoami

在这里插入图片描述
源代码有,能看到,就能知道怎么防御的——白盒测试
黑盒测试,你攻击它,但是看不到它的代码
试试就行

我们看看命令注入执行漏洞:high级别防御

在这里插入图片描述
目前试试 这个攻击

127.0.0.1|whoami

在这里插入图片描述
试试这个攻击

127.0.0.1||whoami

在这里插入图片描述
好像是不能查到哦

试试这个攻击

127.0.0.1&whoami
127.0.0.1;whoami

在这里插入图片描述

好像是没有屏蔽|
||和&和;都屏蔽了

看看原码
在这里插入图片描述
这就牛逼了

Command Injection Source
vulnerabilities/exec/source/high.php
<?php

if( isset( $_POST[ 'Submit' ]  ) ) {
    // Get input
    $target = trim($_REQUEST[ 'ip' ]);

    // Set blacklist
    $substitutions = array(
        '&'  => '',
        ';'  => '',
        '| ' => '',
        '-'  => '',
        '$'  => '',
        '('  => '',
        ')'  => '',
        '`'  => '',
        '||' => '',
    );

    // Remove any of the characters in the array (blacklist).
    $target = str_replace( array_keys( $substitutions ), $substitutions, $target );

    // Determine OS and execute the ping command.
    if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
        // Windows
        $cmd = shell_exec( 'ping  ' . $target );
    }
    else {
        // *nix
        $cmd = shell_exec( 'ping  -c 4 ' . $target );
    }

    // Feedback for the end user
    echo "<pre>{$cmd}</pre>";
}

?>



基本字符都拦截率了

在这里插入图片描述
这种在开发中经常遇到
有的人就喜欢按空格
拦截了一个|空格
在这里插入图片描述
你看|空格,可以拦截
但是|不能拦截,怪不得……………………

127.0.0.1| whoami

在这里插入图片描述
去掉空格去掉就OK

127.0.0.1|whoami

在这里插入图片描述
牛了吧!

127.0.0.1|dir

所以说开发一定要小心

在这里插入图片描述
在这里插入图片描述

开发中算法规范,绝对防御,绝对安全impossible

在这里插入图片描述
上面那个漏洞就不存在了

127.0.0.1|whoami

在这里插入图片描述

懂?
看看源代码
在这里插入图片描述

Command Injection Source
vulnerabilities/exec/source/impossible.php
<?php

if( isset( $_POST[ 'Submit' ]  ) ) {
    // Check Anti-CSRF token
    checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );

    // Get input
    $target = $_REQUEST[ 'ip' ];
    $target = stripslashes( $target );

    // Split the IP into 4 octects
    $octet = explode( ".", $target );

    // Check IF each octet is an integer
    if( ( is_numeric( $octet[0] ) ) && ( is_numeric( $octet[1] ) ) && ( is_numeric( $octet[2] ) ) && ( is_numeric( $octet[3] ) ) && ( sizeof( $octet ) == 4 ) ) {
        // If all 4 octets are int's put the IP back together.
        $target = $octet[0] . '.' . $octet[1] . '.' . $octet[2] . '.' . $octet[3];

        // Determine OS and execute the ping command.
        if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
            // Windows
            $cmd = shell_exec( 'ping  ' . $target );
        }
        else {
            // *nix
            $cmd = shell_exec( 'ping  -c 4 ' . $target );
        }

        // Feedback for the end user
        echo "<pre>{$cmd}</pre>";
    }
    else {
        // Ops. Let the user name theres a mistake
        echo '<pre>ERROR: You have entered an invalid IP.</pre>';
    }
}

// Generate Anti-CSRF token
generateSessionToken();

?>



这里可不是替代,直接判断你的pi地址是不是四个数字
不是就gg

绝对安全,随你输入啥都不行

在这里插入图片描述

关键的地方,搞出来
在这里插入图片描述
分别判断四个部分是不是数字
是才行

就是干掉所有无关字符即可
这都是数据结构与算法中讲的清清楚楚,我写过很多关于字符串的骚操作。

在这里插入图片描述
ip是标准的四个数字,这些条件都得满足,否则gg

在这里插入图片描述
这次俺是开发人员的典范!!!!!
你没法攻击,懂???

黑客攻击怎么拿到你的cmd?

黑客可以通过命令注入漏洞,运行一个拦截命令,然后控制你的电脑里面的cmd,然后就可以干死你的电脑了
懂了没?命令注入执行带来的结果非常恐怖

温馨提示
在这里插入图片描述


总结

提示:重要经验:

1)
2)学好oracle,操作系统,计算机网络,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰露可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值