2017-2018-2 20155203《网络对抗技术》 Exp8:Web基础

基础问题回答

(1)什么是表单

    我认为,form概念主要区分于table,table是用网页布局设计,是静态的,form是用于显示和收集信息传递到服务器和后台数据库中,是动态的;
    以下是表单的百度百科:
   表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分:
   表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。
   表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。
   表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。

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

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

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

   JavaScript、ASP、PHP、Ruby等脚本语言,ASP基于IIS WEB PHP基于APACHE WEB 

实践总结与体会

学习了html,jsp,php等语言的使用,学到了很多有用的东西,也把学到的数据库中的知识实践了。网页编程很有趣~

实践过程记录

1. Web前端:HTML基础

静态网页

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>课程教学管理系统</title>
</head>
<body style= "background: url(1.png)">

<div class="form-div">
    <form id="login" name="login" method="post" action="#">
    <table >
        <tr>
            <th colspan="2">课程教学管理系统登录页面</th>
        </tr>
        <tr>
            <td align="right">用户名:</td>
            <td><input type="text" name="usrname" size="20"></td>
        </tr>
        <tr>
            <td align="right">密码:</td>
            <td><input type="password" name="password" size="20" ></td>

        </tr>
        <tr>
            <td align="right">身份:</td>
            <td align="center">
                <input type="radio" name="identity" value="teacher">教师
                <input type="radio" name="identity" value="student" checked>学生
            </td>
        </tr>
        <tr>
            <td align="center"><input type="submit" value="登录" onsubmit="code_isRight()"></td>
            <td align="center"><input type="button" value="注册" onclick="jump2register()"></td>
                       <td><input type="reset" name="rs" value="重置" /></td>
        </tr>
    </table>
    </form>
</body>
</html>

2. Web前端:javascipt基础

动态网页,代码中包含功能函数。

<html>  

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>课程教学管理系统</title>
<script language="javascript">
    function jump2register(){
        location.href="register.html";
        }

</script>
</head>
<body style= "background: url(1.png)  repeat-x #fff;">
<table>
    <form method ="POST" action="#" name="Login"  >
    <th colspan="2">课程教学管理系统登录页面</th>
    <tr>
    <td>用户名:</td>
    <td><input type="text" name="username" value="Your name" size="20" maxlength="20" onfocus="if (this.value==‘Your name‘) this.value=‘‘;" /></td>
    <td> </td>
    <td> </td>
    </tr>
    <tr>
    <td>密  码:</td>
    <td><input type="password" name="password" value="Your password" size="20" maxlength="20" onfocus="if (this.value==‘Your password‘) this.value=‘‘;" /></td>
    <td> </td>
    <td> </td>
    </tr>
    <tr>
            <td align="right">身份:</td>
            <td align="center">
                <input type="radio" name="identity" value="teacher">教师
                <input type="radio" name="identity" value="student" checked>学生
            </td>

        </tr>
    <tr>
    <td><input type="checkbox" name="zlogin" value="1">自动登录</td>
    </tr>
    <table>
    <tr>
        <td><input type="submit" name="login" value="登录" onClick="return validateLogin()"/></td>
        <td><input type="button" value="注册" onclick="jump2register()"></td>
    <td><input type="reset" name="rs" value="重置" /></td>
        </tr>
    </table>
    </form>
</table>   

<script language="javascript">
    function validateLogin(){
        var sUserName = document.Login.username.value ;
        var sPassword = document.Login.password.value ;
        if ((sUserName =="") || (sUserName=="Your name")){
            alert("请输入用户名!");
            return false ;
        }  

        if ((sPassword =="") || (sPassword=="Your password")){
            alert("请输入密码!");
            return false ;
        }  

    }
</script>
</body>
</html> 

3. Web后端:MySQL基础

在上一次使用官方源下载安装openvas后,不能用mysql,重新使用中科大源更新,

内存不足,恢复快照

[email protected]:~# /etc/init.d/mysql start
[ ok ] Starting mysql (via systemctl): mysql.service.
[email protected]:~# mysql -u root -p
Enter password: (初始)[email protected]
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
MariaDB [(none)]> use mysql;
Database changed
MariaDB [mysql]> select user, password, host from user;//查看当前用户信息
+------+----------+-----------+
| user | password | host      |
+------+----------+-----------+
| root |          | localhost |
+------+----------+-----------+
MariaDB [mysql]> UPDATE user SET password=PASSWORD("20155203") WHERE user=‘root‘;//更改root的密码
MariaDB [mysql]> flush privileges;//更新权限
MariaDB [mysql]> create database 20155203dukx;
Query OK, 1 row affected (0.01 sec)

MariaDB [mysql]> use 20155203dukx;
//创建数据库并打开
MariaDB [20155203dukx]> create table usertest1 (student VARCHAR(20),password VARCHAR(20),identity VARCHAR(20));//新建表格,指明表格包含内容以及每项的长度VARCHAR
Query OK, 0 rows affected (0.14 sec)
MariaDB [20155203dukx]> insert into usertest1 values(‘20155203‘,‘20155203‘,‘student‘);
Query OK, 1 row affected (0.01 sec)

MariaDB [20155203dukx]> select * from usertest1 ;
+----------+----------+----------+
| student  | password | identity |
+----------+----------+----------+
| 20155203 | 20155203 | student  |
+----------+----------+----------+
1 row in set (0.00 sec)
//插入记录并查看,若把*替换为想查找的关键字,可以用于查找与关键字有关的记录。
MariaDB [20155203dukx]> grant select(insert,update,delete) on 20155203dukx.* to [email protected] identified by "20155203";

//新建用户,并为其赋予权限。

不输入分号,就会一直出现"->“

4. Web后端:PHP基础

<?php

$uname=($_POST["username"]);
$pwd=($_POST["password"]);
$iden=($_POST["identity"]);
//自行选择需要匹配的项目进行添加网页的表单action使用post,若使用get就改成get
/* echo $uname; */

$query_str="SELECT * FROM usertest1 where username=‘$uname‘ and password=‘$pwd‘ and identity=‘$iden‘;";//从自己的表单里select

/* echo "<br> {$query_str} <br>";*/

$mysqli = new mysqli("127.0.0.1", "dukx", "20155203", "20155203dukx");//b不要使用root一般会失败,可能是因为数据库的权限问题

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}
echo "connection ok!";
/* Select queries return a resultset */
if ($result = $mysqli->query($query_str)) {
    if ($result->num_rows > 0 ){
        echo "<br> Wellcome login Mr/Mrs:{$uname} <br> ";//这里可以链接自己写的登陆页面
    } else {
        echo "<br> login failed!!!! <br> " ;
    }

    /* free result set */
    $result->close();
}

$mysqli->close();

?>

php测试;查看/etc/password下的内容:

添加php后端:登陆成功

5. sql注入

  1. 在用户名输入框中输入

    ‘ or 1=1#的时候合成的SQL查询语句为

    select * from lxmtable where username=‘‘ or 1=1#‘ and password=‘‘

    ,#会把后面的内容都注释掉,而1=1是永真式,所以这个检索必能匹配成功,所以能够成功登陆

  1. 要在后端php文件中改这一句才能执行多句if ($result = $mysqli->multi_query($query_str))

    同时,html文件中用户名输入的文本框大小有限制也需要改大,

    在用户名输入框中输入‘;insert into usertest1 values(‘20155204‘,‘5204‘,‘student‘);#意思是select之后,还要执行insert语句,结果如下:

6. XSS攻击测试

检索/var/www/html目录下的图片,也就是网页源码文件目录,输入<img src="图片文件名称" />。。。</a>

原文地址:https://www.cnblogs.com/xhwh/p/9038532.html

时间: 2024-11-01 01:29:34

2017-2018-2 20155203《网络对抗技术》 Exp8:Web基础的相关文章

2018-2019-2 20165333 网络对抗技术 Exp8 Web基础

一.实践内容 1.Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. 2.Web前端javascipt 理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. 3.Web后端:MySQL基础 正常安装.启动MySQL,建库.创建用户.修改密码.建表(0.5分) 4.Web后端:编写PHP网页 连接数据库,进行用户认证(1分) 5.最简单的SQL注入,XSS攻击测试 功能描述:用

20145301赵嘉鑫《网络对抗》Exp8 Web基础

20145301赵嘉鑫<网络对抗>Exp8 Web基础 基础问题回答 什么是表单? 表单是一个包含表单元素的区域,主要负责数据采集部分.表单元素允许用户在表单中输入信息.一个表单有三个基本组成部分:表单标签.表单域.表单按钮: 表单标签:包含处理表单数据所用的URL以及数据提交到服务器的方法: 表单域:包含了文本框.密码框.多行文本框.下拉选择框等等: 表单按钮:包括提交按钮.复位按钮和一般按钮. 浏览器可以解析运行什么语言? 支持HTML(超文本标记语言).XML(可扩展标记语言)以及Pyt

20145331魏澍琛《网络对抗》Exp8 Web基础

20145331魏澍琛<网络对抗>Exp8 Web基础 实践内容: 1.简单的web前端页面(HTML.CSS等) 2.简单的web后台数据处理(PHP) 3.Mysql数据库 4.一个简单的web登陆页面例子 5.SQL注入.XSS攻击 Web前端:HTML基础 1.先将apache的端口号设为80(上节已经设置好了),接着结束掉占用80端口的进程,再启动apache. 2.在/var/www/html目录下创建20145331wsc.html文件,即前端文件. 附:检查第一步是否成功只需在

20145311 王亦徐 《网络对抗技术》 Web基础

20145311 王亦徐 <网络对抗技术> Web基础 实验内容 简单的web前端页面(HTML.CSS等) 简单的web后台数据处理(PHP) Mysql数据库 一个简单的web登陆页面例子 SQL注入.XSS攻击 基础问题回答 (1)什么是表单 表单我觉得主要是用来在网页中采集数据用的,提供了填写数据.选择数据,收集数据并提交给后台的功能,包括很多种表单元素,例如文本框.下拉框.单选复选框等 百度上说一个表单有三个基本组成部分:表单标签(form).表单域(填写数据).表单按钮(提交) (

20145211 《网络对抗》Exp8 Web基础

20145211 <网络对抗>Exp8 Web基础 本实践的具体要求有: (1).Web前端HTML(1分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2).Web前端javascipt(1分) 理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. (3).Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表(1分) (4).Web后端:编写PHP网

20155330 《网络对抗》 Exp8 Web基础

20155330 <网络对抗> Exp8 Web基础 实验问题回答 什么是表单 表单可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁. 一个表单有三个基本组成部分 表单标签 表单域:包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等 表单按钮:包括提交按钮.复位按钮和一般按钮. 浏览器可以解析运行什么语言 超文本标记语言:HTML 可扩展标记语言:XML 脚本语言:ASP.PHP.Script.JavaScript.VBScript.Perl.P

20155304《网络对抗》Exp8 Web基础

20155304<网络对抗>Exp8 Web基础 实践要求 (1).Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2).Web前端javascipt 理解JavaScript的基本功能,理解DOM.编写JavaScript验证用户名.密码的规则. (3).Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表 (4).Web后端:编写PHP网页,连接数据库,进行用户认证 (5).

2018~2019-10 20165107 网络对抗技术 Exp9 Web安全基础

20165107 网络对抗技术 Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理,做不少于7个题目,包括(SQL,XSS,CSRF) Webgoat实践下相关实验. 基础问题问答 1.SQL注入攻击原理,如何防御 SQL注入攻击原理:是指通过构建特殊的输入作为参数传入Web应用程序,输入执行SQL语句进而执行攻击者所要的操作.如在用户名.密码登输入框中输入一些',--,#等特殊字符,实现引号闭合.注释部分SQL语句,利用永真式实现登录.显示信息等目的. 如何防御:

20145235李涛《网络对抗》Exp8 Web基础

基础问答 什么是表单 可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁. 表单包括两个部分:一部分是HTML源代码用于描述表单(例如,域,标签和用户在页面上看见的按钮),另一部分是脚本或应用程序用于处理提交的信息(如CGI脚本).不使用处理脚本就不能搜集表单数据. 表单通常是交由CGI(公共网关接口)脚本处理.CGI是一种在服务器和处理脚本之间传送信息的标准化方式.CGI脚本比较典型的是使用Perl语言编写,当然也有其他语言如C++,Java,VBScript或JavaScrip

20145311王亦徐 《网络对抗技术》 MSF基础应用

20145311王亦徐 <网络对抗技术> MSF基础应用 实验内容 掌握metasploit的基本应用方式以及常用的三种攻击方式的思路 主动攻击,即对系统的攻击,不需要被攻击方配合,以ms08_067渗透为例 针对浏览器的攻击,以漏洞10_046为例 针对客户端的攻击,对具体应用的攻击,以对Adobe阅读器的漏洞攻击为例 最后是一个auxiliary模块的例子的应用 基础问题回答 1.解释exploit,payload,encode是什么 exploit是渗透攻击模块,利用系统服务应用中的漏洞