20145238荆玉茗-《网络攻防》-Wbe基础

实践过程记录

实践过程记录

一、Apache

1.环境配置

  • 使用apachectl start开启Apach,使用netstat -aptn查看端口占用,发现被进程686占用,使用命令sudo vi /etc/apache2/ports.conf将配置文件中默认监听端口改为8080,





  • 再次打开Apacheservice apache2 restart,登录localhost:8080 可以看见上次生成的钓鱼网站

2.网页编写

  • 在Apache工作目录下新建一个文件

  • 编写含有表单的html

  • 在浏览器中访问:localhost:8080/5238.html,出现如下界面

  • 点击Login登录未定义,所以出现404

3.Javascript

  • JavaScript 可用来在数据被送往服务器前对 HTML 表单中的这些输入数据进行验证。E-mail 验证下面的函数检查输入的数据是否符合电子邮件地址的基本语法。(输入的数据必须包含 @ 符号和点号(.)。同时,@ 不可以是邮件地址的首字符,并且 @ 之后需有至少一个点号)
<html>
<head>
<script type="text/javascript">
function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@")
dotpos=value.lastIndexOf(".")
if (apos<1||dotpos-apos<2)
{alert(alerttxt);return false}
else {return true}
}
} function validate_form(thisform)
{
with (thisform)
{
if (validate_email(email,"Not a valid e-mail address!")==false)
{email.focus();return false}
}
}
</script>
</head> <body>
<form action="submitpage.htm"onsubmit="return validate_form(this);" method="post">
Email: <input type="text" name="email" size="30">
<input type="submit" value="Submit">
</form>
</body> </html> <html>
<head>
<script type="text/javascript">
function validate_email(field,alerttxt)
{
with (field)
{
apos=value.indexOf("@")
dotpos=value.lastIndexOf(".")
if (apos<1||dotpos-apos<2)
{alert(alerttxt);return false}
else {return true}
}
} function validate_form(thisform)
{
with (thisform)
{
if (validate_email(email,"Not a valid e-mail address!")==false)
{email.focus();return false}
}
}
</script>
</head> <body>
<form action="submitpage.htm"onsubmit="return validate_form(this);" method="post">
Email: <input type="text" name="email" size="30">
<input type="submit" value="Submit">
</form>
</body> </html>

4.PHP测试

  • 新建PHP测试文件vi /var/www/html/test.php

  • 浏览器打开如下网页,可以看见测试成功。

5.MySQL基础

  • 开启sql服务/etc/init.d/mysql start

  • 进入mysql -u root –p,密码为p@ssw0rd,可能第一次会失败,分步来就成功了。

  • 查看基本信息(别忘了还有分号)

  • 创建新表、新库

CREATE SCHEMA 库表的名称;

CREATE TABLE 库表的名称.users (

userid INT NOT NULL COMMENT '',

username VARCHAR(45) NULL COMMENT '',

password VARCHAR(256) NULL COMMENT '',

enabled VARCHAR(5) NULL COMMENT '',

PRIMARY KEY (userid) COMMENT '');

  • 向表中添加用户,添加了5238的用户ID和5238的password

6.php+mysql实现登录网页编写

  • .在/var/www/html文件夹下输入vim login.html,编写登录网页



  • 建立.php

  • 在浏览器中登录localhost:8080/login.html可以看见自己的登录界面。

(数据库连接成功,但是数据库中并没有这个登录者的信息)

(这是刚才添加的用户)

  • 实现登录成功后跳转页面header("Refresh:3;url=welcome.php");

7.SQL注入

  • SQL注入是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

  • 在用户输入框中输入' or 1=1#,意为select * from users where username='' or 1=1#' and password=md5('')因为or之后为永真式,所以总能登录成功。



  • 另外一种方法,在用户框中输入';insert into users(userid,username,password,enabled) values(888,'2014',password("5238"),"TRUE");#伪造用户名密码登录。

8.XXS攻击

  • 用户名使用<img src="xxxx" />XXX</a>,即可跳转到自己的超链接图片。

    已经把图片放在var/www/html文件夹下了,不知道为什么还是加载不了。

实验后回答问题

(1)什么是表单

  • 可以用来与用户交互,实现提交数据的功能。比如文本框、选择框、提交按钮等。提交的数据可以存储或者用来执行其他脚本的工作。

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

  • 最常见的超文本标记语言:HTML;对于脚本编写可以用很多种语言比如PHP、JavaScript、Python、JSP等。

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

  • ASP语言,PHP语言和JSP语言等

实验总结与体会

  • 实验中遇到了一个错误



    因为他的值value1已经被占用,所以要改成2或者3

  • 第二个错误就是XSS攻击的图片总是加载不出来,把图片放在var/www/html文件夹下也还是不行,加上了路径还是没解决,还在解决中...

  • 感觉这次实验就是做了上学期刘念老师的大作业的实验再附加两个攻击实验。对于攻击方面我认为还是很基础很简单的,但是对于网页的编程来说真的感觉重新学了一遍。上学期的知识几乎全部忘完...这次实验让我感受到信息安全的综合性,从前端,到后台,到攻击(;´_`)本次实验所有问题都在代码,但对于八百年不编程的我来说还是非常吃力,光是读懂LTC同学的代码就比较困难了,但是我觉得对于web这边固定的东西还是很多,只要熟能生巧,也能很快的掌握代码。

20145238-荆玉茗《网络对抗技术》-Web基础的更多相关文章

  1. #20145238荆玉茗《网络对抗》-逆向及Bof进阶实践

    20145238荆玉茗<网络对抗>-逆向及Bof进阶实践 实践目的:注入shellcode 准备一段shellcode代码 Shellcode实际是一段代码(也可以是填充数据),是用来发送 ...

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

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

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

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

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

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

  5. 20155311《网络对抗》Web基础

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

  6. 20145216史婧瑶《网络对抗》Web基础

    20145216史婧瑶<网络对抗>Web基础 实验问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能.一个表单有三个基本组成部分: 表单标签.表单域.表单按钮. (2)浏览器可以 ...

  7. 20145227鄢曼君《网络对抗》Web基础

    20145227鄢曼君<网络对抗>Web基础 实验内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建库.创建 ...

  8. 20145312袁心《网络对抗》Web基础实践

    20145312袁心<网络对抗>Web基础实践 问题回答 1.什么是表单: 表单在网页中主要负责数据采集功能. 一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程 ...

  9. 20145321 《网络对抗》 Web基础

    20145321 <网络对抗> Web基础 基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能,一个表单有三个基本组成部分:表单标签——这里面包含了处理表单数据所用CGI程序 ...

  10. 20145330 《网络对抗》 Web基础

    20145330 <网络对抗> Web基础 1.实践内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建库.创 ...

随机推荐

  1. JQuery extend()与工具方法、实例方法

    使用jQuery的时候会发现,jQuery中有的函数是这样使用的: $.get(); $.post(); $.getJSON(); 有些函数是这样使用的: $('div').css(); $('ul' ...

  2. JAVA中LinkedLockingQueue的简单使用

    1.相关知识的了解 阻塞队列:当队列为空时,去队列中取数据会被阻塞.当队列满时,往队列中放数据会被阻塞.   非阻塞队列:当队列为空时,去队列取数据会直接返回失败,队列满时,往队列中放数据会直接返回失 ...

  3. Oracle 数据库字典 sys.obj$ 表中关于type#的解释

    sys.obj$ 表是oracle 数据库字典表中的对象基础表,所有对象都在该表中有记录,其中type#字段表明对象类型,比如有一个表 test ,则该对象在sys.obj$ 中存在一条记录,name ...

  4. 建一个springboot项目

    1.打开 https://start.spring.io/ 新建一个maven的demo,这里选择的是1.5.18的版本 2.将自动生成的demo导入eclipse,直接选中File里的import, ...

  5. 快速搭建maven私服 Artifactory on Docker

    1.下载官方镜像 docker pull docker.bintray.io/jfrog/artifactory-oss:latest 2.启动容器 docker run --name artifac ...

  6. crontab 切割日志

    cutlog.sh #!/bin/sh source /etc/profile D=$(date "+%Y%m%d%H%M%S") mv "/usr/local/Cell ...

  7. File中mkdir()和mkdirs()的区别

    mkdir() 创建此抽象路径名指定的目录.只能在已经存在的目录中创建文件夹 如: File folder = new File("d:\\test1\\test2"); fold ...

  8. MySQL数据库(1)----入门级操作

    1.在服务器主机上以 root 用户登陆,创建位于其他客户端的新用户: mysql> CREATE USER 'newuser'@'192.168.1.109' IDENTIFIED BY 'p ...

  9. Git学习-Git配置(一)

    零.前言 Git是一个工具,就没必要把时间浪费在那些"高级"但几乎永远不会用到的命令上.一旦你真的非用不可了,到时候再自行Google或者请教专家也未迟. 如果你是一个开发人员,想 ...

  10. Java 多线程使用

    工作中遇到的问题,记录下解决的思路 问题: 对磁盘进行碎片化测试(比如说,磁盘空间是16G),从64K开始写文件,写满后删除一半,然后写32K 的数据,写满后删除一半...直到4K写满删除一般算是结束 ...