2018-2019-2 《网络对抗技术》Exp8 Web基础 20165326

时间:2019-05-18 19:07:44   收藏:0   阅读:169

Web基础

实验要求

本实践的要求:

基础问题问答


1、Web前端HTML

<html>  
<head>  
<title>test</title>   
</head> 
<body>
<h1>hello 5326</h1>
<table>  
    <form method ="POST" action="login.php" name="frmLogin"  >  
    <tr>  
    <td>username:</td>  
    <td><input type="text" name="username" value="" size="20" maxlength="100" /></td>  
    <td> </td>  
    <td> </td>  
    </tr>  
    <tr>  
    <td>password:</td>  
    <td><input type="password" name="password" value="" size="20" maxlength="20" /></td>  
    <td></td>
    <td></td>
    </tr>      
    <table>  
    <tr>  
        <td><input type="submit" name="login" value="login" onClick="return loginTest()" /></td> 
            <td><input type="reset" name="rs" value="reset" /></td>  
        </tr>
    </table>    
    </form> 
</table> 

2、Web前端Javascript

<script language="javascript">
    function loginTest(){
        var userName = document.frmLogin.username.value;
        var passWord = document.frmLogin.password.value;
        if(userName ==""){
            alert("please enter your USERNAME!"); //输入不能为空
            return false;
        }
        if(passWord==""){
            alert("please enter your PASSWORD!");
            return false;
        }

    }
    </script>

技术图片

3、MySQL基础

在命令行输入指令时需要加分号

4、Web后端 PHP

PHP是一种通用开源脚本语言,语法吸收了C语言、Java和Perl的特点,主要适用于Web开发领域。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

<?php
  echo ($_GET["a"]);
  include($_GET["a"]);
  echo "This is czzzz php test page!<br>";
?>
<?php

$uname=$_POST["username"];
$pwd=$_POST["password"];

/* echo $uname; */

$query_str="SELECT * FROM userLogin where userName='$uname'and passWord='$pwd';";

/* echo "<br> {$query_str} <br>";*/

$mysqli = new mysqli("127.0.0.1","cz","5326","wldk_exp8");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}
echo "connection ok!";
/* Select queries return a resultset */
if ($result = $mysqli->query($query_str)) {
    if ($result->num_rows > 0 ){
        echo "<br>
            <br>login success~<br>
           <h4> Wellcome login :{$uname}!!! </h4><br> ";
    } else {
        echo "<br> login failed!!!! <br> " ;
    }

    /* free result set */
    $result->close();
}


$mysqli->close();

?>

SQL注入

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

5、XSS攻击测试

参考资料

XSS(Cross Site Scripting)攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS,XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本.
攻击方式:

攻击

//添加的代码
<img onclick ="window.location.href='attack.html'" //添加点击跳转
   width="30%"//调整缩放
   src="tutu.jpg"//图片源
   >

技术图片

问题总结

  1. 使用mysql数据库出现 “Access denied for user ‘root‘@‘localhost‘参考链接
    这种情况是因为无法从root中登陆数据库造成的,我先试着修改了密码,无用,接着又做了参考链接中的操作,但是也不行,所以在实验中我新建了一个数据库用户,把要用到的数据库的权限赋予该用户,修改login.php文件,成功。

心得体会

因为之前有学过web编程和数据库,所以这次的实验其实很快就做完了,xss攻击和sql注入作为攻击手段还是要注意它的灵活运用与防范.(立flag:我再也不拖博客了QAQ,以前一周就做完了一直不想写博客,我好菜【弟弟行为】)

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!