• 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先进行简单的测试

    • 跳转到这张图片

  • 相关阅读:
    FHQ Treap(无旋 Treap)详解
    [CSP-S 2021] 廊桥分配 题解
    Splay Tree(伸展树)详解
    爬虫工程师也应该会的 NodeJS 知识(一)
    网站加密和混淆技术总结
    ip地址
    索引
    go try。。。catch
    python常见问题
    python实现发布订阅
  • 原文地址:https://www.cnblogs.com/jokebright/p/6826890.html
Copyright © 2020-2023  润新知