首页 > 其他分享 >Exp8 Web安全 20202211 王宏韬

Exp8 Web安全 20202211 王宏韬

时间:2023-05-24 17:14:10浏览次数:36  
标签:Web Exp8 王宏韬 WEB 攻击 表单 HTML SQL XSS

目录

一、实践内容

二、基础问题

(1)什么是表单

(2)浏览器可以解析运行什么语言

(3)WebServer支持哪些动态语言

(4) 防范注入攻击的方法有哪些

三、总结体会

四、实验过程

(1)WEB HTML

(2)WEB JAVASCRIPT

(3)WEB 后端 MYSQL

(4)WEB 后端PHP

(5)SQL注入

(6)XSS

(7)WEBGOAT

  SQL注入

  XSS

  CSRF

一、实践内容

  • Web前端HTML

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

    • 理解JavaScript的基本功能,理解DOM
    • 在(1)的基础上,编写JavaScript验证用户名、密码的规则。在用户点击登陆按钮后回显“欢迎+输入的用户名”
    • 尝试注入攻击:利用回显用户名注入HTML及JavaScript
  • Web后端:MySQL基础——正常安装、启动MySQL,建库、创建用户、修改密码、建表

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

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

  • 选做Webgoat或类似平台的SQL注入、XSS、CSRF攻击各一例

二、基础问题

(1)什么是表单

  表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分:表单标签:这里面包含了处理表单数据所用 CGI 程序的 URL 以及数据提交到服务器的方法。表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI 脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。

(2)浏览器可以解析运行什么语言

  支持HTML(超文本标记语言)、XML(可扩展标记语言)以及Python、PHP、JavaScript、ASP等众多脚本语言。

(3)WebServer支持哪些动态语言

  PHP(HypertextPreprocessor)、ASP(ActiveServerPages)、JSP(JavaServerPages)。

(4) 防范注入攻击的方法有哪些

  SQL注入攻击、XSS攻击、CSRF攻击。

三、总结体会

  本次实验中,WEB综合实验是一项非常重要的实践环节。通过这个实验,我们可以深入了解WEB应用的攻击和防御技术,提高自己的安全意识和技能。在实验中,我们首先学习了WEB应用的基本概念和工作原理,包括HTTP协议、HTML、CSS、JavaScript等。然后,我们通过搭建虚拟机和安装WEB应用程序,学习了常见的WEB攻击技术,如SQL注入、XSS攻击、CSRF攻击等。在攻击的过程中,我们使用了各种工具和技术,如Burp Suite、Sqlmap、Metasploit等。同时,我们也学习了如何防御这些攻击,如过滤用户输入、使用预编译语句、使用验证码等。通过这个实验,我深刻认识到了WEB应用的安全问题和重要性。我也发现了自己在安全方面的不足之处,需要不断学习和提高。同时,我也感受到了安全工作的挑战和乐趣,我对这个领域的兴趣更加浓厚了。总之,WEB综合实验是一项非常有价值的实践环节,它让我更加深入地了解了WEB应用的攻击和防御技术,提高了我的安全意识和技能。我相信这个实验对我的未来职业发展和个人成长都有着重要的意义。

四、实验过程

(1)WEB HTML

service apache2 start命令打开Apache服务

netstat -aptn查看端口信息
如果80端口被Apache2监听,则启动成功。

 

kali访问127.0.0.1,可正常打开Apache介绍网页,则开启成功。

 

cd /var/www/html 
进入Apache目录下,新建一个简单的含有表单的html文件
touch 2211.html(创建)
vi 2211.html(编辑)

 

访问/var/www/html/2211.html

 

(2)WEB JAVASCRIPT

添加一段JavaScript代码,以完成对用户是否填写账号和密码的判断,在用户点击登陆按钮后回显“欢迎+输入的用户名”
<!--//main-->
<script language="javascript">
function validateLogin(){
var sUserName = document.form_login.user.value;
var sPassword = document.form_login.Password.value;
if ((sUserName =="") || (sUserName=="Your name")){
alert("need name!");
return false ;
}
if ((sPassword =="") || (sPassword=="Your password")){
alert("need password!");
return false ;
}
}

 

编写登录成功后跳转的界面,主要任务是获取用户名参数并显示出来

 

尝试注入攻击

 

 

 

 

 

(3)WEB 后端MYSQL

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

service mysql start开启MySQL服务

sudo mysql -u root -p使用mysql

 

创建用户
CREATE USER wht2211@localhost IDENTIFIED BY '20202211';

use mysql

修改密码
set password for root@'localhost'=password('20202211');

创建一个新的数据库wht1
create database wht1;

查看数据库
show databases

 

use wht1;
建立数据库表login,并设置字段基本信息
create table login(username VARCHAR(20),password VARCHAR(20));

插入数据
insert into login values ('[email protected]', '20202211');
查询表中的数据
select * from login;

增加新用户
grant select,insert,update,delete on LZ1.* to wht2211@localhost identified by "20202211";

 

 

(4)WEB 后端PHP

安装PHP

 

 

 

 

 

 

 

 

(5)WEB SQL注入

 

 

 

 

(6)XSS

 

 

 

 

(7)WEBGOAT

 

 

 

SQL注入

 

XSS

 

 

CSRF

 

标签:Web,Exp8,王宏韬,WEB,攻击,表单,HTML,SQL,XSS
From: https://www.cnblogs.com/wonght/p/17428036.html

相关文章

  • 【JavaWeb-02】Web服务器
    文章目录2.web服务器2.1技术讲解2.2web服务器2.web服务器2.1技术讲解JSP/Servlet:B/S:浏览和服务器C/S:客户端和服务端sun公司主推的B/S架构基于Java语言的(所有的大公司,或者一些开源的组件,都是用Java写的)可以承载三高问题带来的影响2.2web服务器IIS:微软的Tmocat:Java初学人员......
  • javascript web api,bom&dom
    Api1.获取dom元素constx=document.querySelector('选择器')querySelectorAll返回的是伪数组2.操作元素内容对象.innerText对象.innerHTML会解析标签3.操作元素样式属性1.style<script>  constdiv=document.querySelector('.box')  box.style.width=......
  • 深入webflux-01-入门
    02reactivespring地位03webflux简介......
  • 使用Maven管理Web工程
    使用命令创建webapp工程:到workdpace运行命令[b][color=red]mvnarchetype:create-DgroupId=com.pandy-DartifactId=MavenDemo-DarchetypeArtifactId=maven-archetype-webapp[/color][/b]使用maven构建web项目实例[url]http://hnzhoujunmei.iteye.com/......
  • 旧知识:soap、webservice、wcf
    SOAP、webservice、WCFSOAP(SimpleObjectAccessProtocol,简单对象访问协议),是基于XML的简易协议,可使应用程序在HTTP之上进行信息交换。一条SOAP消息就是一个普通的XML文档。总之,HTTP+XML=SOAP,它就是用于系统间数据通信的,特点就是接口的数据传输格式必须是XML而已......
  • 百度WebUploader中实现文件上传下载的三种解决方案(推荐)
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,当文件上传到一半中断后,继续上传却只能重头开始上传,这种让人不爽的体验。那有没有......
  • Qt+QtWebApp开发笔记(三):http服务器动态html连接跳转基础交互
    前言  网页很多时候是动态的,于是本篇文章目标实现一个简答的动态页面—页静态页面互相跳转,点击可以跳转到子页面。 Demo  下载地址  链接:https://pan.baidu.com/s/1bbhcu1XTiaJRYGRQRG5a0g?pwd=1234 HTML基本页面交换  上一篇的“HelloWorld”......
  • 网络对抗实验八 Web安全
    目录一、实践内容(一)前端HTML1.打开Apache2.新建表单3.查看表单(二)前端javascipt1.添加一段JavaScript代码2.效果3.登录成功界面4.效果(三)Web后端:MySQL基础1.启动MySQL2.创建用户、修改密码、建表(四)Web后端:编写PHP网页1.安装php2.编写php代码3.效果(五)SQL注入,XSS攻击测试1......
  • web组态可视化编辑器
    随着工业智能制造的发展,工业企业对设备可视化、远程运维的需求日趋强烈,传统的单机版组态软件已经不能满足越来越复杂的控制需求,那么实现web组态可视化界面成为了主要的技术路径。  行业痛点对于软件服务商来说,将单机版软件转变为网页版软件已经到了势在必行的阶段。但是,转......
  • 【web 开发】PHP8中数组的序列化和反序列化
    前言数组的序列化(serialize)用来将数组的数据转换为字符串,以方便传递和数据库的存储。与之相对应的操作就是反序列化(unserialize),把字符串数据转换为数组加以使用。数组的序列化主要通过serialize()函数来完成。字符串的反序列化主要通过unserialize()函数来完成。对象的序列化与反序......