Web基础

实验后回答问题

  • 什么是表单?

表单在网页中主要负责数据采集功能。

一个表单有三个基本组成部分:

表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。
表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。
表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。
  • 浏览器可以解析运行什么语言?
超文本标记语言:HTML
可扩展标记语言:XML
脚本语言:ASP、PHP、Script、JavaScript、VBScript、Perl、Python、ColdFusion、Java、JSP等
  • WebServer支持哪些动态语言?

ASP语言、PHP语言、JSP语言

实验总结与体会

实验漫长而艰辛,这次试验比较小的点很多,总是漏了点啥容易,比如mysql的“;”好多次才记住,编html还是比编其他的简单有趣许多。写博客的自我修养,不停的截图,因为很可能下一次就失败了。。但也是在这个过程中不断巩固提高自己

实践过程记录

Apache

  • 输入命令 sudo vi /etc/apache2/ports.conf下设置的Apache监听端口号为5240

  • 通过apachectl start开启Apache,使用netstat -aptn查看端口占用,发现apache2占用端口5240

  • 测试apache是否正常工作:在kali浏览器上输入localhost:5240 正常,仍是上次伪装的网页

Web前端HTML

  • 命令cd /var/www/html,新建一个5240.html文件,并用vim编写一个含有表单的html

  • 在浏览器中输入localhost:5240/5240.html会跳转到所编写代码的界面,效果如下

  • 由于还没有编写.php文件,因此在文本框中输入内容,并点击提交,是无法连接的,所以会跳转到以下网址,并显示错误404

Web前端javascipt

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>网络攻防课程登录页面</title>
<script language="javascript">
function isEmpty(){
var id = document.login.username.value ;
var pwd = document.login.password.value ;
if (id ==""){
alert("请输入用户名!");
return false ;
}
if (pwd ==""){
alert("请输入密码!");
return false ;
}
}
</script>
</head> <body bgcolor="#CCFFFF">
<br><br><br><br><br><br><br><br><br><br><br><br><br>
<center>
<center>网络攻防课程登录页面</center><br>
<center>
<form name="login" action="login.php" method="get" >
学号:<input type="text" name = "username"> <br><br>
密码:<input type="password" name = "password"> <br><br>
班级:
<select name="class">
<option>1443</option>
<option>1452</option>
<option>1453</option>
</select>班
<br><br>
<input type = "submit" value = "提交" onClick="return isEmpty()">
</center>
</form>
</center>
</body>
</html>
  • 要求必须输入学号及密码,再次打开html界面,只输入学号会发现提示需要密码

  • 只输入密码会输入提示需要用户名

php测试

  • php测试代码:
<?php
echo ($_GET["A"]);
include($_GET["A"]);
echo "this is my first php page!<br>";
?>
20145240

Web后端

  • 启动:/etc/init.d/mysql start

  • 登录mysql,并输入密码(默认p@ssw0rd)

  • 修改mysql密码(注意命令都以;结尾)

  • 创建数据库:creat database lsj;

  • 使用数据库:use lsj;

  • 在数据库中创建数据表:create table info (username VARCHAR(32), password VARCHAR(64), phone VARCHAR(11), class VARCHAR(4));

  • 查看:show tables;

  • 添加数据并查看

Web后端

  • 测试:编写一个php进行验证,可以提取出用户名、密码、班级信息

  • 在浏览器中填写如下信息,会被提取出来

  • php脚本语言
<?php

$uname=($_GET["username"]);
$pwd=($_GET["password"]);
$class=($_GET["class"]); /* echo $uname; */ $query_str="SELECT * FROM info where username='{$uname}' and password=password('{$pwd}') and class='{$class}';"; /* echo "<br> {$query_str} <br>";*/ $mysqli = new mysqli("127.0.0.1", "root", "20145240", "lsj"); /* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
echo "connection ok!<br> ";
/* Select queries return a resultset */
if ($result = $mysqli->query($query_str)) {
if ($result->num_rows > 0 ){
echo "Wellcome login:{$uname} <br> ";
} else {
echo "login failed!!!! <br> " ;
} /* free result set */
$result->close();
} $mysqli->close();
?>
  • 再次打开浏览器测试

  • 若用户名或密码错误

简单SQL注入与XSS

获取权限

  • 在用户名输入框中输入' or 1=1#,此为永真式,合成后的SQL查询语句为select * from users where username='' or 1=1#' and password=md5(''),1=1永真,所以这条语句为真为真,故可以成功登录

删除用户

  • 在用户名输入框中输入';DELETE FROM info WHERE username='lsj';#

  • 再次查看数据库中 lsj那一条已经被删除

xss

  • XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。

  • 用户名输入:<img src="5240.jpg">20145240</a>,密码随意,点击登录

  • 登录成功后

  • 点击start a new post,可以开始发帖

  • 提交之后跳转到如下界面,可以选择check查看发过的帖子、继续发帖CLICK TO START A NEW POST、返回back或者退出登录Log Out(20145240)

  • 查看发过的贴子

20145240《网络对抗》Web基础的更多相关文章

  1. 网络对抗——web基础

    网络对抗--web基础 实践内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表 (4)Web ...

  2. 20145306 张文锦 网络攻防 web基础

    20145306 网络攻防 web基础 实验内容 WebServer:掌握Apache启停配置修改(如监听端口)前端编程:熟悉HTML+JavaScript.了解表单的概念编写不同的HTML网页,放入 ...

  3. 20145334赵文豪网络对抗Web安全基础实践

    1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉 ...

  4. 20155324《网络对抗技术》web安全基础实践

    20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...

  5. 20155324王鸣宇 《网络对抗技术》Web基础

    20155324王鸣宇 <网络对抗技术>Web基础 实践要求 ①Web前端HTML: 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HT ...

  6. 2017-2018-2 20155228 《网络对抗技术》 实验九:Web安全基础

    2017-2018-2 20155228 <网络对抗技术> 实验九:Web安全基础 1. 实践内容 1.1 标理解常用网络攻击技术的基本原理 1.2 在Webgoat实验环境下实践相关实验 ...

  7. 2017-2018-2 20155228 《网络对抗技术》 实验八:Web基础

    2017-2018-2 20155228 <网络对抗技术> 实验八:Web基础 1. 实践内容 1.1 Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET ...

  8. 20155208徐子涵《网络对抗》Exp9 Web安全基础

    20155208徐子涵<网络对抗>Exp9 Web安全基础 实验要求 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验过程 最后一次了,没有选择尝试免考项目 ...

  9. 20155208徐子涵 《网络对抗技术》Web基础

    20155208徐子涵 <网络对抗技术>Web基础 实验要求 Web前端HTML Web前端javascipt Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密 ...

随机推荐

  1. 170421、maven自定义变量及属性

    一.自定义变量 <!-- 全局属性配置 --> <properties> <project.build.name>tools</project.build.n ...

  2. Exchange OAB(Offline Address Book)

    If Outlook is left running constantly in Cached Exchange Mode, it updates the Offline Address Book a ...

  3. xpath scrapy shell

    w from scrapy.spider import Spider from scrapy.crawler import CrawlerProcess import pymysql conn = p ...

  4. win10 计算器calc命令打不开

    解决方法: 1.用管理员身份运行WindowsPowerShell: 2.用控制台命令Get-AppxPackage读取微软应用列表: 3.找到NAME那里有Windows calculator的,这 ...

  5. arcgis server 无法手动删除切片

    背景 问题 场景如下: 切片放置在专门的文件服务器上,通过unc共享路径对外共享.文件服务器的OS为windows server2008R2 想手动更新切片服务的切片.发现同一切片服务,有的比例级别文 ...

  6. css冲突2 要关闭的css在项目代码以外,但是是通过<link>标签引入的css(例如bootstrap):解决方法,在APP.css中使用全局样式

    css冲突,导致html字体过小. 通过浏览器检查发现,导致字体过小的css来自bootstrap. 现要关闭bootstrap的css: 直接在APP.css中添加: html{ font-size ...

  7. git学习------> Gitlab如何进行备份恢复与迁移?

    前段时间,在某台CenterOS服务器上搭建了Gitlab环境,并且大家陆陆续续的都把代码从svn迁移到了gitlab,但是之前的CenterOS服务器并不是搭建在公司的机房环境,而是搭建在办公室的某 ...

  8. Java 输入/输出流

    1. 编码问题 在介绍输入输出之前我们先介绍下关于编码的一些基本知识点.当一个文件里既有中文字符又有英文字符时.他们在不同的编码方式下会占领不同的内存: 1. ANSI 中文占领 2 个字节的内存空间 ...

  9. SpringBoot-模板渲染

    模板 开发Web站点的本质,其实就是根据浏览器发起的请求(输入),生成HTML代码返回给浏览器(输出).在之前的学习中,我们已经通过文件的形式存储起来而不是直接在Java代码中生成HTML代码.另一方 ...

  10. python web框架 django 添加环境变量

    C:\Users\Administrator.QH-20170325TNQR\AppData\Local\Programs\Python\Python36\Scripts把环境变量加上 可以在本地执行 ...