码迷,mamicode.com
首页 > Web开发 > 详细

20155207 EXP8 Web基础

时间:2018-06-02 13:27:19      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:ima   etc   quit   mysql   init.d   eth   alt   mail   apach   

20155207 EXP8 Web基础

实验内容

  • (1)Web前端HTML
  • (2)Web前端javascipt
  • (3)Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表
  • (4)Web后端:编写PHP网页,连接数据库,进行用户认证
  • (5)最简单的SQL注入,XSS攻击测试

基础问题回答

  • (1)什么是表单
  • 在网页中负责信息采集,在网页中用户输入信息,通过表单能够提交到后台进行相应的处理
  • (2)浏览器可以解析运行什么语言
  • HTML、CSS,JS脚本会调用JS脚本引擎来处理,PHP的解释执行是在服务器端进行的
  • (3)WebServer支持哪些动态语言
  • ASP、PHP、JSP、Python

实践过程记录

Apache

  • 启动apache,查看端口占用
    技术分享图片

  • 检测apache是否正常工作,fierfox访问localhost:80,显示Apache截获的google登陆页面
    技术分享图片

编写网页

  • 测试:apache读取工作目录下的文件
  • 输入字符串

  • 浏览器打开localhost:80/test.txt
    技术分享图片

前端编程

  • 编写简单的用于login的HTML页面

技术分享图片

技术分享图片

  • method参数是GET,所以输入值会在URL中显示、提交

  • javascript,编写测试输入密码是否为空的代码

<html>
<head>
<meta charset ="UTF-8">
<script type="text/javascript">
function check_pwd()
{
        var Pwd = document.form.password.value ;    
        
        if (Pwd ==""){  
            alert("password input cannot be empty!");  
            return false ;  
        }  
}
</script>
<body bgcolor="#aaFFFFF">
<h1>login</h1>
<form name="form" action ="5207_login.php" method="GET" onclick="return inputshow()">
<input type="text" name="username" >
<br>
<input type="password" name="password" id="password">
<br>
<button type="submit" onclick="disp_alert()"  value="submit" />submit</button>
</form>
</body>
</html>
  • 测试,输入空的密码
  • 弹出对话框

技术分享图片

后端编程PHP

  • 安装PHP
  • 测试PHP

技术分享图片

  • 编写PHP尝试获得表单数据

技术分享图片

  • form使用POST方法提交,需要修改PHP也用POST方法

技术分享图片

MySQL

  • 安装启动Mysql

  • 进入mysql:

输入/etc/init.d/mysql start打开mysql服务,
输入mysql -u root -p,以root身份登录,根据提示输入密码,默认密码为p@ssw0rd,进入MySQL;

技术分享图片

  • 修改密码:前面默认的密码不好记,可以修改密码

    输入use mysql;
    选择mysql数据库
    输入select user, password, host from user;显示mysql库中已有的用户名、密码与权限
    输入UPDATE user SET password=PASSWORD("新密码") WHERE user=‘root‘;更改用户名root的密码
    输入flush privileges;更新权限。
    输入quit退出,重新登录mysql
  • 重新输入mysql -u root –p,使用新密码登录。
  • 创建数据库和新表。命令如下:

    create database 库名;
    use 库名;
    create table gyl (userid VARCHAR(100),username VARCHAR(45),password VARCHAR(256),enabled VARCHAR(5));
  • 表名users 四个字段userid、username、password、enabled 主键userid
  • 向表中添加账户

SQL注入

  • 在网页登录的用户名中填写‘ or 1=1#,密码随便输入,这时候的合成后的SQL查询语句为select * from users where username=‘‘ or 1=1#‘ and password=md5(‘‘)

技术分享图片

  • 可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

  • 修改代码,允许多条执行,SQL注入将用户名和密码保存在数据库中

XSS攻击

  • 在登录的用户名中输入:技术分享图片5207,读取/var/www/html目录下的图片

技术分享图片

20155207 EXP8 Web基础

标签:ima   etc   quit   mysql   init.d   eth   alt   mail   apach   

原文地址:https://www.cnblogs.com/lnaswxc/p/9125109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!