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

20212305杨贯宇 2024-06-30 08:56:07

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

1.实验内容

(1)Web前端HTML

能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。

(2)Web前端javascipt

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

(3)Web后端:

MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表

(4)Web后端:

编写PHP网页,连接数据库,进行用户认证

(5)最简单的SQL注入,XSS攻击测试

(6)安装Webgoat或类似平台,并完成SQL注入、XSS、CSRF攻击。

2.实验过程

(1)Web前端HTML

1.启动Apache

img

在浏览器中访问网址 http://127.0.0.1/ ,发现Apache开启成功,如下图所示:

img

2.编写一个含有表单的HTML

在kali终端输入“ vi /var/www/html/20212305.html ”命令,编辑创建一个登陆界面,代码如下:

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"></head>
 
<body>
    <h1>Login</h1>
    <form  method="post">
        <font>账号:</font>
        <input type="text" name="username" id="username"><br>
        <font>密码:</font>
        <input type="password" name="password" id="password"><br>
        <button onclick="login()">login</button>
    </form>
</body>
</html>
 

3.浏览器打开编辑的网页

打开浏览器,访问网址 http://127.0.0.1/20212305.html

img

(2)Web前端javascipt

1.编写JavaScript验证用户名、密码的规则,在用户点击登陆按钮后回显“欢迎+输入的用户名”

<script>
function login(){
const usrname=document.getElementById("username").value;
const password=document.getElementById("password").value;
if (username === "" || password === "") {  
    alert(" username or password can not be null!");  
    return;  
}  

else if (password !== "20212305") {   
    alert(" Your username is wrong!");  
    return;   
}
 
else { 
document.write("Welcome! "+username) 
}
}
</script>

2.浏览器打开编辑的网页

打开浏览器,访问网址 http://127.0.0.1/20212305.html

img

若输入的账号或者密码为空:

img

若密码错误:

img

登录成功:

img

(3)尝试注入攻击

注入HTML
在网页的账号的文本框中输入

20212305

进行HTML注入,最后会在正常登入

注入JavaScript
在网页的账号的文本框中输入进行JavaScript注入,最后会出现“20212305”的提示框

(4)Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表

使用kali中自带的数据库,指令systemctl start mysql开启mysql服务

img

开启数据库,指令如下:

img

创建数据库和用户,指令如下:

img

往数据库里面添加数据,并给用户授予权限:

img


img

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

首先修改之前的html文件,去掉JavaScript部分,并加入到php的跳转,然后编写php文件,完成后如第一步中一样运行。

img

(5)最简单的SQL注入,XSS攻击测试

首先我们进行sql注入,在用户名处输入' or 1=1#,我们的数据库中不存在该用户,但是由于1=1恒成立通过sql注入,可以成功登录。

img


img

然后我们进行xss攻击测试,在用户名处输入语句,发起攻击,可以看到显示弹窗,攻击成功

3.问题及解决方案

最大的问题就是没能做完……“安装Webgoat或类似平台,并完成SQL注入、XSS、CSRF攻击”这一步我没能完成,不知为何电脑安不了平台,这个电脑我真的是服了。

4.学习感悟、思考等

此次实验作为系列中的最终环节,其本身难度适中,然而涵盖的知识点却相当丰富。通过这次实验,我对Web开发技术及网络安全领域有了更为深刻的认识。我学习并亲手实践了HTML与JavaScript,这两者构成了Web前端开发的核心基础。这一过程让我深切感受到了Web前端与后端开发的独特魅力,同时也深刻认识到网络安全的重要性。在实验的具体操作中,我学会了利用HTML来构建网页表单,并且深入理解了GET与POST这两种方法之间的区别。转向Web后端开发的学习时,我掌握了MySQL的安装与启动方法,以及数据库、用户和表的创建技巧。此外,我还亲自尝试了最基本的SQL注入和XSS攻击测试。这一实践让我意识到,任何细微的漏洞都可能成为黑客攻击的目标,因此,在进行网站开发时,我们必须时刻保持高度的安全意识。

...全文
146 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

98

社区成员

发帖
与我相关
我的任务
社区描述
网络攻防作业
网络安全 高校
社区管理员
  • blackwall0321
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧