码迷,mamicode.com
首页 > Web开发 > 详细

20155331《网路对抗》Exp8 WEB基础实践

时间:2018-05-23 02:25:31      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:直接   init   art   条件   技术   mysql基础   脚本   mysq   hce   

20155331《网路对抗》Exp8 WEB基础实践

基础问题回答

什么是表单

表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签,这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。表单域,包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。表单按钮,包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作

浏览器可以解析运行什么语言

浏览器可以解析运行HTML、XML,javascript等脚本语言,对于JS脚本,会调用JS脚本引擎来处理

WebServer支持哪些动态语言

比较常用的有ASP语言,PHP语言和JSP语言,比如JavaScript、JSP、PHP等。

实验体会

这次的实验感觉比以前的都要困难的多,特别是我自己的编程能力也不是特别的好,代码变成了一个很大的问题。不过,虽然说实验过程比较的辛苦,但结果而言还是比较满意的,辛苦很长时间做出来了预期的效果,还是很有成就感的。

实验过程

1.Web前端HTML

输入命令sudo apt-get install apache2进行安装
技术分享图片

输入命令apachectl start启动apahce
技术分享图片

打开失败

于是查看了端口占用的情况,并且杀死了端口,然后再次尝试打开。
技术分享图片

打开成功。

浏览器中输入localhost:80,可以看见我们的Apache是在正常工作的。
技术分享图片

使用cd /var/www/html进入Apache目录下,新建一个简单的含有表单的html文件
技术分享图片
技术分享图片

在浏览器打开:
技术分享图片

2.Web前端:javascipt

在原有5331.html基础上,可以添加一段JavaScript代码,以完成对用户是否填写邮箱和密码的判断。l如下:
技术分享图片
技术分享图片

3.MySQL基础

输入/etc/init.d/mysql start开启MySQL服务:
技术分享图片

输入mysql -u root -p使用root权限进入,
技术分享图片

用show databases;查看基本信息:
技术分享图片

现在来修改密码

输入以下命令修改密码

use mysql;

select user, password, host from user;

UPDATE user SET password=PASSWORD("20155331") WHERE user=‘root‘;

flush privileges;

quit
技术分享图片
技术分享图片

然后重新登录mysql

创建数据库和新表:

create database dzdd;

use dzdd;
技术分享图片

使用create table dzddtable;建立数据表;使用show tables;查看存在的数据表:
create table hgytable (userid VARCHAR(100),username VARCHAR(45),password VARCHAR(256),enabled VARCHAR(5))
技术分享图片

在表中添加内容:
insert into dzddtable values(‘dzdd‘,‘5331‘);
技术分享图片

有了数据表就往里面写数据,再查一下看存进去了没有。
技术分享图片

Web后端:PHP网页

PHP是一种通用开源脚本语言。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

新建一个PHP测试文件vi /var/www/html/dzdd.php测试文件
技术分享图片

从浏览器中直接打开localhost:80/dzdd.php,
技术分享图片

可以看见测试成功

PHP+MySQL实现登录网页编写

在/var/www/html文件夹下输入vim dzdd.html,编写登录网页
技术分享图片

将之前编的登录网页的5331.html代码中form的action属性由#改成dzdd.php,即登录后跳转到HGY.php,再在浏览器中输入localhost:80/5331.html访问自己的登录页面
技术分享图片

SQL注入

在用户名输入框中输入‘ or 1=1#,密码输什么都会成功登陆,原因是这时候的合成后的SQL查询语句为select * from users where username=‘‘ or 1=1#‘ and password=md5(‘‘),#相当于注释符,会把后面的内容都注释掉,而1=1是永真式,所以这个条件肯定恒成立,所以能够成功登陆:

技术分享图片

先在PHP中改语句if ($result = $mysqli->query($query_str))为if ($result = $mysqli->multi_query($query_str)),然后在用户名框中输入‘;insert into users valu(‘7‘,‘15331‘,‘20155331‘,"TRUE");#在数据库中可以直接插入一个伪造的用户名,密码,下次就可以用伪造的用户名密码登录网站了(登录前将if ($result = $mysqli->query($query_str))语句改回来)。
技术分享图片

20155331《网路对抗》Exp8 WEB基础实践

标签:直接   init   art   条件   技术   mysql基础   脚本   mysq   hce   

原文地址:https://www.cnblogs.com/dd1174751354/p/9074675.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!