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

  • 跳转到这张图片

posted @ 2017-05-08 19:28  joke-bright  阅读(176)  评论(-1编辑  收藏  举报