实训日志day5

article/2025/9/22 13:14:43

今天主要讲解了命令行查看数据库、数据库连接、越权访问

命令行的使用
在文件根目录下执行cmd,输入数据库的账号和密码进行数据库的访问
在这里插入图片描述
输入 show databases;语句查看数据库表,注意是databases后面有一个分号‘;’

 show databases;

数据库表单
查看数据库表,show tables;

show tables;

数据库表
通过查询语句访问数据库表users,select * from users;

select * from users;

访问数据库表信息
通过查询语句查询数据库信息单条信息

select * from users where username='student1' and password='123456';

单信息查询
逻辑语句的优先级,and和or,输入语句select * from users where username=‘stu1’ and password=‘11111’ or 1;可以看到输出的是全部信息,表中并无查询的信息,优先级就是前面所查询的没有信息的语句为假,但是or1与前面进行逻辑运算可以看到最终语句为1也就是为真,所以相当于打出整个表的信息。

select * from users where username='stu1' and password='11111' or 1;

在这里插入图片描述
根据不同的名称进行排序,输入语句select * from users order by username;

select * from users order by username;

排序

数据库连接

数据库连接,连接到phpstudy下的mysql,注意的是不要连接本机的另一个mysql数据库

 $sql ="select * from users where username='$name' and password='$pass'";#$sql="select * from security";echo $sql;$conn=mysqli_connect('localhost','root','root','score_system');/*localhost或127.0.0.1或本地ip*/

可以看到数据库已经连接成功:
数据库连接成功
越权访问
在越权访问这里需要使用到抓包工具brupsute,通过php文件的编写实现,其中有login.php、logindeal.php、student.php、teacher.php为主要功能文件,进行越权访问的主要原理是对cookie值的篡改,将其值改成所需要访问的类型值,其中还讲到了对cookie值的注销。
login.php文件:这部分代码包括了对数据库的访问,数据库的连接,连接成功后通过数据库内存储的信息进行分析,通过登录页面输入的信息与数据库信息进行对比,判断输入的用户名和密码是否正确,进而判断登录是否成功。代码如下:

 		$req=mysqli_query($conn,$sql);$num=mysqli_num_rows($req);if ($num===1){echo "登录成功";$res=mysqli_fetch_array($req);$role=$res['role'];setcookie("username",$name,time()+3600);setcookie("role",$role,time()+3600);header("Location:logindeal.php");echo "<a href='loginout.php'>注销</a>";}else{echo "登录失败!";}

login.php 完整代码:

<?phpecho "<meta charset='UTF-8'>";echo "Hello word!","hello worth!<br>";echo "<br>";$pass=$_POST['pass'];$name=$_POST['name'];$sql ="select * from users where username='$name' and password='$pass'";#$sql="select * from security";echo $sql;$conn=mysqli_connect('localhost','root','root','score_system');//localhost或127.0.0.1或本地ipif ($conn){echo "数据库连接成功!"."<br>";$req=mysqli_query($conn,$sql);/*将数据库里面的数据赋值*/$num=mysqli_num_rows($req);/*返回结果值*/if ($num===1) /*判断输入信息是否与数据库一致*/{echo "登录成功";$res=mysqli_fetch_array($req);$role=$res['role'];setcookie("username",$name,time()+3600);/*设置cookie值的有效时长*/setcookie("role",$role,time()+3600);header("Location:logindeal.php");/*跳转到角色判断界面*/echo "<a href='loginout.php'>注销</a>";}else{echo "登录失败!";}}else{echo "数据库链接失败!";}
?>

logindeal.php文件:这一部分对登录角色信息进行判断,不同角色的信息分别进入不同的界面,完整代码如下:

<?php$role=$_COOKIE['role'];if ($role=="teacher"){header("Location:teacher.php");}elseif($role=="student"){header("Location:student.php");}else{header("Location:login.php");}
?>

下面是登录界面的效果图:
登录界面效果图
下面是正常登录界面所进入的界面,老师界面是老师好,学生界面是学生好:
正常界面
下面是使用burpsuite对登录的信息进行抓包,抓包后将其cookie值进行修改:
未修改role前:
未修改
修改role之后:
在这里插入图片描述
可以看到通过对cookie值中的role进行角色信息的篡改,可以将学生登录的权限界面跳转到教师权限界面。
下面是teacher.php和student.php完整代码:
teacher.php:

<?phpecho "<meta charset='UTF-8'>";echo "老师好!";
?>

student.php:

<?phpecho "<meta charset='UTF-8'>";echo "同学好!";
?>

上面说到的对cookie值的注销代码,loginout.php完整代码:

<?phpecho "<meta charset='UTF-8'>";$name=$_COOKIE['username'];setcookie("username",$name,time()-3600);/*将cookie有效值时间减掉*/echo "cookie已注销";echo $name;
?>

http://chatgpt.dhexx.cn/article/AwntmGMr.shtml

相关文章

Java实训日志04

文章目录 八、项目开发实现步骤&#xff08;六&#xff09;创建数据访问接口1、创建学校数据访问接口2、创建状态数据访问接口3、创建学生数据访问接口4、创建用户数据访问接口 八、项目开发实现步骤 &#xff08;六&#xff09;创建数据访问接口 DAO: Data Acess Object - 数…

实训日志day7

今天主要介绍了三个工具以及工具使用的方法&#xff0c;三个工具分别是&#xff1a;Nmap、AWVS、Dirsearch Nmap Nmap的使用环境有两种&#xff1a; 1、直接能获取到需要测试和的设备的IP地址 2、只能获得需要测试的网络。 在进行渗透测试的过程中&#xff0c;利用nmap进行渗透…

day2实训日志

上午课程 课程大纲 1.web 重点介绍了web1.0和web2.0时代采用的技术&#xff0c;web1.0时代主要采用dos攻击html静态网页&#xff0c;虽然静态网页没有数据库&#xff0c;但是拒接服务式攻击可以将网络响应攻击瘫痪&#xff0c;web2.0时代新增了数据库&#xff0c;黑客所攻击的…

项目实训-个人开发日志02-初识微信小程序开发

今天开始正式进入微信小程序端的开发&#xff0c;由于本人从未学习过小程序开发&#xff0c;所以在此一并把学习过程记录。 安装微信开发者工具&#xff0c;以非云开发的基础模板创建文件&#xff0c;得到如下项目结构&#xff1a; page即为页面&#xff0c;目前有两个文件夹&…

JAVA实训项目第六次日志

实训目的&#xff1a;让学生综合运用J2SE有关知识开发【学生信息管理系统】。主要涉及程序控制结构、面向对象编程、图形用户界面、Java数据库应用、MySQL数据库这几个方面的内容。通过本项目的开发&#xff0c;让学生了解系统开发的一般流程&#xff0c;初步了解MVC模式与单元…

实训日志——第三天

在敲代码的过程中&#xff0c;也是经常犯错的&#xff0c;大大小小的错&#xff0c;有时候反复检查都不知道有什么错。目前&#xff0c;我总结到&#xff0c;对于我来说&#xff0c;出错就是经常打错字母的大小写&#xff0c;少打一行代码之类的。但就是这些小错&#xff0c;在…

实训日志6

上一次太累了没写博客&#xff0c;这次打完了所有的内容&#xff0c;认真总结一下这次的实训 这次实训主要涉及程序控制结构、面向对象编程、图形用户界面、Java数据库应用、MySQL数据库这几个方面的内容。通过本项目的开发&#xff0c;让我了解系统开发的一般流程&#xff0c;…

将实对称矩阵正交对角化的流程

摘自《矩阵论教程》第2版&#xff0c;张绍飞&#xff0c;p52

实对称矩阵可对角化证明

在极化分解的证明中使用过此定理&#xff0c;证明于此。 埃尔米特矩阵是指复对称矩阵&#xff0c;实对称矩阵是其特例。 转载于:https://www.cnblogs.com/zhixingr/p/8750210.html

矩阵可对角化的条件

总结&#xff1a;对于任意方阵&#xff0c;如果没有重根&#xff0c;矩阵总是可以对角化。麻烦的是重根问题 如果有重根&#xff0c;那么需要验证所谓几何重数&#xff0c;与代数重数相等。 那么对于有重根&#xff0c;不能对角化的矩阵怎么办&#xff1f;这就引入了Jordan标…

线性代数笔记5.3实对称矩阵的对角化(前瞻知识)

实对称矩阵都能对角化 内积 简单来说&#xff0c;内积就是两个向量的对应分量相乘再相加 内积是个数&#xff01;&#xff01; 内积的性质 注意最后一条性质 两个向量和与第三个向量的内积 两个向量分别与第三个向量内积的和&#xff0c;这条性质可以与上面的性质配合使…

含重根的三阶实对称矩阵的快速对角化方法

众所周知&#xff0c;实对称矩阵一定可以相似对角化。而考试中考察的三阶实对称矩阵对角化基本都是三阶的。而且正常情况下特征根一定是整数。因此基于此&#xff0c;有一些特殊的方法可以快速计算三阶实对称矩阵的特征值和特征向量。 一. 猜根法计算特征值 特征值之和等于矩阵…

矩阵的相似对角化

矩阵相似的定义 设 A与B都是N阶方阵&#xff0c;若是一个可逆的N阶矩阵P&#xff0c;使得&#xff0c;则称A与B相似&#xff0c;记作&#xff0c;P成为由A到B的相似变换矩阵 相似矩阵的性质 1、 矩阵A与它自身相似 2、若&#xff0c;则 如果A与B相似&#xff0c;那么B与A…

矩阵对角化

一、矩阵对角化的理论 一个映射或者一个线性变换&#xff0c;都有一个矩阵和它相对应。矩阵或者映射是不是可以对角化&#xff0c;对工程应用来说比较重要&#xff0c;因为对角化后的矩阵&#xff0c;乘积简单&#xff0c;经过多次变换的话&#xff0c;相当于矩阵的多次方。矩…

实对称矩阵必可正交对角化证明

我的小程序&#xff1a; 待办计划&#xff1a;给自己立个小目标吧&#xff01; n阶矩阵A可正交对角化的充分条件是A是实对称矩阵&#xff0c;即若A是实对称矩阵则A必可正交对角化。 首先&#xff0c;有以下定理&#xff1a; 若的特征值为&#xff0c;且&#xff0c;则存在正交…

实对称阵的正交相似对角化

一、正交向量组与正交矩阵 正交向量组的定义&#xff0c;是一组非零向量&#xff0c;且两两正交&#xff0c;那么这组向量&#xff0c;则成为正交向量组。 两个向量正交的意思是&#xff0c;两个向量的内积为0&#xff0c;什么是两个向量的内积&#xff0c;就是向量内对应元素…

线性代数笔记5.3实对称矩阵的对角化

5.3实对称矩阵的对角化 正交矩阵 概念 A是一个n阶方阵 有A转置A E&#xff0c;那么这个矩阵就是正交矩阵 性质 若A是正交矩阵&#xff0c;|A| 1或 -1若A是正交矩阵&#xff0c;A的逆 A的转置 且A逆和A转置均为正交A,B正交&#xff0c;AB也正交若A正交&#xff0c;α&am…

实对称矩阵对角化为什么要做正交化单位化操作呢?

今天晚上王小民同学问了助教姐姐一个问题&#xff0c;为什么对一个一般的矩阵对角化的时候&#xff0c;我们不用做正交单位化&#xff0c;对实对称矩阵对角化的时候却要做呢&#xff1f;这是一个很好的问题&#xff0c;所以和大家分享一下。 最后的结论就是&#xff1a;如果不…

npm构建报错 code ELIFECYCLE解决办法

使用npm构建报错 code ELIFECYCLE 解决办法&#xff0c;进入工作目录 $ rm -rf node_modules $ rm -rf package-lock.json $ npm cache clear --force $ npm install

code ELIFECYCLE npm ERR! errno 1

最近遇到一个项目&#xff0c;npm下来报错errno -40048。 网上帖子有的说npm降级到5.3.0就行&#xff0c;试了直接errno -5 &#xff0c;也还是不行。又有人说下载新的node.js覆盖就行&#xff0c;这里吐槽一下新版的node&#xff08;node-v14.15.1-x64&#xff09;&#xff0…