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.理 ...
随机推荐
- div中让内容能不换行就尽量不换行.【纯原】
div中让内容能不换行就尽量不换行,部分左对齐,部分右对齐. <html> <head> <title>九歌·少司命</title> <style ...
- 【JUC】JDK1.8源码分析之CyclicBarrier
一.前言 有了前面分析的基础,现在,接着分析CyclicBarrier源码,CyclicBarrier类在进行多线程编程时使用很多,比如,你希望创建一组任务,它们并行执行工作,然后在进行下一个步骤之前 ...
- NTT模板
NTT(快速数论变换)用到的各种素数及原根: https://blog.csdn.net/hnust_xx/article/details/76572828 NTT多项式乘法模板 #include&l ...
- git回滚远程仓库代码/错提master分支的恢复
前言 今天周五了,刚接了个新微服务模块,下班前高高兴兴开发完,提交git代码,jenkins发布到测试环境.突然看到一个提示 我最近提的代码呢?!! 想到可能会提错仓库,转念一想,不对呀,我怎有这么高 ...
- jquery 兼容的滚轮事件
// jquery 兼容的滚轮事件 $(document).on("mousewheel DOMMouseScroll", function (e) { ? : -)) || // ...
- 编写优秀jQuery插件技巧
1. 把你的代码全部放在闭包里面 这是我用的最多的一条.但是有时候在闭包外面的方法会不能调用. 不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所有的代码都放在闭包里面. 而方法可 ...
- android get或post及HttpClient与服务器数据交互
1.Service package mydemo.mycom.demo2.service; import org.apache.http.HttpResponse; import org.apache ...
- linux 网络之 bond 网卡模式
Linux bond模式通过多个网卡绑定技术既能增加服务器的可靠性,又增加了可用网络宽带,为用户提供不间断的网络服务: 七种bond模式: 第一种模式:mod=0 ,即:(balance-rr) Ro ...
- C++常量 运算符
\n 换行 光标移到下一行 \0 空值 \t 水平制表符 \r 回车 光标回到本行开头 ...
- js委托事件和代理事件
转载出处:https://www.cnblogs.com/liugang-vip/p/5616484.html js中的事件委托或是事件代理详解 起因: 1.这是前端面试的经典题型,要去找工作的小伙伴 ...