20212314 2023-2024-2 《网络与系统攻防技术》实验八实验报告

20212314严东波 20212314严东波 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

1.实验内容

img

2.实验过程

  • 2.1 Web前端HTML
    能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML
    启动服务
systemctl start apache2

img

sudo chmod 777 /var/www/html
vi /var/www/html/2314.html

前端代码:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login Form</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f2f2f2;
            margin: 0;
            padding: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100vh;
        }
        .login-form {
            width: 300px;
            padding: 30px;
            background: #fff;
            border-radius: 5px;
            box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.1);
        }
        .form-group {
            margin-bottom: 20px;
        }
        label {
            display: block;
            margin-bottom: 5px;
        }
        input[type="text"], input[type="password"] {
            width: 100%;
            padding: 10px;
            border: 1px solid #ddd;
            border-radius: 3px;
        }
        button[type="submit"] {
            width: 100%;
            padding: 10px;
            background-color: #5cb85c;
            color: white;
            border: none;
            border-radius: 3px;
            cursor: pointer;
        }
    </style>
</head>
<body>
    <div class="login-form">
        <h2>Login</h2>
        <form action="/login" method="post">
            <div class="form-group">
                <label for="username">Username</label>
                <input type="text" id="username" name="username" required>
            </div>
            <div class="form-group">
                <label for="password">Password</label>
                <input type="password" id="password" name="password" required>
            </div>
            <button type="submit">Log in</button>
        </form>
    </div>
</body>
</html>

img

get方法:参数附加在URL后,通过查询字符串传递;post方法:参数包含在HTTP请求体中,不显示在URL上,下图是get方法看到的URL

img

  • 2.2 Web前端javascipt
    理解JavaScript的基本功能,理解DOM
    在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+输入的用户名”
    尝试注入攻击:利用回显用户名注入HTML及JavaScript

账号和密码不为空即可

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Login Form</title>
    <style>
        /* 省略样式代码 */
    </style>
</head>
<body>
    <div class="login-form">
        <h2>Login</h2>
        <form id="loginForm">
            <div class="form-group">
                <label for="username">Username</label>
                <input type="text" id="username" name="username" required>
            </div>
            <div class="form-group">
                <label for="password">Password</label>
                <input type="password" id="password" name="password" required>
            </div>
            <button type="submit">Log in</button>
        </form>
        <p id="message"></p>
    </div>

    <script>
        document.getElementById('loginForm').addEventListener('submit', function(event) {
            event.preventDefault(); // 阻止表单默认提交行为

            var username = document.getElementById('username').value;
            var password = document.getElementById('password').value;

            // 简单验证:用户名和密码都不能为空
            if (username && password) {
                document.write( 'Welcome, ' + username + '!');
            } else {
                document.getElementById('message').textContent = 'Please enter both username and password.';
            }
        });
    </script>
</body>
</html>

img

利用回显用户名注入HTML

<p>231411111111111</p>

img


利用回显用户名注入JavaScript

<script> alert("XSS Attack!") </script>

img

  • 2.3 Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表
systemctl start mysql

sudo mysql -u root -p
创建数据库
create database fir;
创建用户和密码
CREATE USER 'ydb'@'localhost' IDENTIFIED BY '2314';
赋予权限
GRANT ALL PRIVILEGES ON fir TO 'ydb'@'localhost'; 
刷新
FLUSH PRIVILEGES;
使用数据库
use fir;
创建表
CREATE TABLE login ( username VARCHAR(10) NOT NULL, password VARCHAR(20) NOT NULL );
插入数据
insert into login values('ydb','2314');

img

  • 2.4 Web后端:编写PHP网页,连接数据库,进行用户认证

2314.php

<?php

$servername = "localhost";
$username = "ydb";
$password = "2314";
$dbname = "fir";

// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// 获取用户输入的用户名和密码
$username = $_POST['username'];
$password = $_POST['password'];

// 直接从数据库中检索用户凭据
$sql = "SELECT * FROM login WHERE username='$username' AND password='$password'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 用户认证成功,设置会话变量并重定向到主页
    echo "{$username} Welcome!";
} else {
    // 用户认证失败,显示错误信息
    echo "Invalid username or password";
}

$conn->close();
?>

修改html文件

<form action="login.php" method="post">

img

img

  • 2.5 最简单的SQL注入,XSS攻击测试

SQL注入

' or 1=1#

img


XSS攻击

<script> alert("XSS") </script>

img

  • 2.6 安装Webgoat或类似平台,并完成SQL注入、XSS、CSRF攻击

pikachu安装

img


SQL注入

img

img

XSS

img

img

CSRF攻击
先登录进去

img


再F12查看网络流量

img


修改URL
http://127.0.0.1/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=1&phonenum=1&add=1&email=2314&submit=submit

img

3.问题及解决方案

4.学习感悟、思考等

网络攻防的实验到此就结束了,这次的实验在之前网编的课程上已经做过类似的了,过程也比较顺利,算是圆满结束了。

参考资料

...全文

相关推荐

基于线性车辆三自由度动力学+无迹卡尔曼滤波UKF估计模型(横摆角速度+质心侧偏角+车速)联合仿真

内容概要:通过构建基于线性车辆三自由度动力学模型与无迹卡尔曼滤波(UKF)的联合仿真系统,实现对车辆关键状态参数的高精度估计,重点包括横摆角速度、质心侧偏角和车速。该方法利用车辆动力学模型描述其横向、纵向及横摆运动行为,结合UKF这一适用于非线性系统的先进状态估计算法,有效处理传感器噪声和模型不确定性,从而在缺乏直接测量手段的情况下,实现对难以获取状态量的可靠估计。整个仿真框架通常在MATLAB/Simulink环境中搭建,能够模拟真实驾驶工况,验证算法的有效性和鲁棒性,为车辆稳定性控制、自动驾驶感知与决策等高级功能提供重要的状态信息支撑。; 适合人群:具备车辆动力学、现代控制理论和MATLAB/Simulink仿真基础,从事汽车工程、自动驾驶或状态估计相关研究的研发人员与研究生。; 使用场景及目标:① 深入理解并掌握非线性系统状态估计的核心方法,特别是UKF的原理与实现;② 学习如何将理论化的车辆动力学模型转化为可用于仿真的模块;③ 实践并验证车辆关键状态(如质心侧偏角)的间接估计技术,服务于车辆动态控制系统的设计与测试。; 阅读建议:此资源以开发仿真模型为核心,不仅关注代码和模型的实现,更强调对车辆动力学机理和滤波算法设计思路的理解。学习者应结合理论知识,动手搭建并调试仿真模型,通过改变工况和参数来观察估计效果,从而深刻领会系统辨识与状态估计在实际工程中的应用价值。

三伯

基于PID控制的ABS汽车防抱死制动系统、车轮滑移率+最优滑移率Carsim和Simulink联合仿真(带参考文献)

内容概要:本文档主要围绕基于PID控制的汽车防抱死制动系统(ABS)开展研究,重点聚焦于车轮滑移率与最优滑移率的精确控制。通过Carsim与Simulink联合仿真平台,构建整车动力学模型与ABS控制器,利用PID算法实时调节制动压力,使实际滑移率逼近理论最优值,从而最大化轮胎与路面间的纵向附着力并保障横向稳定性,有效提升紧急制动工况下的制动效能与操控安全性。研究涵盖了从车辆建模、滑移率特性分析、PID控制器设计到联合仿真验证的全过程,并提供了完整的仿真模型、MATLAB/Simulink代码及参考文献,为相关领域的科研与工程实践提供了详实的技术参考。; 适合人群:具备车辆工程、自动化或控制理论基础知识,从事汽车电控系统开发、自动驾驶或车辆动力学仿真的研究生、工程师及科研人员。; 使用场景及目标:① 实现ABS系统的核心控制逻辑,掌握滑移率控制的关键技术;② 学习Carsim与Simulink联合仿真的搭建方法,进行车辆动力学与控制算法的协同仿真;③ 基于PID控制策略优化制动性能,完成相关学术研究或工程项目。; 阅读建议:在学习过程中,应结合所提供的完整仿真模型和代码,深入理解车辆动力学与ABS控制的交互机制,重点分析不同路面附着系数下最优滑移率的设定及PID参数的整定过程,以达到最佳的仿真效果和理论认知。

三伯

R语言SCINature绘图模板SCI科研绘图-雷达图

R语言SCINature绘图模板SCI科研绘图--雷达图

codedadi

JESD82-543 DDR5MRCD03 Multiplexed Rank Registering Clock Driver.rar

JESD82-543 DDR5MRCD03 Multiplexed Rank Registering Clock Driver.rar

Red Car

【多机器人路径规划】基于动态边权膨胀与节点预留历史机制的多智能体无冲突轨迹生成方法(Matlab代码实现)

内容概要:本文提出了一种基于动态边权膨胀与节点预留历史机制的多智能体无冲突轨迹生成方法,旨在高效解决多机器人路径规划中的碰撞与死锁问题。该方法通过动态调整路径图中边的权重以反映局部拥堵状况,实现路径的实时优化;同时引入节点预留机制,记录各机器人对路径节点的占用历史,确保时空冲突的有效规避。算法融合了路径搜索、冲突检测、权重自适应更新与调度协调等核心模块,形成了完整的无冲突轨迹规划框架,并配套提供了Matlab代码实现,便于算法验证与性能分析。该方法在复杂动态环境中表现出良好的鲁棒性与可扩展性,适用于多机器人系统的协同运动控制。; 适合人群:具备一定编程基础和路径规划基础知识,从事自动化、机器人、智能交通、智能制造等相关领域的科研人员、工程技术人员及研究生。; 使用场景及目标:①应用于仓储物流、智能工厂、无人驾驶车队等多智能体协同作业场景中的路径规划与动态避障;②为解决多机器人系统中的路径冲突、通信协调与死锁预防等关键技术难题提供理论支持与算法工具;③通过Matlab仿真平台复现算法逻辑,进行不同规模与场景下的性能测试、对比分析与算法优化。; 阅读建议:建议读者结合提供的Matlab代码逐模块实现与调试,重点理解动态边权调整策略的设计原理与节点预留机制的实现细节,通过设置不同初始条件与障碍环境开展仿真实验,以全面掌握算法的运行机制与优化潜力。

优化算法侠_科研
评论
收藏 已收藏
分享
返回顶部