zoukankan      html  css  js  c++  java
  • 2017-2018-2 20155225《网络对抗技术》实验八 Web基础

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

    1、Web前端HTML

    输入命令apachectl start打开apahce,并使用netstat -aptn查看端口号,确认apache启动成功,如图所示,监听端口是80:

    image

    在浏览器里输入http://127.0.0.1,可以访问到Apache默认页面,证明Apache可以正常工作。

    image

    .测试:apache可读取工作目录下的文件

    在/var/www/html/目录下,写一个测试的txt文档,在浏览器里打开127.0.0.1/test.txt,可看到test.txt的内容,如图:

    image

    写一个有表单提交的网页:

    在/var/www/html/目录下,写一个html文件:

    <html>
    <body>
    
    <form action="/demo/demo_form.asp">
    User name:<br>
    <input type="text" name="un" value="20155225">
    <br>
    Password:<br>
    <input type="password" name="pw" >
    <br><br>
    <input type="submit" value="Submit">
    </form> 
    
    </body>
    </html>
    

    用浏览器打开效果如下:

    image

    再给它增加一个彩色的css:

    	<head>
    		<meta charset="utf-8">
    		<style>
    			body
    				{
    					background-color:#d0e4fe;
    				}
    			input
    				{
    					color:orange;
    					text-align:center;
    				}
    		</style>
    	</head>
    

    效果如图:

    image

    2、web前端,JavaScript

    用JavaScript检查一下,用户名密码的位数有没有超过规定值。

    	<script>
    
    function inputTest(){
    
    	if (document.getElementById("1").value.length<=8){
    		return true
    	} else {
           alert("The student number cannot exceed 8!")
    	        return false;
    	}
    
    }
    
    	</script>
    

    学号不能超过8位,如果超过8位会提示:

    image

    3、web后端,php

    在/var/www/html/目录下,写一个test.php,进行测试:

    <?php
    echo "我的第一段 PHP 脚本!";
    ?>  
    

    image

    尝试写了一个php,接受前端传过来的用户名,并打印出来:

    <html>
    <body>
    
    Welcome <?php echo $_POST["un"]; ?><br>
    
    </body>
    </html>
    

    成功跳转到php,如图所示:

    image

    4、web后端,mysql

    开启MySQL服务,使用root权限进入,默认的密码是password

    image

    使用create database user;新建user数据库,并用show databases;查看数据库

    image

    使用use user;命令使用user数据库,同时,使用create table login (字段设定列表);建立数据库表,并设置字段基本信息:

    image

    使用insert into login values('201155225','jzy123');插入数据:

    image

    grant select on user.login to river@localhost identified by "1";将对user.login进行查询的权限赋给本机登录的River用户。

    image

    5、php+mysql

    综合运用php和mysql,实现将前端用户名和口令,传到后端php,在php中连接数据库,进行查询,并返回查询结果。

    <?php
    $uname=$_POST["un"];
    $pwd=$_POST["pw"];
    echo "welcome";
     echo $uname;
    $query_str="SELECT * FROM login where username='$uname' and password='$pwd';";
    $mysqli = new mysqli("127.0.0.1", "river", "1", "user");
    
    /* check connection */
    if ($mysqli->connect_errno) {
        printf("Connect failed: %s
    ", $mysqli->connect_error);
        exit();
    }
    
    /* Select queries return a resultset */
    if ($result = $mysqli->query($query_str)) {
        if ($result->num_rows > 0 ){
                echo "<br> login success! <br> ";
        } 
        else {
            echo "<br> login failed! <br> " ; }
        /* free result set */
        $result->close();
    }
    $mysqli->close();
    ?>
    

    登录成功!

    image

    6、SQL注入和XSS攻击

    1. sql注入:

    后台sql语句为SELECT * FROM login where username='$uname' and password='$pwd';

    如果输入用户名时,输入为20155225'#,那后面口令就被注释掉了。

    image

    1. xss攻击:

    在用户名输入框输入 < img src="20155225.jpg" />,对应到php中,就是echo < img src="20155225.jpg" /> ,然后既可以查看到图片了。

    开始尝试的时候,攻击成功了,但图片一直加载不出来,后来给图片加上权限就可以了。

    image

    实验问题回答

    1.什么是表单

    表单可以收集用户的信息和反馈意见,是网站管理者与浏览者之间沟通的桥梁。

    一个表单有三个基本组成部分: 表单标签

    表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等

    表单按钮:包括提交按钮、复位按钮和一般按钮.

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

    超文本标记语言:HTML

    可扩展标记语言:XML

    脚本语言:ASP、PHP、Script、JavaScript、VBScript、Perl、Python、ColdFusion、Java、JSP等

    3.WebServer支持哪些动态语言

    比较常用的有PHP语言和JSP语言。

    实验总结与体会

    第一次接触了SQL注入、XSS注入攻击,这些注入非常巧妙,简直防不胜防,所以web安全有非常广阔的探索空间,进一步学习web安全,要更加努力了!

  • 相关阅读:
    51单片机寄存器组的设置(转)
    51单片机堆栈深入剖析(转)
    do{...}while(0)的妙用(转)
    优化C/C++代码的小技巧(转)
    Struts2返回json
    详略。。设计模式1——单例。。。。studying
    [深入理解Android卷一全文-第十章]深入理解MediaScanner
    《python源代码剖析》笔记 Python虚拟机框架
    jQuery Validation让验证变得如此easy(三)
    mysql高可用架构方案之中的一个(keepalived+主主双活)
  • 原文地址:https://www.cnblogs.com/clever-universe/p/9069640.html
Copyright © 2011-2022 走看看