首页 > 其他分享 >20222426 2021-2022-2 《网络与系统攻防技术》实验八实验报告

20222426 2021-2022-2 《网络与系统攻防技术》实验八实验报告

时间:2024-12-18 22:19:47浏览次数:3  
标签:Web 用户名 攻击 20222426 密码 HTML 2021 2022

20222426 2021-2022-2 《网络与系统攻防技术》实验八实验报告

1.实验内容

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

数据传递方式:GET方法的参数包含在URL中,而POST方法的参数则放在请求体中。
安全性:虽然POST方法在数据传递上更安全,但仍需使用HTTPS协议来保护数据传输。GET方法由于参数暴露在URL中,更容易受到攻击。
数据量:POST方法没有数据长度的限制,可以传输大量数据;而GET方法由于URL长度的限制,传递的数据量有限。
缓存:GET请求默认允许缓存响应结果,而POST请求则不会。
幂等性:GET请求是幂等的,多次执行相同的请求不会对服务器状态产生影响;而POST请求则不是幂等的,每次执行都可能对服务器状态产生影响。
(2)Web前端javascipt
理解JavaScript的基本功能,理解DOM。
在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+输入的用户名”
尝试注入攻击:利用回显用户名注入HTML及JavaScript。

JavaScript最初是为了在浏览器中运行客户端脚本而设计的。它允许网页在不需要重新加载整个页面的情况下,更新部分内容,从而实现动态和交互式的网页。
(3)Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表

MySQL是一个开源的关系型数据库管理系统。关系型数据库将数据保存在不同的表中,每个表由行和列组成,具有表头、行、列、键、值等要素。这种结构增加了数据访问的速度和灵活性。
(4)Web后端:编写PHP网页,连接数据库,进行用户认证

PHP(Hypertext Preprocessor,超文本预处理器)是一种广泛使用的开源服务器端脚本语言,特别适合用于Web开发,并可以嵌入到HTML中。PHP网页是指使用PHP语言编写的网页,这些网页通常包含HTML、CSS和JavaScript等前端技术,以及PHP代码来处理服务器端逻辑。
(5)最简单的SQL注入,XSS攻击测试

SQL注入是一种常见的安全漏洞,黑客可以通过注入恶意代码来攻击数据库和应用程序。
XSS(跨站脚本)攻击是指攻击者通过向Web页面注入恶意脚本,从而在用户浏览该页面时执行攻击者控制的脚本代码。
(6)安装DVWA或WebGoat平台,并完成SQL注入、XSS、CSRF攻击。

DVWA是一个故意设计得极易受到攻击的Web靶场,主要用于安全教育和渗透测试培训。它包含了多种常见的Web安全漏洞,如SQL注入、跨站脚本(XSS)、跨站请求伪造(CSRF)、文件包含等。
CSRF,全称Cross-site request forgery,翻译过来就是跨站请求伪造,是指利用受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点击恶意链接或者访问包含攻击代码的页面,在受害人不知情的情况下以受害者的身份向(身份认证信息所对应的)服务器发送请求,从而完成非法操作(如转账、改密等)。

2.实验过程

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


Apache之前已经安装成功,使用service apache2 start命令打开Apache服务。

在浏览器输入 127.0.0.1,可以打开Apache的默认网页,成功。

输入cd /var/www/html,新建一个HTML文件login.html。

使用浏览器打开制作的网页,在浏览器输入localhost/login.html,如图。

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


在login.html加上一段JavaScriptdiam,来判断用户是否填写了用户名和密码。即修改login.html。

如果不填写用户名直接登陆,会提示“请输入用户名”。

没有输入密码,会提示“请输入密码”。


在用户点击提交按钮后回显“欢迎!20222426”。
注入攻击如下:



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

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

验证操作是否成功,可以看到成功实现了上面的要求。
(4)Web后端:编写PHP网页,连接数据库,进行用户认证



创建一个20222426.php文件和修改login.html文件的action修改为20222426.php。

用户名:20222426why,密码:2426,登录成功。

如图,不满足用户名:20222426why,密码:2426,登录失败。

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


SQL注入 用户名:' or 1=1#,密码任意。

XSS攻击测试 用户名:,密码任意。

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

SQL Injection——Union注入

可以看到:Surname: admin。

可以看到:Surname: dvwa。

可以看到:Surname: users,Surname: guestbook。

可以看到:Surname: user_id,first_name,last_name,user,password,avatar,last_login,failed_login。

输入:1' UNION SELECT 1,group_concat(user,0x3a,avatar) from users#
可以看到:Surname: admin:/dvwa/hackable/users/admin.jpg,gordonb:/dvwa/hackable/users/gordonb.jpg,1337:/dvwa/hackable/users/1337.jpg,pablo:/dvwa/hackable/users/pablo.jpg,smithy:/dvwa/hackable/users/smithy.jpg

XSS攻击

发现:submit。


输入why,可以看到Hello why。



结果可以看到server没有对输入进行过滤,而是直接将内容传给浏览器。

CSRF攻击

首先观察URL。

修改密码,get型提交的参数会显示,并提示密码修改成功,URL:
http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=20222426&password_conf=20222426&Change=Change#

浏览器中打开新页面访问上面的URL。

修改密码,URL变为:
http://127.0.0.1/dvwa/vulnerabilities/csrf/?password_new=123456&password_conf=123456&Change=Change#

返回原页面,点击TEST,用户名输入admin,密码输入123456,登录成功。

用户名输入admin,密码输入20222426,登录失败。

3.问题及解决方案

  • 问题1:

    使用MySQL不成功。
  • 问题1解决方案:使用以下命令处理:
    apt install mariadb-client-compat
    即可正常使用。
  • 问题2:刚开始不会使用DVWA靶场。
  • 问题2解决方案:查阅相关博客,结合理解原理,就学会使用DVWA了。

4.学习感悟、思考等

通过本次实验,我不仅掌握了Web前端和后端的基本技能,还体会到了Web应用安全性的重要性,在编写Web应用时,必须注意防范相关的网络攻击。同时,在安装了DVWA平台后,我进行了SQL注入、XSS和CSRF攻击的实战演练。这些攻击方式让我体会到了Web应用安全性的复杂性。特别是CSRF攻击,它可以利用受害者的身份认证信息执行非法操作,具有极高的隐蔽性和危害性。通过演练,我学会了如何识别和防范这些攻击,并提高了自己的安全意识。

参考资料

标签:Web,用户名,攻击,20222426,密码,HTML,2021,2022
From: https://www.cnblogs.com/weihongyu/p/18576948

相关文章

  • 2021年,你最想学到的是一个技能是什么?
    在2021年,对于前端开发领域,我最想学到的一个技能是掌握并熟练运用WebAssembly(简称Wasm)。WebAssembly是一种开放标准,用于在现代Web浏览器中安全、快速地运行代码。它是一种低级的二进制指令格式,可以由多种编程语言编译成,包括C、C++、Rust等,然后在浏览器中运行,从而扩展了Web平台的能......
  • CSP-S 2021 游记
    2021.10.22来到杭州,然后打印乱七八糟的东西,吃了兰州拉面???晚上睡不着。2021.10.23早上\(5:00\)就起来划水,上午普及组打铁。\(2h\)打完四道暴力,然后开始扫雷(。预估得分:\(355\);中午吃完饭就快一点半了,很困。下午更困了屮。\(14:00\)进场,趴着睡了\(20min\)。\(1......
  • [蓝桥杯 2021 省 AB2] 国际象棋
    题目Description众所周知,“八皇后”问题是求解在国际象棋棋盘上摆放 8 个皇后,使得两两之间互不攻击的方案数。已经学习了很多算法的小蓝觉得“八皇后”问题太简单了,意犹末尽。作为一个国际象棋迷,他想研究在 N×M 的棋盘上,摆放 K 个马,使得两两之间互不攻击有多少种摆......
  • [MTCTF 2021]hamburgerRSA
    [MTCTF2021]hamburgerRSAtask:fromCrypto.Util.numberimport*flag=open('flag.txt').read()nbit=64whileTrue:p,q=getPrime(nbit),getPrime(nbit)PP=int(str(p)+str(p)+str(q)+str(q))QQ=int(str(q)+str(q)+str(p......
  • 在 Windows Server 2022 中配置和使用 iSCSI 服务器是一项常见的任务,尤其是在虚拟化、
     在WindowsServer2022中配置和使用iSCSI服务器是一项常见的任务,尤其是在虚拟化、存储管理和备份等场景中。以下是一个初级使用教程的大纲,帮助你从头开始配置和使用iSCSI服务器。WindowsServer2022iSCSI服务器初级使用教程大纲1. 介绍与概念iSCSI概述什么是......
  • 【经管数据】企业排污许可企业信息数据大全(1954-2022年)
    一、数据范围:数据量庞大,能统计的企业均有二、包含字段:企业名称      登记状态      法定代表人      注册资本      成立日期      核准日期      所属省份      所属城市      所属区县      电话......
  • 2021ICPC EC final B. Beautiful String题解
    今天跟队友vp21年ECfinal,最后可惜计算几何没开出来,以及J题时间不够没做出来,主要就是B做太麻烦了,导致花了太多时间。但是作为串串人,还是非常喜欢字符串题,这里写一下我们的B题做法。题意定义一个好串是能将字符串分为6个部分\(s_1+s_2+s_3+s_4+s_5+s_6\)并且满足\(s_1=s_2=s_5,......
  • 20222314 2024-2025-1 《网络与系统攻防技术》实验八实验报告
    202223142024-2025-1《网络与系统攻防技术》实验八实验报告1.实验内容1.1Web前端HTML能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML1.2Web前端javascipt理解JavaScript的基本功能,理解DOM在1的基础上,编写JavaScript验证用户名、密......
  • NSSCTF--Crypto--[强网拟态 2021]ONLYRSA
    [强网拟态2021]ONLYRSAtask:#!/usr/bin/envpythonfromCrypto.Util.numberimport*fromsecretimportflagn=26404882749642724802127738380102718019527577636691582886501036245400639490651939944149656100666825203142973550246517425052569869697312942219340516......
  • 洛谷P7911 [CSP-J 2021] 网络连接题解
    普通的模拟题,数据很小,基本排除超时超空间的可能上代码:#include<bits/stdc++.h>#defineLLlonglongusingnamespacestd;vector<pair<int,string>>sv;//用于存储Server,sv[i].first代表Server编号,sv[i].second代表Server地址intturn(stringstr){//string转int if(str.......