20145330 《网络对抗》 Web基础
20145330 《网络对抗》 Web基础
1、实践内容
(1)Web前端HTML
(2)Web前端javascipt
(3)Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表
(4)Web后端:编写PHP网页,连接数据库,进行用户认证
(5)最简单的SQL注入,XSS攻击测试
2、实践后问题回答:
(1)什么是表单:
- 表单在网页中主要负责数据采集功能。
- 一个表单有三个基本组成部分:
- 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。
- 表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。
- 表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。
2.浏览器可以解析运行什么语言:
- 超文本标记语言:HTML
- 可扩展标记语言:XML
- 脚本语言:ASP、PHP、Script、JavaScript
(3)WebServer支持哪些动态语言:
- ASP语言,PHP语言和JSP语言
3、实验总结与体会
这次的实验又让我学到很多编写网站的知识,实验内容很丰富让我整体理解了web知识,很感谢罗天晨同学的博客,很详实很好理解,真的是在做中学在学中做,很有收获~
4、实验内容
(一)环境配置
1.通过apachectl start开启Apach,使用netstat -aptn查看端口占用:(我占用的是80端口)

2.测试apache是否正常工作,打开浏览器输入localhost:80,(打开就是上个实验的伪装网页),测试apache2正常工作。

(二)简单的网页编写
1、在 /var/www/html,新建一个5330.html文件
2、编写一个含有表单的html:

3、打开浏览器访问:localhost:80/5330.html,出现刚编好的简单网页:

4、点击提交会把表单提交到指定页面,因为还没有编写php文件,所以提交后找不到页面:

(三)javascript相关
1、JavaScript是什么:Javascript是比较流行的一种制作网页物资的脚本语言,它由客户端浏览器解释执行,可以应用在PHP,ASP,JSP和ASP.net等从网站建设语言中
2、Javascript主要应用于以下几个方面:
- 1.在网页中加入Javascript脚本代码,可以使网页具有动态交互的功能,便于网站的与用户间的沟通;及时响应用户的操作,对提交的表彰做即时检查,如验证表单元素是否为空,验证表单元素是否是数值型,检测表单元素是否输入错误等.
- 2.应用Javascript脚本制作网页特效,如动态的菜单,浮动的广告等,为页面增添的绚丽的动态效果,使网页内容更加丰富,活泼.
- 3.应用Javascript脚本,建立复杂的网页内容,如打开新窗口载入网页.
- 4.应用Javascript脚本可以对用户的不同事件产生不同的响应.
3、DOM:文档对象模型,是W3C组织推荐的处理可扩展标志语言的标准编程接口。在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标准模型就称为DOM。
4、编写验证用户名和密码的规则:
function nameText(){
var name= document.getElementByIdx_x ("username");
var divID= document.getElementByIdx_x ("divName");
divID.innerHTML="";
if(name.value==""){
divID.innerHTML="用户名不能为空";
return false;
}
}
function passText(){
var pass= document.getElementByIdx_x ("password");
var divIP= document.getElementByIdx_x ("divPass");
divIP.innerHTML="";
if(pass.value==""){
divIP.innerHTML="密码不能为空";
return false;
}
}
}
</script>
(四)PHP测试
1、新建一个PHP测试文件vim /var/www/html/5330.php:

2、用浏览器打开localhost:80/5330.php,可以看见如下界面,测试成功:

(五)MySQL基础
1.开启sql服务
2.输入mysql -u root -p,默认密码为p@ssw0rd,进入MySQL:

3.输入show databases;,可以查看基本信息:(命令不能漏掉分号)

4.这个密码很麻烦,使用命令修改密码:


5.重新输入mysql -u root -p,检测新密码能否成功使用。
6.在Mysql中建库建表:
CREATE SCHEMA `库表的名称`;
CREATE TABLE `库表的名称`.`users` (
`userid` INT NOT NULL COMMENT '',
`username` VARCHAR(45) NULL COMMENT '',
`password` VARCHAR(256) NULL COMMENT '',
`enabled` VARCHAR(5) NULL COMMENT '',
PRIMARY KEY (`userid`) COMMENT '');

7.向表中添加用户:

8.现在再查看信息就可以看到新建表:

(六)php+mysql实现登录网页编写
这部分的测试代码使用的是20145212罗天晨同学的代码:
1.在/var/www/html文件夹下输入vim login.html,编写登录网页:
2.在同样的目录下输入vim login.php,通过php实现对数据库的连接:

3.在火狐浏览器中输入localhost:80/login.html,就可以访问自己的登陆页面啦:

因为页面感觉不够美观就又试了天晨同学的代码:

4.在登录页面中输入数据库中存有的用户名和密码并点击提交进行用户认证登录成功:

输入数据库中没有的就会认证失败,可以看到数据库连接成功但是登陆失败:

(七)SQL注入
1.搭建一个网站实现用户登录,这步之前已经完成
2.构造SQL语句:在用户名输入框中输入' or 1=1#,密码随便输入:

3.因为1=1为永真式,即where子句总是为真,所以能够成功登录:

4.同样的思路也可以通过sql注入保存用户名密码到数据库:
';insert into users(userid,username,password,enabled) values(2014,'swx5330',password("5330"),"TRUE");#


(八)XSS攻击
XSS表示Cross Site Scripting(跨站脚本攻击),通过插入恶意脚本,实现对用户游览器的控制。
1.输入<img src="5330.jpg" />20145330</a>先进行简单的测试
2.点击登录就会出现图片5330.jpg的超链接:

20145330 《网络对抗》 Web基础的更多相关文章
- 网络对抗——web基础
网络对抗--web基础 实践内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表 (4)Web ...
- 20145306 张文锦 网络攻防 web基础
20145306 网络攻防 web基础 实验内容 WebServer:掌握Apache启停配置修改(如监听端口)前端编程:熟悉HTML+JavaScript.了解表单的概念编写不同的HTML网页,放入 ...
- 20145334赵文豪网络对抗Web安全基础实践
1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉 ...
- 20145330 《网络对抗》 Web安全基础实践
20145330 <网络对抗> Web安全基础实践 1.实验后回答问题 (1)SQL注入攻击原理,如何防御 SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字 ...
- 20145337 《网络对抗技术》Web基础
20145337 <网络对抗技术>Web基础 一.实验后回答问题 什么是表单? 表单是HTML的一个重要部分,主要用于将用户输入的信息提交到服务器.如果是普通的HTML页面,则当浏览器提出 ...
- 20155324《网络对抗技术》web安全基础实践
20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...
- 20155324王鸣宇 《网络对抗技术》Web基础
20155324王鸣宇 <网络对抗技术>Web基础 实践要求 ①Web前端HTML: 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HT ...
- 2017-2018-2 20155228 《网络对抗技术》 实验九:Web安全基础
2017-2018-2 20155228 <网络对抗技术> 实验九:Web安全基础 1. 实践内容 1.1 标理解常用网络攻击技术的基本原理 1.2 在Webgoat实验环境下实践相关实验 ...
- 2017-2018-2 20155228 《网络对抗技术》 实验八:Web基础
2017-2018-2 20155228 <网络对抗技术> 实验八:Web基础 1. 实践内容 1.1 Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET ...
随机推荐
- 2016江苏省CPC省赛 I - Itinerary Planning
Description Mike moved to a new city. There are bus stations in the city, each has a unique name. Ea ...
- package-info.java https://www.intertech.com/Blog/whats-package-info-java-for/
mybatis-3/src/main/java/org/apache/ibatis/cache/package-info.java What’s package-info.java for? http ...
- Bitfinex API
本文介绍Bitfinex APi Platform Status Get the current status of the platform. Maintenance periods last fo ...
- ls 列出文件目录(可以含子目录)及文件的完整路径
1.列出当前目录的文件.文件夹完整路径 ls -1 |awk '{print i$0}' i=`pwd`'/' 2.列出当前目录及子目录的文件.文件夹完整路径 ls -R |awk '{p ...
- pandas介绍及环境部署
pandas介绍 Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的.Pandas 纳入了大量库和一些标准的 ...
- java动态加载
先贴个笔记,后续用得着再深究. package test; import java.io.File; import java.io.IOException; import java.lang.refl ...
- hashcode()和equals()的作用、区别、联系
介绍一. hashCode()方法和equal()方法的作用其实一样,在Java里都是用来对比两个对象是否相等一致,那么equal()既然已经能实现对比的功能了,为什么还要hashCode() ...
- POJ3096:Surprising Strings(map)
http://poj.org/problem?id=3096 for循环真是奇妙! #include <string.h> #include <stdio.h> #includ ...
- angular $scope.$watch
在$scope内置的所有函数中,用得最多的可能就是$watch 函数了.当你的数据模型中某一部分发生变化时,$watch函数可以向你发出通知. 你可以监控单个对象的属性,也可以监控需要经过计算的结果( ...
- [LeetCode] 694. Number of Distinct Islands
Given a non-empty 2D array grid of 0's and 1's, an island is a group of 1's (representing land) conn ...