20145206邹京儒 Exp8 Web基础

一、实践过程记录

Apache

(一)环境配置

1、查看端口占用:在这里apach2占用端口80

2.测试apache是否正常工作:在kali的火狐浏览器上输入localhost:80

(二)简单的网页编写

1.访问Apache工作目录cd /var/www/html,新建一个20145206.html文件

2.编写一个含有表单的html

3.打开浏览器访问:localhost:80/20145206.html,成功出现如下界面

4、由于没有对此页面 "html_form_action.php"进行编辑,出现的是404

(三)javascript相关

1、概念:JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

2、DOM:DOM= Document Object Model,文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。换句话说,这是表示和处理一个HTML或XML文档的常用方法。

3.编写验证用户名和密码的规则:

function nameText(){
var name= document.getElementByIdx_x ("username");
var divID= document.getElementByIdx_x ("divName");
divID.innerHTML="";
if(name.value==""){
divID.innerHTML="用户名不能为空";
return false;
}
}
function passText(){
var pass= document.getElementByIdx_x ("password");
var divIP= document.getElementByIdx_x ("divPass");
divIP.innerHTML="";
if(pass.value==""){
divIP.innerHTML="密码不能为空";
return false;
}
}
}
</script>

(四)PHP测试

1.新建一个PHP测试文件



2.用浏览器打开localhost:80/test.php

(五)MySQL基础

1.开启sql服务,输入mysql -u root –p,并根据提示输入密码,默认密码为p@ssw0rd,进入MySQL



2、查看基本信息

3、修改密码:

·输入use mysql;,选择mysql数据库

·输入select user, password, host from user;,mysql库中的user表中存储着用户名、密码与权限

·输入UPDATE user SET password=PASSWORD("新密码") WHERE user='root';

·输入flush privileges;,更新权限

·输入quit退出

4、检测新密码能否成功使用,能成功登录即可。

5.在Mysql中建库建表

6.向表中添加用户

(六)php+mysql实现登录网页编写

1、编写登录网页



2、输入vim login.php,通过php实现对数据库的连接

3.在火狐浏览器中输入localhost:80/login.html,访问自己的登陆页面

4、输入之前存储的用户名密码就会显示连接成功:

5.加一行代码header("Refresh:3;url=welcome.php");,实现在3秒之后跳转到welcome.php页面,这样看起来好看一些

(七)SQL注入

1、构造SQL语句:在用户名输入框中输入' or 1=1#,密码随便输入

2、因为1=1永远是都是成立的,即where子句总是为真,所以能够成功登录

3、第二种是在用户名中写入';insert into users(userid,username,password,enabled) values(888,'5206',password("20145206"),"TRUE");#,通过SQL注入将用户名和密码保存在数据库中

4、出来的界面如下:

(八)XSS攻击

1、将保存的图片重命名拷贝到/var/www/html目录下,在用户名输入框中输入5206,给出图片超链接



2、再次登陆后,可以看见5206.jpg

二、实验后回答问题

(1)什么是表单

表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。 表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。

(2)浏览器可以解析运行什么语言。

html,css,javascript等脚本语言

(3)WebServer支持哪些动态语言

ASP语言,PHP语言和JSP语言

三、实验总结与体会

这次实验的工作量还是蛮大的,涉及到了《网络安全编程》方面的知识,虽然已经在刘念老师的课上学过相关知识,但在实际使用中还是会遇到问题,虽然实验做完了,但这还是远远不够的,对知识的理解以及代码的编写方面依然存在很多问题,希望可以通过进一步的学习收获到更多~

20145206邹京儒 Exp8 Web基础的更多相关文章

  1. 20145206邹京儒 web安全基础实践

    20145206邹京儒 web安全基础实践 一.实践过程记录 关于WebGoat 1.我们在命令行里执行:java -jar webgoat-container-7.0.1-war-exec.jar运 ...

  2. 20145206邹京儒MSF基础应用

    20145206邹京儒MSF基础应用 一.MS08_067漏洞渗透攻击实践 实验前准备 1.两台虚拟机,其中一台为kali,一台为windows xp sp3(英文版). 2.在VMware中设置两台 ...

  3. 20145206邹京儒《网络对抗》逆向及Bof基础实践

    20145206邹京儒<网络对抗>逆向及Bof基础实践 1 逆向及Bof基础实践说明 1.1 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:ma ...

  4. 20145206邹京儒《Java程序设计》课程总结

    20145206邹京儒<Java程序设计>课程总结 (按顺序)每周读书笔记链接汇总 第一周:http://www.cnblogs.com/ZouJR/p/5213572.html http ...

  5. 20145206邹京儒 EXP7网络欺诈技术防范

    20145206邹京儒 EXP7网络欺诈技术防范 一.实践过程记录 URL攻击实验前准备 1.在终端中输入命令:netstat -tupln |grep 80,查看80端口是否被占用,如下图所示 2. ...

  6. 20145206邹京儒Exp6 信息搜集与漏洞扫描

    20145206邹京儒Exp6 信息搜集与漏洞扫描 一.实践过程记录 openvas漏洞扫描 1.openvas-check-setup来查看下他的安装状态: 如下图所示:在步骤7中出现错误,显示需要 ...

  7. 20145206邹京儒《网络对抗技术》 PC平台逆向破解

    20145206邹京儒<网络对抗技术> PC平台逆向破解 注入shellcode并执行 一.准备一段shellcode 二.设置环境 具体在终端中输入如下: apt-cache searc ...

  8. 20145206邹京儒《Java程序设计》第8周学习总结

    20145206 <Java程序设计>第8周学习总结 教材学习内容总结 第十四章 NIO与NIO2 14.1 认识NIO NIO使用频道(Channel)来衔接数据节点,在处理数据时,NI ...

  9. 20145206邹京儒《Java程序设计》第2周学习总结

    20145206 <Java程序设计>第2周学习总结 教材学习内容总结 一.类型 Java可区分为基本类型和类类型两大类型系统,其中,类类型也称为参考类型. 在Java中的基本类型主要可区 ...

随机推荐

  1. 机器学习TensorFlow安装经过摘要

    第一步:我在Github上面下载了TensorFlow项目源码 第二步:在tensorflow-master/tensorflow/docs_src/install里面找到了install_mac.m ...

  2. 东哥讲义2 - 基于TCP,UDP协议的攻击,分析与防护

    TCP SYN FLOOD 攻击 正常的TCP三次握手过程: 处于SYN FLOOD攻击状态时的三次握手过程: 查看示例:x_syn.c文件,一个实现了自定义mac,ip,tcp头部的syn floo ...

  3. HTML 标签大全及属性

    基本结构标签: <HTML>,表示该文件为HTML文件 <HEAD>,包含文件的标题,使用的脚本,样式定义等 <TITLE>---</TITLE>,包含 ...

  4. Jmeter(十六)_beanshell实现字符串加密

    Jmeter内置的没有MD5加密方法,所以需要写一些java代码实现加密功能,以下是具体操作: 1:用eclipse建个工程(包名.类名.方法名自己起) package com.wjika.test; ...

  5. JS "trycatch工厂模式"

    大家都用过Ajax的异步交互,下面的代码中使用  "trycatch工厂模式"  来进行针对Ajax请求对象的变化点进行封装 <script type="text/ ...

  6. Flip Game---poj1753(状压+bfs)

    题目链接:http://poj.org/problem?id=1753    题意:是有一个4X4的图,b代表黑色,w代表白色,问最少翻转几次可以把所有的点变成白色或者黑色,每次翻转一个点时,可以把它 ...

  7. BPDU报文(RSTP)

    与STP 的BPDU报文格式相同,就是在flags字段报文中间几位得到应用 主要原理:利用flages位中的Proposal与Agreement来进行协商,从而快速从 discarding 转成 fo ...

  8. 代码这样写更优雅(Python版)

    要写出 Pythonic(优雅的.地道的.整洁的)代码,还要平时多观察那些大牛代码,Github 上有很多非常优秀的源代码值得阅读,比如:requests.flask.tornado,笔者列举一些常见 ...

  9. 开源的挖矿软件,sha256

    http://cryptomining-blog.com/tag/sha-256d-miner/ https://github.com/cbuchner1/CudaMiner/blob/master/ ...

  10. Scala里面如何使用枚举

    枚举通常用来定义已知数量的常量,比如月份,星期,季节等等,用过java的人都知道定义枚举的关键字是enum,在scala里面和java有所不同,来看一个完整的例子定义: object EnumTest ...