20145331魏澍琛《网络对抗》Exp8 Web基础

实践内容:

1、简单的web前端页面(HTML、CSS等)
2、简单的web后台数据处理(PHP)
3、Mysql数据库
4、一个简单的web登陆页面例子
5、SQL注入、XSS攻击

Web前端:HTML基础

1、先将apache的端口号设为80(上节已经设置好了),接着结束掉占用80端口的进程,再启动apache。

2、在/var/www/html目录下创建20145331wsc.html文件,即前端文件。

附:检查第一步是否成功只需在浏览器中输入localhost:80,显示的是上节课的那个假冒的网站。

3、接下来就是html编程了,程度有限,就简单编了一个用户登录的界面。

4、在浏览器的网址输入栏输入相应的端口号和html文件名,查看一下刚刚编的前端的成果,咦竟然还挺好看。

PHP测试

1、第三张图看到我将action设置为20145331wsc.php,即跳转到这个php文件上去,那我还没有写这个php文件,点击提交当然显示找不到该文件。

2、没有写那就开始写呗,先写了一个简单的php文件。

3、写好和html文件保存在一个目录下,再点击submit就可以跳转了。

Web前端:javascript基础

1、JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

2、DOM,文档对象模型的缩写,是处理可扩展标志语言的标准编程接口,针对不同的语言有不同的DOM,比如HTML DOM、XML DOM;以HTML DOM为例,HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法,或者这样说,HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。

3、举一个简单的例子,这段代码会警告你用户名和密码不能为空,即实现对用户名和密码填写规则的验证。

<script language="javascript">
<script language="javascript"> function isEmpty(){
var id = document.login.usrname.value ;
var pwd = document.login.password.value ;
if (id ==""){
alert("请输入用户名!");
return false ;
} if (pwd ==""){
alert("请输入密码!");
return false ;
}
}

Web后端:MySQL基础

这个东西说白了就相当于数据库,不难不过要注意好多细节,比如输命令时后面一定要有分号!!!

1、先开启mysql服务,并且根据初始密码进入mysql。(p@ssw0rd)

2、显示一下里面的数据,了解一下。

3、改一下密码,下次就可以一只手输密码了;再更新一波权限:

4、退出,再用新密码进入,然后干正事,创建一个新的数据库,看看创建成功没有,成功后使用它。

5、一个数据库可以有很多表,那我们在新的数据库中创建新的数据表。

6、有了数据表就往里面写数据,就存个我自己的名字和学号吧(把他们作为用户名和密码),查一下看存进去了没有。

Web后端:PHP基础

PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

1、把第一步创建的php文件用码云上的代码加工一下,这里要注意要在原文件覆盖上自己前面创建的数据表的名字,新设定的密码,和新创建的数据库的名字。

2、改好了以后,用数据表中存的数据登录一下看看:

3、随便输一个再登,数据表中没有记录,肯定不行(不过还是建立了连接,说明数据库连的没有问题):

到此,web编程部分结束,博客写的很流畅不过过程太遭罪了!哭哭

SQL注入

1、用户名输入' or 1=1#,密码随便写,登录一下(这步忘截图了。。。)

2、结果就是依然登录成功,试想一下如果这是魔兽世界的登录界面,感慨万千啊:

3、改一下php文件中的代码($result = $mysqli->multi_query($query_str),接着用户名输入';insert into wsctable values('zy','0304');#,这就是刚刚往数据表里添加数据的命令,然后密码随便输,出现下面的页面:

4、不过这时你在看看数据表,会发现新增加了一条zy的记录:

5、此时把php文件改回初始的代码,用新添加进数据库中的记录登录,发现登录成功。

XSS攻击测试

1、将一个图片放到之前html文件的同目录下,用户名输入如下所示,可以读取到他:

实验总结与体会

我的java web编程能力不怎么样,所以做本次实验有些吃力,但做完后想想,大体的逻辑都ok,也都能理解(好吧确实也不难),不过无论是输命令还是编程还是要在对细节的把握上多留心一下,不能说只会个大概;实验遇到问题:如php那里,输入正确的用户名密码后,只能建立连接而不能成功登录。最后在蔡馨煜同学的帮助下(这个不是不查实验的暗示!)发现还是php文件的一行代码有误,所以说,细节真的很重要;同时也说明遇到问题时,要冷静分析,到底是哪个模块出了问题,从而做针对性的更改。总之,实验过程很辛苦,结果很满意,是一次很棒的体验;此外这次实验提高了我分析问题的能力,遇到问题,分析并解决问题,这才是实验的意义和老师安排实验的目的所在。辛苦很长时间做出来了预期的效果,还是很有成就感的。

基础问题回答

1、什么是表单?

表单啊,我感觉就是一个框,能填写数据,能选择数据等,主要用来在网页中进行数据收集。

一个表单有三个基本组成部分:表单标签、表单域、表单按钮。

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

html、xml、PHP、JavaScript等脚本语言。

3、WebServer支持哪些动态语言?

JavaScript、JSP、PHP等

20145331魏澍琛《网络对抗》Exp8 Web基础的更多相关文章

  1. 20145331魏澍琛《网络对抗》Exp6 信息搜集与漏洞扫描

    20145331魏澍琛<网络对抗>Exp6 信息搜集与漏洞扫描 问题回答 1.哪些组织负责DNS,IP的管理? DNS域名服务器:绝大多数在欧洲和北美洲,中国仅拥有镜像服务器. 全球一共有 ...

  2. 20145331魏澍琛《网络对抗》Exp5 MSF基础应用

    20145331魏澍琛<网络对抗>Exp5 MSF基础应用 基础问题回答 1.用自己的话解释什么是exploit,payload,encode? exploit:渗透攻击的模块合集,将真正 ...

  3. 20145331魏澍琛《网络对抗》Exp4 恶意代码分析

    20145331魏澍琛<网络对抗>Exp4 恶意代码分析 基础问题回答 1.如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作 ...

  4. 20145331魏澍琛《网络对抗》Exp2 后门原理与实践

    20145331魏澍琛<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 上网时候弹出一个广告说你中奖了,或者你可以贷款10万元之类 ...

  5. 20145331魏澍琛 《网络对抗技术》 PC平台逆向破解

    20145331魏澍琛 <网络对抗技术> PC平台逆向破解 学习任务 1.shellcode注入:shellcode实际是一段代码,但却作为数据发送给受攻击服务器,将代码存储到对方的堆栈中 ...

  6. 20145331魏澍琛《网络对抗》逆向及Bof基础

    20145331魏澍琛<网络对抗>逆向及Bof基础 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任 ...

  7. 20145326蔡馨熤《网络对抗》—— Web基础

    20145326蔡馨熤<网络对抗>—— Web基础 1.实验后回答问题 (1)什么是表单. 表单是一个包含表单元素的区域,表单元素是允许用户在表单中输入信息的元素,表单在网页中主要负责数据 ...

  8. 20155305《网络对抗》Web基础

    20155305<网络对抗>Web基础 实验过程 Web前端:HTML 使用netstat -aptn查看80端口是否被占用(上次实验设置为Apache使用80端口),如果被占用了就kil ...

  9. 20155307实验八 《网络对抗》 Web基础

    20155307实验八 <网络对抗> Web基础 实验过程 Web前端:HTML 使用netstat -aptn查看80端口是否被占用(上次实验设置为Apache使用80端口),如果被占用 ...

随机推荐

  1. GraphLab GraphLab和MapReduce的区别

    https://turi.com/ GraphLab和MapReduce的区别 https://baike.baidu.com/item/GraphLab/16423125 2. GraphLab和M ...

  2. logback多环境配置

    现在项目基本都是要区分测试开发等等一系列环境的,也因此maven,spring之类的都具有profile这类功能,可以针对不同的环境采用不同的配置.因此日志也可能根据不同的环境需要不同的配置.恰巧手头 ...

  3. Python第三方库官网

    Python第三方库官网 https://pypi.python.org/pypi 包下载后的处理: 下载后放到Python的scripts文件夹中(D:\Python3.5\Scripts),用cm ...

  4. 迁移到 Linux:使用 sudo | Linux 中国

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/F8qG7f9YD02Pe/article/details/80976600 https://mmbi ...

  5. 高性能mysql第6章

    第6章,优化配置 https://www.cnblogs.com/musings/p/5913157.html 1:服务器读取的配置文件,可以使用下面的命令查询 admin@iZwz92c0zpe8t ...

  6. Dokcerfile部署webpy,安装imagehash库并运行py脚本获取图片dhash值

    Dockerfile FROM lmurawsk/python2.7 RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple image ...

  7. np.repeat 与 np.tile

    1.Numpy的 tile() 函数,就是将原矩阵横向.纵向地复制.tile 是瓷砖的意思,顾名思义,这个函数就是把数组像瓷砖一样铺展开来. 举个例子,原矩阵: import numpy as np ...

  8. MySQL--教程

    登入登出 首先启动服务,然后 mysql -u root -p 命令输入密码登入. mysql退出三种方法:mysql > exit;mysql > quit;mysql > \q;

  9. dxf cad dwg 文件读写,支持跨平台移植 库

    http://www.pudn.com/Download/item/id/3096684.html 联合开发网 --->绘图程序

  10. cocos代码研究(2)Label学习笔记

    理论部分 Label类继承自Node类,中文翻译文字与字体,通常在应用开发中为模块作为提示和描述的作用,主要有3中不同的创建方式. 1.通过ttf字体包创建,通过指定本地已有的ttf格式的字体文件,创 ...