2017-2018-2 20155225《网络对抗技术》实验八 Web基础
2017-2018-2 20155225《网络对抗技术》实验八 Web基础
1、Web前端HTML
输入命令apachectl start打开apahce,并使用netstat -aptn查看端口号,确认apache启动成功,如图所示,监听端口是80:

在浏览器里输入http://127.0.0.1,可以访问到Apache默认页面,证明Apache可以正常工作。

.测试:apache可读取工作目录下的文件
在/var/www/html/目录下,写一个测试的txt文档,在浏览器里打开127.0.0.1/test.txt,可看到test.txt的内容,如图:

写一个有表单提交的网页:
在/var/www/html/目录下,写一个html文件:
<html>
<body>
<form action="/demo/demo_form.asp">
User name:<br>
<input type="text" name="un" value="20155225">
<br>
Password:<br>
<input type="password" name="pw" >
<br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
用浏览器打开效果如下:

再给它增加一个彩色的css:
<head>
<meta charset="utf-8">
<style>
body
{
background-color:#d0e4fe;
}
input
{
color:orange;
text-align:center;
}
</style>
</head>
效果如图:

2、web前端,JavaScript
用JavaScript检查一下,用户名密码的位数有没有超过规定值。
<script>
function inputTest(){
if (document.getElementById("1").value.length<=8){
return true
} else {
alert("The student number cannot exceed 8!")
return false;
}
}
</script>
学号不能超过8位,如果超过8位会提示:

3、web后端,php
在/var/www/html/目录下,写一个test.php,进行测试:
<?php
echo "我的第一段 PHP 脚本!";
?>

尝试写了一个php,接受前端传过来的用户名,并打印出来:
<html>
<body>
Welcome <?php echo $_POST["un"]; ?><br>
</body>
</html>
成功跳转到php,如图所示:

4、web后端,mysql
开启MySQL服务,使用root权限进入,默认的密码是password

使用create database user;新建user数据库,并用show databases;查看数据库

使用use user;命令使用user数据库,同时,使用create table login (字段设定列表);建立数据库表,并设置字段基本信息:

使用insert into login values('201155225','jzy123');插入数据:

grant select on user.login to river@localhost identified by "1";将对user.login进行查询的权限赋给本机登录的River用户。

5、php+mysql
综合运用php和mysql,实现将前端用户名和口令,传到后端php,在php中连接数据库,进行查询,并返回查询结果。
<?php
$uname=$_POST["un"];
$pwd=$_POST["pw"];
echo "welcome";
echo $uname;
$query_str="SELECT * FROM login where username='$uname' and password='$pwd';";
$mysqli = new mysqli("127.0.0.1", "river", "1", "user");
/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
/* Select queries return a resultset */
if ($result = $mysqli->query($query_str)) {
if ($result->num_rows > 0 ){
echo "<br> login success! <br> ";
}
else {
echo "<br> login failed! <br> " ; }
/* free result set */
$result->close();
}
$mysqli->close();
?>
登录成功!

6、SQL注入和XSS攻击
- sql注入:
后台sql语句为SELECT * FROM login where username='$uname' and password='$pwd';
如果输入用户名时,输入为20155225'#,那后面口令就被注释掉了。

- xss攻击:
在用户名输入框输入 < img src="20155225.jpg" />,对应到php中,就是echo < img src="20155225.jpg" /> ,然后既可以查看到图片了。
开始尝试的时候,攻击成功了,但图片一直加载不出来,后来给图片加上权限就可以了。

实验问题回答
1.什么是表单
表单可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁。
一个表单有三个基本组成部分: 表单标签
表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等
表单按钮:包括提交按钮、复位按钮和一般按钮.
2.浏览器可以解析运行什么语言
超文本标记语言:HTML
可扩展标记语言:XML
脚本语言:ASP、PHP、Script、JavaScript、VBScript、Perl、Python、ColdFusion、Java、JSP等
3.WebServer支持哪些动态语言
比较常用的有PHP语言和JSP语言。
实验总结与体会
第一次接触了SQL注入、XSS注入攻击,这些注入非常巧妙,简直防不胜防,所以web安全有非常广阔的探索空间,进一步学习web安全,要更加努力了!
2017-2018-2 20155225《网络对抗技术》实验八 Web基础的更多相关文章
- 20155201 网络攻防技术 实验八 Web基础
20155201 网络攻防技术 实验八 Web基础 一.实践内容 Web前端HTML,能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. We ...
- 2017-2018-2 20155314《网络对抗技术》Exp8 Web基础
2017-2018-2 20155314<网络对抗技术>Exp8 Web基础 目录 实验内容 实验环境 基础问题回答 预备知识 实验步骤 1 macOS下Apache的配置 2 macOS ...
- 20145231熊梓宏 《网络对抗》 实验8 Web基础
20145231熊梓宏 <网络对抗> 实验8 Web基础 基础问题回答 ●什么是表单? 表单是一个包含表单元素的区域,表单元素是允许用户在表单中输入信息的元素,表单在网页中主要负责数据采集 ...
- 20165101刘天野 2018-2019-2《网络对抗技术》Exp8 Web基础
20165101刘天野 2018-2019-2<网络对抗技术>Exp8 Web基础 1.实验内容 1.1 Web前端HTML (1)输入命令service apache2 start启动A ...
- 20165214 2018-2019-2 《网络对抗技术》Exp8 Web基础 Week11—12
<网络对抗技术>Exp8 Web基础 Week11-12 一.实验目标与内容 1.实践内容 (1).Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与P ...
- 2018-2019-2 网络对抗技术 20165322 Exp8 Web基础
2018-2019-2 网络对抗技术 20165322 Exp8 Web基础 目录 实验原理 实验内容与步骤 Web前端HTML Web前端javascipt Web后端:MySQL基础:正常安装.启 ...
- 2018-2019-2 20165210《网络对抗技术》Exp8 Web基础
2018-2019-2 20165210<网络对抗技术>Exp8 Web基础 实验内容: Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法 ...
- 2018-2019-2 网络对抗技术 20165205 Exp8 Web基础
2018-2019-2 网络对抗技术 20165205 Exp8 Web基础 1.原理与实践说明 1.1实践内容 Web前段HTML:能正常安装.启停Apache.理解HTML,理解表单,理解GET与 ...
- 2018-2019-2 20165235《网络对抗技术》Exp8 Web基础
2018-2019-2 20165235<网络对抗技术>Exp8 Web基础 实践过程记录: (1).Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与 ...
- 2018-2019 2 20165203 《网络对抗技术》Exp8 Web基础
2018-2019 2 20165203 <网络对抗技术>Exp8 Web基础 实验要求 1.本实践的具体要求有: (1) Web前端HTML(0.5分) 能正常安装.启停Apache.理 ...
随机推荐
- JAVA记录-SpringMVC scope属性的两种模式
singleton作用域:当把一个Bean定义设置为singleton作用域是,Spring IoC容器中只会存在一个共享的Bean实例,并且所有对Bean的请求,只要id与该Bean定义相匹配,则只 ...
- CM记录-Hadoop运维管理
1.自动化运维--cloudera manager 2.手动运维 a.启动./start.all.sh,停止./stop-all.sh b.hdfs启动/停止:./start-dfs.sh ./s ...
- 小心错误使用EasyUI 让网站性能减半
先不谈需求,和系统架构,直接上来就被抛来了一个问题----基础性能太差了,一个网页打开要好几秒.我了个天,我听了也简直不敢相信,难道是数据量特别大?还是其中业务逻辑特别复杂? 简单的介绍下,基础系统是 ...
- 【JUC】JDK1.8源码分析之ReentrantReadWriteLock
重入锁ReentrantLock是排他锁,排他锁在同一时刻仅有一个线程可以进行访问,但是在大多数场景下,大部分时间都是提供读服务,而写服务占有的时间较少.然而读服务不存在数据竞争问题,如果一个线程在读 ...
- android studio 统一管理版本号配置
1.在android 的根目录新建一个versions.gradle 2.在这里面声明 各个第三方库的版本,写法有两种,第一种,写ext 扩展, 引用的时候, 第二种: 然后在project级的bui ...
- ECharts(中国地图)的使用 及 非空 tooltip formatter 验证
中国地图使用频率很高下载文件: echarts.min.js网址: http://echarts.baidu.com/download.html点击: ...
- VS设置以管理员方式运行
一直以为VS不能直接以管理员方式运行,原来它是在高级里的.
- EasyUI动态修改easyui-textbox验证信息
<tr> <td>编码:</td> <td><input type="text" id="code" na ...
- Guava Immutable 不可变集合
Immutable是为了创建不可变集合使用,不可变集合在很多情况下能提高系统性能.一般使用 .of()或者.builder()<>().put().build()初始化创建不可变集合
- 时间轴QTimeLine
一个动画由多张静态图片组成,每一张静态图片为一帧.每隔一定时间显示一帧,如果时间间隔非常短的话,那这些静态图片就会构成一个连续影像,动画由此而来.QTimeLine提供了用于控制动画的时间轴,它在实现 ...