20145216史婧瑶《网络对抗》Web基础

实验问题回答

(1)什么是表单

表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签、表单域、表单按钮。

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

支持HTML、XML、PHP、Javascript等脚本语言。

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

JavaScript、ASP、PHP、Ruby等脚本语言。

实验总结与体会

这次实验让我重温了上学期的网络安全编程基础,编写代码简直花了我百分之八十的精力,主要是在编写代码的过程中出现了一些问题,然后我就一遍一遍的调试,眼睛都看花了,不过这次实验学到的东西还是很多,比如对Web前端后端代码的编写、数据库的连接以及SQL注入、XSS攻击测试都有所掌握,所以,要始终相信付出总会有回报的。

实践过程记录

Web前端HTML

1.输入指令apachectl start 开启apache服务,使用netstat -aptn 查看端口占用,发现被进程602占用,使用命令sudo vi /etc/apache2/ports.conf 将配置文件中默认监听端口改为8080。(后面实验我又改为了5216)


2.再次打开Apacheservice apache2 restart ,登录localhost:8080可以看见上次生成的钓鱼网站


3.在虚拟机/var/www/html 文件夹下新建一个含有表单的html,在这里编写登录页面的代码


4.由于没有编写html_form_action.php,输入用户名密码,显示404

Web前端javascipt

1.使用javascript编写一段验证用户名及密码的规则,在这里设定的是用户名和密码不能为空


2.打开浏览器登录页面验证一下,当输入的用户名或密码为空时会弹出窗口

Web后端:MySQL基础

1.输入/etc/init.d/mysql start 开启mysql服务


2.输入mysql -u root -p ,并输入密码p@ssw0rd 进入mysql


3.修改密码:输入use mysql; ,选择mysql数据库;输入update user set password=PASSWORD("新密码") where user='root'; ,修改密码;输入flush privileges; ,更新权限


4.接着输入quit退出mysql,重新进入,使用新密码登录成功,说明修改成功


5.输入create database 库名; 建立一个数据库;输入show databases; 查看存在的数据库;输入use 库名; 使用我们创建的数据库


6.在mysql中建立库表,并向新建立的表中添加用户

Web后端:编写PHP网页

1.在/var/www/html 目录下新建一个php测试文件


2.在浏览器中打开localhost:5216/test.php ,可以看到如下界面


3.简单测试完成后,我们可以利用php和mysql结合之前编的登录网页进行简单的用户身份认证,这里可以参考老师给的代码编写login.php,代码如下所示:


4.现状可以在浏览器中访问自己的登陆页面,如果输入的用户名和密码与数据库中存有的用户名和密码相一致,则登录成功,否则登录失败

SQL注入

1.使用永真式进行注入。因为1恒等于1,所以条件恒成立,注入成功


2.通过sql注入将用户名和密码保存到数据库


用注入的用户名和密码进行登录显示登陆成功

XSS攻击测试

在登录的用户名中输入:<img src="20145216.jpg" />20145216</a> 即可读取/var/www/html文件夹下的图片

20145216史婧瑶《网络对抗》Web基础的更多相关文章

  1. 20145216史婧瑶《网络对抗》Web安全基础实践

    20145216史婧瑶<网络对抗>Web安全基础实践 实验问题回答 (1)SQL注入攻击原理,如何防御 攻击原理: SQL注入攻击指的是通过构建特殊的输入作为参数传入web应用程序,而这些 ...

  2. 20145216史婧瑶 《网络对抗》 MSF基础应用

    20145216史婧瑶 <网络对抗> MSF基础应用 实验回答问题 用自己的话解释什么是exploit,payload,encode. exploit:渗透攻击模块,测试者利用它来攻击一个 ...

  3. 20145216史婧瑶《网络对抗》逆向及Bof进阶实践

    20145216史婧瑶<网络对抗>逆向及Bof进阶实践 基础知识 Shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中,并将堆栈的返回地址利用缓冲区溢 ...

  4. 网络对抗——web基础

    网络对抗--web基础 实践内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表 (4)Web ...

  5. 20145216史婧瑶《Java程序设计》第10周学习总结

    20145216 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 一.网络概述 网络编程就是两个或多个设备(程序)之间的数据交换. 识别网络上的每个设备:①IP地址②域名 ...

  6. 20145216史婧瑶《Java程序设计》第五次实验报告

    20145216 实验五<Java网络编程> 实验内容 1.掌握Socket程序的编写 2.掌握密码技术的使用 3.设计安全传输系统 实验要求 1.基于Java Socket实现安全传输 ...

  7. 20145216史婧瑶《Java程序设计》第9周学习总结

    20145216 <Java程序设计>第9周学习总结 教材学习内容总结 第十六章 整合数据库 16.1 JDBC入门 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找. ...

  8. 20145216史婧瑶《Java程序设计》第8周学习总结

    20145216 <Java程序设计>第8周学习总结 教材学习内容总结 第十五章 通用API 15.1 日志 java.util.logging 包提供了日志功能相关类与接口,不必额外配置 ...

  9. 20145216史婧瑶《Java程序设计》第7周学习总结

    20145216 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 13.1 认识时间与日期 就目前来说,即使标注为GMT(无论是文件说明,或者是API的日期时间 ...

随机推荐

  1. Oracle管理监控之oracle用户管理方法

    创建用户语法: create user 用户名 identified by 密码: em:create user wangwc identified by tiger; 修改用户密码语法: alter ...

  2. 它是对 ACME(automated certificate management environment) 协议的实现,只要实现了 ACME 协议的客户端都可以跟它交互。

    它是对 ACME(automated certificate management environment) 协议的实现,只要实现了 ACME 协议的客户端都可以跟它交互. https://mp.we ...

  3. idea 创建的maven+spring+mybatis项目整合 报错无法创建bean

    报错如下: Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with n ...

  4. python 全局变量引用与修改

    一.引用 使用到的全局变量只是作为引用,不在函数中修改它的值的话,不需要加global关键字.如: #! /usr/bin/python a = 1 b = [2, 3] def func(): if ...

  5. list的方法、操作

    序号 分类 关键字 / 函数 / 方法 说明 1 增加 列表.insert(索引, 数据) 在指定位置插入数据     列表.append(数据) 在末尾追加数据     列表.extend(列表2) ...

  6. ie兼容图片缩小后模糊失真(锯齿)问题

    解决IE下图片缩小失真(有锯齿)的问题   首先,这不是一个新鲜玩意儿,很多大牛08年就发现了. 其次,这是个所有IE下普遍都会遇到的问题,而非只针对于IE67.(百度了一下,大半左右的文章是针对于I ...

  7. MySQL多线程备份工具:mydumper

    MySQL多线程备份工具:mydumper http://www.orczhou.com/index.php/2011/12/how-to-split-mysqldump-file/ Mydumper ...

  8. qsv转mp4

    1:下载格式工厂:http://rj.baidu.com/soft/detail/13052.html?ald 2:安装 :选择安装位置,把不需要安装的软件前面的对号去掉. 3:下一步,把不需要的软件 ...

  9. 使用对象作为hashMap的键,需要覆盖hashcode和equals方法

    1:HashMap可以存放键值对,如果要以对象(自己创建的类等)作为键,实际上是以对象的散列值(以hashCode方法计算得到)作为键.hashCode计算的hash值默认是对象的地址值. 这样就会忽 ...

  10. SparkSQL UDF使用方法与原理详解

    UDF是SQL中很常见的功能,但在Spark-1.6及之前的版本,只能创建临时UDF,不支持创建持久化的UDF,除非修改Spark源码.从Spark-2.0开始,SparkSQL终于支持持久化的UDF ...