初识sql注入--手工注入

news2024/12/26 23:39:15

目录

可能使用的sql函数

入侵网站方式

1、文件上传漏洞

2、rce

3、sql注入

SQL注入

什么是sql注入

进行SQL注入

实验环境

开始实验(使用information_shema数据库)

1、进入靶场

2、报列数

下面来解释一下为什么要照上面SQL语句写

url编码

单引号逃逸

注释sql语句

 3、联表查询

联表查询结果显示 

 4、查表名

查表名

 多个表名一起显示

5、查列名

 6、爆数据


可能使用的sql函数

database()数据库名

user()使用者

version()版本信息

length(database()) //获取数据库长度

substr(database(),2,1)//从数据库第二个位置往后获取一个字符

入侵网站方式

1、文件上传漏洞

前提,没有waf没有拦截,但是现在这个东西想成功概率比较低,因为一般都是白名单的方式

2、rce

rce直接执行命令,创建一个文件把你的木马写进去。但是rce漏洞不是很容易

3、sql注入

尝试拿到管理员密码,登陆网站后台,尝试获取取webshell

SQL注入

什么是sql注入

SQL注入攻击是一种常见的网络安全威胁,主要针对使用结构化查询语言(SQL)进行数据库操作的应用程序。通过利用应用程序对用户输入数据的不正确处理,攻击者可以在SQL查询中注入恶意代码,从而达到恶意目的。

进行SQL注入

下面以实验来进行不同sql注入

实验环境

sqli-LABS靶场第一关

开始实验(使用information_shema数据库)

1、进入靶场

2、报列数

按照提示输入一个id之后的步骤就是将这个id插入到sql语句中然后在数据库进行查询

(如下图时sqli-LABS靶场的第一关代码,这个代码就是将你输入的id插入sql语句使用select进行查询)

根据这点我们来进行注入首先进行报列数,报列名的原因是在后续进行联表查询时需要知道有几列

报列数使用order by来进行测试按照第1、2、3进行排序依次尝试

按照第4列进行排序报错,说明现在只有3列

下面来解释一下为什么要照上面SQL语句写
url编码

首先url是有编码规范的所以在后面是%23,url的编码规范就是将符号变成ascii编码然后再转成16进制然后在添加%,%23就是#的意思

单引号逃逸

然后看上面的语句id的内容是被一个单引号括起来的,你输入进去的SQL语句是会被当成字符串的,所以我们就要想办法让输入的内容逃逸出来

逃逸的方法我们可以在后面再加一个单引号

在代码中如下显示,这样前面的单引号就被闭合了

注释sql语句

那么后面的单引号又落单了,我们可以将后面代码注释掉

 3、联表查询

联表查询使用union

在进行联表查询的时候,你发现你想爆出来的数据库名没有爆出来,原因是id=1,那查询出来的结果自然就是id=1的那一行

联表查询结果显示 

想要查询出你想要的东西,那就让数据库查在查id的时候查不出来。要么id特别大,数据库中没有,要么id等于-1 

当id=-1时

 4、查表名

在官方的information_schema.tables 中有表名,依靠下一句语句可以查询到表名

下面的意思就是在information_schema数据库中查询表table中字段table_schema等于你查到的数据名的table_name的名称

select 1,table_name from information_schema.tables where table_schema ='数据库名'

查表名

下图是查询例子,但是只爆出了一个表名(只显示出了你查询的数组的第一个)

 多个表名一起显示

group_concat(),将你查询到的结果一整列全部爆出来,查看其中表名users很像用户表名,继续查

5、查列名

 6、爆数据

如下图,已经获取了用户账户密码,这样就可以进行下一步渗透了


不嫌弃的点点关注,点点赞 ଘ(੭ˊᵕˋ)੭* ੈ✩‧₊˚ 

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

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

相关文章

C#标签设计打印软件开发

1、新建自定义C#控件项目Custom using System; using System.Collections.Generic; using System.Text;namespace CustomControls {public class CommonSettings{/// <summary>/// 把像素换算成毫米/// </summary>/// <param name"Pixel">多少像素…

图论(洛谷刷题)

目录 前言&#xff1a; 题单&#xff1a; P3386 【模板】二分图最大匹配 P1525 [NOIP2010 提高组] 关押罪犯 P3385 【模板】负环 P3371 【模板】单源最短路径&#xff08;弱化版&#xff09; SPFA写法 Dij写法&#xff1a; P3385 【模板】负环 P5960 【模板】差分约束…

python的import导入规则

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pycharm只能看到当前工作路径父目录下所有文件和项目根目录下所有文件二、sys或者图形界面添加解释器路径&#xff08;搜寻路径&#xff09;三、import导入…

【ubuntu】ubuntu-18.04开机卡在Starting User Manager for UID 120....问题解决方案

错误截图 解决方案 启动系统&#xff0c;开机界面单击按键esc键&#xff0c;注意需要将鼠标定位到菜单界面&#xff0c;移动键盘上下键选择Advanced options for Ubuntu 进入如下菜单&#xff0c;选择recovery mode 回车之后会弹出如下界面&#xff0c;选择如下root&#xff0…

matlab使用教程(69)—创建包含多个 x 轴和 y 轴的图

此示例说明如何创建这样一张图&#xff0c;通过坐标区底部和左侧的轴放置第一个绘图&#xff0c;并通过坐标区顶部和右侧的轴放置第二个绘图。 使用 line 函数绘制一个红色线条。将 x 轴和 y 轴的轴线颜色设置为红色。 注意&#xff1a;从 R2014b 开始&#xff0c;您可以使用圆…

最大子序列的分数

题目链接 最大子序列的分数 题目描述 注意点 n nums1.length nums2.length从nums1和nums2中选一个长度为k的子序列对应的下标对nums1中下标对应元素求和&#xff0c;乘以nums2中下标对应元素的最小值得到子序列的分数0 < nums1[i], nums2[j] < 1000001 < k < …

精密机械设备运用弧形导轨中如何保持高精度?

导轨精度标准是对导轨的精度统一规定&#xff0c;无论是滑移运动、滑块运动还是旋转运动&#xff0c;都有一定的精度规格。而导轨精度标准是为了保证导轨运动时的精确度而设定的精度标准&#xff0c;它是规定各种导轨的精度统一标准&#xff0c;是机械设备的运动精度基础和保障…

SpringAI 技术解析

1. 发展历史 SpringAI 的发展历史可以追溯到对 Spring 框架的扩展和改进&#xff0c;以支持人工智能相关的功能。随着人工智能技术的快速发展&#xff0c;SpringAI 逐渐成为 Spring 生态系统中的一个重要组成部分&#xff0c;为开发者提供了便捷、灵活的解决方案。 项目的灵感来…

声明变量的六种方法

ES6 声明变量的六种方法 varfunctionletconstclassimport 顶层对象的属性 1. ES6 声明变量的六种方法 ES5 只有两种声明变量的方法&#xff1a; var 命令和 function 命令。 ES6 除了添加 let 和 const 命令&#xff0c;还有另外两种声明变量的方法&#xff1a; import 命令和…

[AutoSar]BSW_Diagnostic_002 DCM模块介绍

目录 关键词平台说明背景一、DCM所处架构位置二、DCM 与其他模块的交互三、DCM 的功能四、DCM的内部子模块4.1 关键词 嵌入式、C语言、autosar、OS、BSW、UDS、diagnostic 平台说明 项目ValueOSautosar OSautosar厂商vector &#xff0c; EB芯片厂商TI 英飞凌编程语言C&…

Realsense-Realman手眼标定

硬件设备 Realsense D405 Realman 65b 软件环境搭建 软件环境依赖&#xff1a; librealsensehttps://github.com/IntelRealSense/librealsense.git ROS1.0ros-noetic-arucosudo apt-get install ros-noetic-aruco*realsense_roshttps://github.com/IntelRealSense/realsens…

萤火虫优化算法(Firefly Algorithm)

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 算法背景 萤火虫优化算法&#xff0c;是由剑桥大学的Xin-She Yang在2009年提出的一种基于群体智能的优化算法。它的灵感来源于萤火虫在夜晚闪烁…

Python | Leetcode Python题解之第83题删除排序链表中的重复元素

题目&#xff1a; 题解&#xff1a; class Solution:def deleteDuplicates(self, head: ListNode) -> ListNode:if not head:return headcur headwhile cur.next:if cur.val cur.next.val:cur.next cur.next.nextelse:cur cur.nextreturn head

PDF文件恢复:四种实用方法全解析

如何恢复已删除的PDF文件&#xff1f; PDF是Portable Document Format&#xff08;便携式文档格式&#xff09;的缩写&#xff0c;是一种由Adobe Systems开发的文件格式。PDF文件可以包含文本、图形、链接、多媒体以及其他各种元素&#xff0c;并且能够在各种操作系统和设备上…

XXE-lab靶场搭建

源码下载地址 https://github.com/c0ny1/xxe-lab1.php_xxe 直接放在php web页面下即可运行。 2.java_xxe java_xxe是serlvet项目&#xff0c;直接导入eclipse当中即可部署运行。 3.python_xxe: 安装好Flask模块python xxe.py 4.Csharp_xxe 直接导入VS中运行 phpstudy…

树莓派遇到ping的奇葩问题解决办法

首先&#xff0c;先 ping raspberrypi 一下。获得树莓派的ip 然后开始配置静态ip winR后输入命令ipconfig查询当前网关ip 输入命令sudo nano /etc/dhcpcd.conf 在最末尾输入以下信息 -----------------------------------------------------------------------------------…

波动性悖论:为何低风险股票长期跑赢高风险对手?

从去年开始&#xff0c;“红利低波”类的产品净值稳步向上&#xff0c;不断新高&#xff0c;让很多人关注到了A股“分红高”、“波动率低”这两类股票。分红高的公司更受投资者青睐&#xff0c;这从基本面的角度很容易理解&#xff0c;那么波动率低的股票明明波动更小&#xff…

8、QT——QLabel使用小记2

前言&#xff1a;记录开发过程中QLabel的使用&#xff0c;持续更新ing... 开发平台&#xff1a;Win10 64位 开发环境&#xff1a;Qt Creator 13.0.0 构建环境&#xff1a;Qt 5.15.2 MSVC2019 64位 一、基本属性 技巧&#xff1a;对于Qlabel这类控件的属性有一些共同的特点&am…

使用html和css实现个人简历表单的制作

根据下列要求&#xff0c;做出下图所示的个人简历&#xff08;表单&#xff09; 表单要求 Ⅰ、表格整体的边框为1像素&#xff0c;单元格间距为0&#xff0c;表格中前六列列宽均为100像素&#xff0c;第七列 为200像素&#xff0c;表格整体在页面上居中显示&#xff1b; Ⅱ、前…

猜猜歇后语

页面 在输入框中填写你猜的答案&#xff0c;点击“显示答案”按钮&#xff0c;显示正确答案。 页面代码 function showAnswer(element){var elem$(element);elem.next().show();} //# // 初始化DataGrid对象 $(#dataGrid).dataGrid({searchForm: $(#searchForm),columnModel:…