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

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

apache

输入apachectl start开启Apach
输入netstat -aptn查看端口占用:apach2占用端口80
884676-20170507142012054-1104988781.png

测试apache是否正常工作:在kali浏览器上输入localhost:80
884676-20170507142037304-1150500603.png

简单的网页编写

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

编写一个简单的含框架的登录界面html
884676-20170507143255007-825083581.png
恩 非常漂亮(有些尴尬,这个代码是我当时javaweb课程的代码..)有些慌张 决定还是改变一下吧
884676-20170507144109336-1953346436.png

884676-20170507144059851-63162110.png
简洁漂亮

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

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
884676-20170507150849070-556612092.png

用浏览器打开localhost:80/test.pgp
884676-20170507150931101-1744768224.png

MySQL基础

开启sql服务/etc/init.d/mysql start
884676-20170507151404664-1273817531.png

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

输入show databases;,可以查看基本信息
884676-20170507175638242-2059022561.png

在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 '');
884676-20170507180352898-456126766.png

向表中添加用户
use 5327
insert into users(userid,username,password,enabled) values(1,'5327',password("5327"),"TRUE");
884676-20170507180529601-1054833492.png

php+mysql实现登录网页编写

在/var/www/html文件夹下输入vim login.html,编写登录网页
在同样的目录下输入vim login.php,通过php实现对数据库的连接
884676-20170507182801039-1153277602.png
登录成功
884676-20170507190408742-436890759.png
884676-20170507190851711-1398316550.png

不成功登录
884676-20170507191038039-2145878524.png

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子句总是为真,所以能够成功登录
884676-20170507205657961-1540676723.png
884676-20170507205704226-1334423496.png

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

XSS攻击

<img src="5327.jpg" />5327</a>
884676-20170508204706894-1839855467.png

实验问题回答

  • 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没学过,这次实验做得好心痛疼。

转载于:https://www.cnblogs.com/20145327gc/p/6820682.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值