1.实验后回答问题

(1)什么是表单

  • 它在网页中主要负责数据采集功能,通过用户提交的一些数据来建立网站管理者与浏览者之间的桥梁。
  • 两个组成部分:①HTML源代码用于描述表单(比如域,标签和浏览者在页面上看见的按钮等),

    ②脚本或应用程序用于处理提交的信息(如CGI脚本)。脚本用来搜集表单数据。

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

  • 只有HTML/CSS
  • PHP的执行是在服务器端进行的,并不是在浏览器端执行的。

->关于php(Hypertext Preprocessor,“超文本预处理器”)是一种通用开源脚本语言。php是将程序嵌入到HTML文档中去执行。即PHP可以和HTML混写在一起,解释器会将包含在特定标签(如< ? php ? >等)中的PHP代码与HTML代码分离开,将PHP代码加以执行,并将执行结果替换掉原代码位置的内容,形成最终的HTML文档。它的执行效率比完全生成HTML标记的CGI要高许多。

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

ASP,PHP,JSP等

2.实验体会

天晨太6了...

有些内容在之前的课程上学过,但很明显还是基础不牢,再加上一些新的知识点还需要再消化理解。

老师课上讲的网站十分有用,里面的实例让web网页编写变得具体,从最简单的语句开始,一步一步正确的扩展成更加完美的网页。

主要还是要自己动手编写一些网页,不一定要很难,慢慢扩充起来。

3.实验过程

(1).Web前端HTML(1分)

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

  • 用命令/etc/apache2/ports.conf下设置的Apache监听端口号为5201

  • netstat -aptn查看端口占用:在这里apach2占用端口5201

  • 测试apache:在kali浏览器上输入localhost:5201 正常~

  • 命令cd /var/www/html,新建一个5201.html文件,并用vim编写一个含有表单的html

  • 浏览器访问:localhost:5201/5201.html,就可以访问刚刚编写的网站啦





    这里需要说明的是,因为用了get方法,我们可以在地址栏看到自己的用户名和密码(明文形式)

(2).Web前端javascipt(1分)

自己编写了JavaScript验证用户名、密码的规则。

  • 我编写的用户名密码规则是不能大于8个字符,代码如下:

<!DOCTYPE HTML>
<html>
<head>
<TITLE>20145201 </TITLE> <script language="javascript" type="text/javascript">
function Length()
{
if(document.login.user.value.length>8)
{
window.alert("your id must shorter than 8 chars");
return false;
}
}
</script>
</head>
<body bgcolor="#f8aba6">
<h1>5201</h1>
<body>
<form action="html_form_action.php" method="post" name="login" onSubmit="return Length()">
ID: <input type="text" name="user"><br />
password:<input type="password" name="password">
<br>
<input name="" type="submit" value="submit"/>
</form>
</body>
</html>
  • 打开html界面

  • 输入正常8位学号,点击登陆:

  • 输入9位,提示错误重新输入:

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

  • 命令/etc/init.d/mysql start ,启动sql服务

  • 输入mysql -u root –p,并输入密码,默认密码为p@ssw0rd,进入MySQL

  • 输入show databases; 查看基本信息【一定要用;分号作为结尾!!】

  • 关于修改默认密码:

use mysql;     用mysql数据库
select user, password, host from user;
UPDATE user SET password=PASSWORD("新密码") WHERE user='root';
flush privileges; 更新权限
quit 退出



  • 在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 '');

  • 向表中添加数据
use 刚刚建立的库表的表名
insert into users(userid,username,password,enabled) values(1,'用户id',password("用户密码"),"TRUE");

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

  • 在/var/www/html目录下输入vim login.html,编写登录网页

  • 在同样的目录下输入vim login.php,编写php,实现对数据库的连接

  • 浏览器中输入localhost:5201/login.html,访问登陆页面,输入刚刚存在数据库里的用户名 密码进行登录

  • 登陆成功

如果密码不对的话..

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

  • 关于永真式

    用户名输入' or 1=1#,密码随便,合成后的SQL查询语句为

    select * from users where username='' or 1=1#' and password=md5('')

    1=1永真,所以这条语句为真为真,故可以成功登录



  • SQL攻击

登录界面输入:';insert into users(userid,username,password,enabled) values(111,'1111',password("1111"),"TRUE");#

意为用户名和密码都设置为1111



再次返回login界面,输入刚刚用户名密码(1111)



攻击成功

  • XSS攻击

    何为XSS?

    Cross Site Scripting(跨站脚本攻击),它允许恶意web用户将代码植入到提供给其它用户使用的页面中,此次实验中“代码”可以认为是脚本。通过插入恶意脚本,实现对用户游览器的控制。

    对于跨站脚本攻击,黑客界共识是:跨站脚本攻击是新型的“缓冲区溢出攻击“,而JavaScript是新型的“ShellCode”。

用户名输入

密码随意,ok:

20145201李子璇 《网络对抗》 Web基础的更多相关文章

  1. 网络对抗——web基础

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

  2. 20145306 张文锦 网络攻防 web基础

    20145306 网络攻防 web基础 实验内容 WebServer:掌握Apache启停配置修改(如监听端口)前端编程:熟悉HTML+JavaScript.了解表单的概念编写不同的HTML网页,放入 ...

  3. 20145334赵文豪网络对抗Web安全基础实践

    1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉 ...

  4. 20145201李子璇《网络对抗》PC平台逆向破解

    20145201<网络对抗>PC平台逆向破解 准备阶段 下载安装execstack. 获取shellcode的c语言代码 设置堆栈可执行 将环境设置为:堆栈可执行.地址随机化关闭(2开启, ...

  5. 20145201李子璇《网络对抗》逆向及Bof基础实践

    20145201李子璇<网络对抗>逆向及Bof基础实践 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回 ...

  6. 20155324《网络对抗技术》web安全基础实践

    20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...

  7. 20155324王鸣宇 《网络对抗技术》Web基础

    20155324王鸣宇 <网络对抗技术>Web基础 实践要求 ①Web前端HTML: 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HT ...

  8. 2017-2018-2 20155228 《网络对抗技术》 实验九:Web安全基础

    2017-2018-2 20155228 <网络对抗技术> 实验九:Web安全基础 1. 实践内容 1.1 标理解常用网络攻击技术的基本原理 1.2 在Webgoat实验环境下实践相关实验 ...

  9. 2017-2018-2 20155228 《网络对抗技术》 实验八:Web基础

    2017-2018-2 20155228 <网络对抗技术> 实验八:Web基础 1. 实践内容 1.1 Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET ...

  10. 20155208徐子涵《网络对抗》Exp9 Web安全基础

    20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...

随机推荐

  1. poj_2286 IDA*

    题目大意 给定一个由数字组成的#字型网格,和一定的移动规则,问最少需要多少次移动才能达到要求的结果. 题目分析 要求最少需要几步到达结果,可以考虑广度优先搜索算法,或者迭代加深深度优先搜索(IDA*) ...

  2. Docker 使用指南 (三)—— 网络配置

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/95 来源:腾云阁 https://www.qclou ...

  3. window.location.href和document.location.href、document.URL的区别

    1.document表示的是一个文档对象,window表示的是一个窗口对象,一个窗口下可以有多个文档对象. 所以一个窗口下只有一个window.location.href,但是可能有多个documen ...

  4. 兼容ie8的框架

    layui Flow-UI http://refined-x.com/Flow-UI/

  5. WEB安全第五篇--其他注入的奇技淫巧:XML注入、Xpath注入、Json注入、CRLF注入

    零.前言 最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件.底层安全.漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的pay ...

  6. Android软件开发之EditText 详解(八)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xys289187120.blog.51cto.com/3361352/65718 ...

  7. onethink插件控制器如何访问?

    具体路由分析就不说啦!就是那样.这里我只是方便访问来做一个记录,方便复制粘贴访问: 例如:新增一个Baoming的插件: 那么如何,访问这个控制里面方法呢? 第一种情况:这个控制器使用的是Admin模 ...

  8. 我的天$删除注册表$安装mysql最后一步不能启动服务的解决办法

    我是照着参考资料一步一步删除的,只是我的Win7 64位的电脑比较犟,硬是要我重启电脑才能成功!强烈建议最好是重启电脑再装! 使用MySQL都有过重装的经历,要是重装MySQL基本都是在最后一步通不过 ...

  9. Morris InOrder Traverse Binary Tree 无需使用递归和栈

    今天在切leetcode的时候看到一个Morris算法,用来中序遍历二叉树,非递归,O(1)空间.觉得很强大.记录一下. 基本思想是利用了Threaded Binary Tree. 步骤如下: cur ...

  10. js获取元素的外链样式

    一般给元素设置行内样式,如<div id="div1" style="width:500px;"></div>.如要获取它的样式,即可d ...