20145327 《网络对抗技术》 Web基础

apache

输入apachectl start开启Apach

输入netstat -aptn查看端口占用:apach2占用端口80

20145327 《网络对抗技术》 Web基础-LMLPHP

测试apache是否正常工作:在kali浏览器上输入localhost:80

20145327 《网络对抗技术》 Web基础-LMLPHP

简单的网页编写

进入Apache工作目录cd /var/www/html,新建一个5327.html文件

编写一个简单的含框架的登录界面html

20145327 《网络对抗技术》 Web基础-LMLPHP

恩 非常漂亮(有些尴尬,这个代码是我当时javaweb课程的代码..)有些慌张 决定还是改变一下吧

20145327 《网络对抗技术》 Web基础-LMLPHP

20145327 《网络对抗技术》 Web基础-LMLPHP

简洁漂亮

输入然后点击submit按钮数据会传送到 "html_form_action.php" 的页面,出现的是404

20145327 《网络对抗技术》 Web基础-LMLPHP

javascript

function nameText(){
var name= document.getElementByIdx_x ("username");
var divID= document.getElementByIdx_x ("divName");
divID.innerHTML="";
if(name.value==""){
divID.innerHTML="用户名不能为空";
return false;
}
}
function passText(){
var pass= document.getElementByIdx_x ("password");
var divIP= document.getElementByIdx_x ("divPass");
divIP.innerHTML="";
if(pass.value==""){
divIP.innerHTML="密码不能为空";
return false;
}
}
}
</script>

PHP测试

新建一个PHP测试文件vi test.php

20145327 《网络对抗技术》 Web基础-LMLPHP

用浏览器打开localhost:80/test.pgp

20145327 《网络对抗技术》 Web基础-LMLPHP

MySQL基础

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

20145327 《网络对抗技术》 Web基础-LMLPHP

输入mysql -u root –p,并根据提示输入密码,默认密码为p@ssw0rd,进入MySQL

20145327 《网络对抗技术》 Web基础-LMLPHP

输入show databases;,可以查看基本信息

20145327 《网络对抗技术》 Web基础-LMLPHP

在Mysql中建库建表

CREATE SCHEMA 5327;

CREATE TABLE 5327.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 '');

20145327 《网络对抗技术》 Web基础-LMLPHP

向表中添加用户

use 5327

insert into users(userid,username,password,enabled) values(1,'5327',password("5327"),"TRUE");

20145327 《网络对抗技术》 Web基础-LMLPHP

php+mysql实现登录网页编写

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

在同样的目录下输入vim login.php,通过php实现对数据库的连接

20145327 《网络对抗技术》 Web基础-LMLPHP

登录成功

20145327 《网络对抗技术》 Web基础-LMLPHP

20145327 《网络对抗技术》 Web基础-LMLPHP

不成功登录

20145327 《网络对抗技术》 Web基础-LMLPHP

SQL注入

构造SQL语句:在用户名输入框中输入' or 1=1#,密码随便输入,这时候的合成后的SQL查询语句为select * from users where username='' or 1=1#' and password=md5('')

以下的两句sql语句等价:

select * from users where username='' or 1=1#' and password=md5('')

select * from users where username='' or 1=1

因为1=1永远是都是成立的,即where子句总是为真,所以能够成功登录

20145327 《网络对抗技术》 Web基础-LMLPHP

20145327 《网络对抗技术》 Web基础-LMLPHP

或者在用户名框中输入';insert into users(userid,username,password,enabled) values(444,'5327',password("5327"),"TRUE");#,在数据库中可以直接插入一个伪造的用户名,密码,下次就可以用伪造的用户名密码登录网站了。

20145327 《网络对抗技术》 Web基础-LMLPHP

XSS攻击

<img src="5327.jpg" />5327</a>

20145327 《网络对抗技术》 Web基础-LMLPHP

实验问题回答

  • 1.什么是表单

表单:可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁。 表单包括两个部分:一部分是HTML源代码用于描述表单(例如,域,标签和用户在页面上看见的按钮),另一部分是脚本或应用程序用于处理提交的信息(如CGI脚本)。不使用处理脚本就不能搜集表单数据。

表单通常是交由CGI(公共网关接口)脚本处理。CGI是一种在服务器和处理脚本之间传送信息的标准化方式。CGI脚本比较典型的是使用Perl语言编写,当然也有其他语言如C++,Java,VBScript或JavaScript。在创建交互表单之前,接洽您的ISP或服务器管理员以确认CGI脚本可以在您的服务器上运行。

表单由文本域、复选框、单选框、菜单、文件地址域、按钮等表单对象组成,所有的部分都包含在一个由标识符标志起来的表单结构中。

表单的种类有注册表、留言薄、站点导航条、搜索引擎等。

  • 2.浏览器可以解析运行什么语言

    html,css,javascript

  • 3.WebServer支持哪些动态语言

    jsp、python、nodejs、php、ruby

实验总结与体会

上学期学了刘念老师的JAVAWEB,还是挺喜欢的,最后的实验编个网页虽然编的很LOW,还以为能直接应用过来,php没学过,这次实验做得好心痛疼。

05-11 18:01