zoukankan      html  css  js  c++  java
  • 20145217《网络对抗》web基础

    20145217《网络对抗》web基础

    一、问题

    • 1.什么是表单?

    表单:可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁。 表单包括两个部分:一部分是HTML源代码用于描述表单(例如,域,标签和用户在页面上看见的按钮),另一部分是脚本或应用程序用于处理提交的信息(如CGI脚本)。不使用处理脚本就不能搜集表单数据。

    • 2.浏览器解析语言?

    超文本标记语言:HTML
    可扩展标记语言:XML
    脚本语言:ASP、PHP、Script、JavaScriptJava、JSP

    • 3.WebServer支持哪些动态语言?
      ASP、PHP、JSP

    二、进行实验

    1.做一个简单的登陆网站

    • 1.更改监听端口号,打开apahce,并查看端口号,确认apache正确开启,如下图所示:

    • 2.编写一个简单的html,并用浏览器打开查看效果,好丑呀

      jokebright
      user:
      password:
      auto

    • 未输入密码:

    • 正确输入并提交显示:

    • 3.编写一个简单的php,并用浏览器打开查看效果

    • 4.打开mysql,初始密码为p@ssw0rd,并查看已经有的数据库

    • 5.修改密码,mysql连自己的用户名密码都用数据库来存着?看来数据库是从里到外

    • 6.新建数据库create database或者schema都行,后面直接跟名称,愿意用`符号包裹也成

    • 7.新建表单,包括表单名元素等等,并输入几组数据以供后续实验

    • 8.html可以采取拿来主义,老师提供的php内容主要以下几个方面需要注意,一是表单名要改,二是ip要改,三是登陆mysql的用户名密码要改,四是数据库名要改。

    • 9.登陆网站查看效果,输入用户名密码后跳转,用户名密码正确时成功,不正确失败

    • 跳转界面丑可以再拿来一个,至此网站就准备好了

    2.SQL注入

    • 1.使用上课讲到的例子' or 1=1#永真式来注入,成功,这是因为注入后的查询SQL语句是:SELECT * FROM users where username='' or 1=1#' and password=password('');构成了恒成立的条件

    • 2.同样的思路也可以通过sql注入保存用户名密码到数据库:';insert into users(userid,username,password,enabled) values(17,'zzz',password("aaa"),"TRUE");#,但是页面跳转是空白页,以本代码会使if ($result = $mysqli->query($query_str))成立不了,对代码进行如下修改

    • 再次输入输入后跳转到这样一个界面

    • 为了查看注入是否成功,直接搜出来看下user这张表,显然成功了

    • 用注入的用户名密码登陆下,发现虽然代码修改使注入,但是也使得输入用户名密码后新的条件成立不了,对代码再次修改

    • 3.修改后进行注入实验成功

    3.XSS攻击

    • 1.1.输入haha先进行简单的测试

    • 跳转到这张图片

  • 相关阅读:
    建站两个月,说说我的想法
    我见过的郭弃疾先生(兰亭集势CEO)
    C#数组和集合互相转换的几种方法的效率分析
    (五)React Ant Design Pro + .Net5 WebApi:后端环境搭建Autofac注入+ 泛型仓储
    关于C++中对私有的测试总结
    uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型(转)
    GDB调试
    linux删除乱码文件
    转:C++ nan
    vim
  • 原文地址:https://www.cnblogs.com/jokebright/p/6826890.html
Copyright © 2011-2022 走看看