• 20155234 《网络对抗》Exp 8 Web基础


    基础问答

    • 什么是表单
      可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁。 表单包括两个部分:一部分是HTML源代码用于描述表单(例如,域,标签和用户在页面上看见的按钮),另一部分是脚本或应用程序用于处理提交的信息(如CGI脚本)。不使用处理脚本就不能搜集表单数据。
      表单通常是交由CGI(公共网关接口)脚本处理。CGI是一种在服务器和处理脚本之间传送信息的标准化方式。CGI脚本比较典型的是使用Perl语言编写,当然也有其他语言如C++,Java,VBScript或JavaScript。在创建交互表单之前,接洽您的ISP或服务器管理员以确认CGI脚本可以在您的服务器上运行。
      表单由文本域、复选框、单选框、菜单、文件地址域、按钮等表单对象组成,所有的部分都包含在一个由标识符标志起来的表单结构中。
      表单的种类有注册表、留言薄、站点导航条、搜索引擎等。
    • 浏览器可以解析运行什么语言?
      支持HTML(超文本标记语言)、XML(可扩展标记语言)以及Python、PHP、JavaScript、ASP等众多脚本语言。
    • WebServer支持哪些动态语言?
      JavaScript、ASP、PHP、Ruby等脚本语言,ASP基于IIS WEB SERVER,是微软的服务器端脚本技术,PHP基于APACHE WEB SERVER,与ASP有几分类似,都是一种在服务器端执行的嵌入HTML文档的脚本语言。

    实践内容

    • Web前端HTML
      启动:apachectl start
      查看端口占用情况:netstat -aptn

      浏览器登录到Apache首页 ok可用

      Apache的工作目录是/var/www/html,编写一个HTML作为前端的登录页面

      我并没有绑定php,所以回车后会出现这种情况
    • Web前端javascipt
      用JavaScript来编写一个验证用户名、密码的函数,当其为空或者长度不符合要求时提示错误信息
    • Web后端,MySQL基础
      安装:apt-get install mysql
      启动/etc/init.d/mysql start
      登陆:mysql -u root -p

      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 '');
      输入insert into users(userid,username,password,enabled) values(ID号,'用户id',password("用户密码"),"TRUE");添加新用户。
    • PHP测试
      新建一个PHP测试文件vi /var/www/html/1.php
    • Web后端:编写PHP网页,连接数据库,进行用户认证
      这里我们修改第二个任务的php文件,使之可以查询数据库
      但是我的kail虚拟机出现问题,php不能链接到mysq,所以采用了同学的解决方法,下载一个XAMPP来在主机上进行接下来的实验
      测试如下
      正确输入用户名密码

      错误输入用户名密码
    • 最简单的SQL注入
      在用户名输入框中输入' or 1=1#,密码随便输入

      竟然登录成功了,这是因为,这时候' or 1=1#合成后的SQL查询语句为select * from lxmtable where username='' or 1=1#' and password=md5(''),#相当于注释符,会把后面的内容都注释掉,1=1是永真式,所以这个条件肯定恒成立,一定会登陆成功。
    • xss攻击
      在用户名输入框中输入读取图片,图片和网页代码在同一文件夹下

      ok,成功了。

    实验体会

    这次实验前面一直很顺利,但是在php链接数据库时出现了问题,使用了很多同学成功的代码,将其中需要改成自己mysql的都改好,但还是不能够解决这个问题,浪费了很多时间,最后还是用了主机完成了这次实验。

  • 相关阅读:
    php 接收表单 方法的区别
    php上传图片---初级版
    php 验证格式的函数总结
    行为类模式分析
    深入理解java虚拟机
    JVM生产环境参数实例及分析
    redis 排序(转)
    八种常用的排序算法(转)
    CAS原理分析
    Redis使用总结之与Memcached异同(转)
  • 原文地址:https://www.cnblogs.com/zxm20/p/9069695.html
Copyright © 2020-2023  润新知