20145230熊佳炜《网络对抗》实验八:WEB基础

实验目标

  • Web前端HTML:能正常安装、启停Apache。理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML。
  • Web前端javascipt:理解JavaScript的基本功能,理解DOM。编写JavaScript验证用户名、密码的规则。
  • Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表
  • Web后端:编写PHP网页,连接数据库,进行用户认证
  • 最简单的SQL注入,XSS攻击测试

  • 功能描述:用户能登陆,登陆用户名密码保存在数据库中,登陆成功显示欢迎页面。

Apache

  • 首先,我们需要开启apache,因为上一次实验时用的是80端口,所以我们这次要在配置时将80端口改一下,我这里改的是8080。

  • 开启apache2服务后可以查看一下我们的端口占用情况。

  • 可以登录我们kali的IP地址加8080端口号看是否能进入上一次我们实验设定的那个网站的主页。如果可以起进入,则说明apache开启正常。

web前端

  • 我们需要进入apache的工作目录,创建一个名字叫20145230的html文件。
  • 由于我们需要表单提交我们的信息,就要编写一个含有表单的简单html网页。

  • 编写好之后用火狐浏览器访问一下我们的网页,一开始出现的是乱码,原因是我们没有设置我们的编码格式,后面设置为UTF-8之后就能正常显示了。

javascript

  • javascript是一种脚本语言的类型,可以写在我们刚才编写好的web前端里面。

PHP

  • PHP是超文本预处理器,它是一种通用开源脚本语言,主要适用于Web开发领域。
  • 我们可以在html目录下新建一个php测试,测试完后可以从火狐上看到相应测试结果。

MySQL

  • 首先,我们需要哎kali中开启sql服务。

  • 输入密码后可以进入我们的mysql,据说是可以修改密码的,但我觉得没有那个必要。
  • 用show databases可以查看里面的数据库信息。

  • 用show tables可以查看我们数据库中的数据表的信息。

  • 可以用create database创建我们的数据库,用create table来创建我们的数据表,用insert命令可以往我们的表中填写我们的一些用户名和密码信息。

web后端

  • 我们需要进入html文件夹中建立登陆界面的html,然后对其进行编写。

  • 我们还需要建立一个登陆界面的php,也对其进行编写,需要注意的是,我一开始连接时不成功的,原因就是IP地址那我用的是kali地址,而实际上我们大家都要用127.0.0.1。

  • 修改好了之后,用浏览器登陆我们的欢迎界面,输入我们数据库中的用户名和密码,发现登陆成功。

SQL注入

  • SQL注入是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
  • SQL注入可以直接在我们建好的登陆网页上面注入,在用户名那一块儿输入' or 1=1#,密码随便输入什么,发现我们还是可以登陆成功。原因是1=1是永真式,无论我们输入什么它都会判定登陆成功。

  • SQL注入还可以通过修改我们数据库表中的user用户名和密码信息来注入,比如我们添加一个用户之后,用它的用户ID去登陆网页,发现同样可以成功。

XSS攻击

  • XSS表示跨站脚本攻击,通过插入恶意脚本,实现对用户游览器的控制。
  • 一开始需要在kali中选一张图片,然后将它拉到我们的html文件夹中。

  • 在我们登录网页用户名那输入图片的信息,点击登陆后便可以看到我们刚才选的那张图片信息了。

发帖和会话管理

  • 首先在火狐中输入login.php进入我们的登陆界面,然后输入我们的账号和密码即可登陆。

  • 点击start a new post即可发帖。

  • 发帖后我们如果要check历史消息,需要在kali中给予我们data.txt这个文件一定的权限,给定了权限之后浏览器中才能显示出我们的内容。

感受

  • 本次实验涉及到网络编程的一些知识,自己学得不是很扎实,所以做得很慢很艰难,很多东西都是借助别人的代码来做的,大概明白了网络编程中数据库、web前端关系,三者之间缺一不可,前端是显示的画面,数据库负责储存用户信息。还知道了PHP语言功能的强大以及实现的方便性。希望在以后实验中能把学过的东西捡起来,不要学一样忘一样。

基础问答

(1)什么是表单。

答:表单就是负责数据采集功能的控件,它可以收集用户的信息和反馈意见。表单基本上由表单域、表单按钮、复选框、单选框组成。

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

答:可以运行HTML语言,可以运行JavaScript语言,可以运行Python语言,PHP语言等。

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

答:可以支持PHP语言和JSP语言。

20145230熊佳炜《网络对抗》实验八:WEB基础的更多相关文章

  1. 20145230熊佳炜《网络对抗》实验九:web安全基础实践

    20145230熊佳炜<网络对抗>实验九:web安全基础实践 webgoat webgoat的中文是代罪羔羊的意思,而它是一个有很多漏洞的web应用程序,我们可以利用它来研究关于web应用 ...

  2. 20145230熊佳炜《网络对抗》实验五:MSF基础应用

    20145230熊佳炜<网络对抗>实验五:MSF基础应用 主动攻击 首先,我们需要弄一个xp sp3 English系统的虚拟机,然后本次主动攻击就在我们kali和xp之间来完成. 然后我 ...

  3. 20145230熊佳炜《逆向及BOF基础实践》

    20145230熊佳炜<逆向及BOF基础实践> 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件.该程序同时包含另一个代码片段,getShell,会返回一个可用Shell. ...

  4. 2017-2018-2 20155225《网络对抗技术》实验八 Web基础

    2017-2018-2 20155225<网络对抗技术>实验八 Web基础 1.Web前端HTML 输入命令apachectl start打开apahce,并使用netstat -aptn ...

  5. 20155313 杨瀚 《网络对抗技术》实验八 Web基础

    20155313 杨瀚 <网络对抗技术>实验八 Web基础 一.实验目的 1.Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含 ...

  6. 20155201 网络攻防技术 实验八 Web基础

    20155201 网络攻防技术 实验八 Web基础 一.实践内容 Web前端HTML,能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. We ...

  7. 20155235 《网络攻防》 实验八 Web基础

    20155235 <网络攻防> 实验八 Web基础 实验内容 Web前端HTML(0.5分) 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表 ...

  8. 20145226夏艺华 网络对抗技术EXP8 WEB基础实践

    20145226夏艺华 网络对抗技术EXP8 WEB基础实践 实验问题回答 1.什么是表单? 表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CG ...

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

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

随机推荐

  1. LAMP集群项目四 安装apache、php及其插件

    rpm -qa httpd* 查看是否有apache rpm -e httpd-2.2.22.2  卸载该文件,如果不让卸载,则加参数:--nodeps 不做软件中的依赖检查 ./configure ...

  2. 常用MySQL函数

    MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: 系统信息函数: 加密函数: 格式化函数: 一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ...

  3. 一次漫长的服务CPU优化过程

    从师父那里接了个服务,每天单机的流量并不大,峰值tips也并不高,但是CPU却高的异常.由于,服务十分重要,这个服务最高时占用了100个docker节点在跑,被逼无奈开始了异常曲折的查因和优化过程. ...

  4. GCJ 2015R2(Bilingual-最小割)

    Problem C. Bilingual Problem Elliot's parents speak French and English to him at home. He has heard ...

  5. BroadcastReceiver 翻译

    1. 动态注册与退出 If registering a receiver in your Activity.onResume() implementation, you should unregist ...

  6. 前端 javascript 数据类型 字典

    定义字典 a = {"k1":"v1","k2":"v2",}; Object {k1: "v1", ...

  7. DevExpress控件学习总结

    1.Navigation & Layout 1.1 Bar Manager 如果想在窗体或用户控件(user control)上添加工具条(bars)或弹出菜单(popup menus),我们 ...

  8. Spring第五弹—–配置Spring管理的bean的作用域和生命周期

    singleton (默认方式) 在每个Spring IoC容器中一个bean定义只有一个对象实例.默认情况下会在容器启动时初始化bean,但我们可以指定bean节点的lazy-init=“true” ...

  9. 我的第一次NGS分析操作

    部分参考自:生物信息学100个基础问题 —— 番外2: 用Anaconda快速搭建生物信息学分析平台 - 孟浩巍的文章 - 知乎 https://zhuanlan.zhihu.com/p/357114 ...

  10. Linux系统——sed命令

    sed命令精讲 cat工作原理 cat命令只想文件,把文件打开后,将文件中所有内容一次性读到内存中,从内存里一次性输出到屏幕上,此时可能存在内存装不下的情况,因此cat命令只能查看小文件内容,不能读取 ...