初识sql注入--手工注入

devtools/2024/9/22 18:30:13/

目录

sql%E5%87%BD%E6%95%B0-toc" style="margin-left:0px;">可能使用的sql函数

入侵网站方式

1、文件上传漏洞

2、rce

sql%E6%B3%A8%E5%85%A5-toc" style="margin-left:40px;">3、sql注入

SQL注入

sql%E6%B3%A8%E5%85%A5-toc" style="margin-left:40px;">什么是sql注入

进行SQL注入

实验环境

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

1、进入靶场

2、报列数

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

url编码

单引号逃逸

sql%E8%AF%AD%E5%8F%A5-toc" style="margin-left:200px;">注释sql语句

 3、联表查询

联表查询结果显示 

 4、查表名

查表名

 多个表名一起显示

5、查列名

 6、爆数据


sql%E5%87%BD%E6%95%B0">可能使用的sql函数

database()数据库名

user()使用者

version()版本信息

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

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

入侵网站方式

1、文件上传漏洞

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

2、rce

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

sql%E6%B3%A8%E5%85%A5">3、sql注入

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

SQL注入

sql%E6%B3%A8%E5%85%A5">什么是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%E8%AF%AD%E5%8F%A5">注释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.ppmy.cn/devtools/42140.html

相关文章

OpenHarmony标准设备应用开发实战(一)——HelloWorld

本文主要内容包括三个方面: 1. 应用编译环境准备; 2. Hello Openharmony 页面编写; 3. 安装应用到标准设备上面。下面就让我们从零开始学习 OpenHarmony 标准设备应用开发。 一、应用开发环境准备 1.1 下载 DevEco Studio 3.0 Beta2 版本 …

贪吃蛇(C++)

使用EasyX图形库绘制&#xff0c;在VC中安装&#xff0c;EasyX官网&#xff1a;EasyX Graphics Library for C EasyX官方文档&#xff1a;EasyX 文档 - 使用教程 #include<iostream> #include<easyx.h> #include<vector>//顺序表&#xff0c;容器 #include…

L3-037 夺宝大赛 - java

L3-037 夺宝大赛 Java (javac) 时间限制 800 ms 内存限制 256 MB 其他编译器 时间限制 400 ms 内存限制 64 MB 栈限制 8192 KB 题目描述&#xff1a; 夺宝大赛的地图是一个由 n m n \times m nm 个方格子组成的长方形&#xff0c;主办方在地图上标明了所有障碍、以及大本营宝…

构建智能化不动产管理系统:数字化引领未来房地产行业发展

随着城市化进程的不断推进和房地产市场的持续发展&#xff0c;不动产管理系统的重要性日益凸显。在这一背景下&#xff0c;构建智能化不动产管理系统成为推动房地产行业数字化转型的关键举措。本文将深入探讨智能化不动产管理系统的构建与优势&#xff0c;助力房地产企业把握数…

[CAM_REQ_MGR_EVENT_MAX]高通6225平台相机老化异常重启

报错log 相机老化出现20/7万比例的老化异常重启&#xff0c;具体报错log入下 <4>[ 167.506585] [1970:01:02 18:52:26](0) [0:swapper/0]cam_v4l2_event_queue_notify_error: 251 callbacks suppressed 7 3339<6>[ 167.506602] [1970:01:02 18:52:26](0) [0:swap…

Java环境搭建(二)Notepad++和IDEA的下载

Notepad&#xff08;不推荐使用&#xff09; 高级记事本 下载地址 Notepad (juxinwk1.cn) 下载安装后一直下一步就可以了 注&#xff1a;改一下路径还有建立快捷方式&#xff08;自己选择&#xff09; IDEA 集成环境 下载地址 IntelliJ IDEA – the Leading Java and Kotl…

六种恢复已删除PDF文件的方法及实用方法全解析

在数字化时代PDF文件已成为我们日常工作中不可或缺的一部分。有时我们可能会因误操作或系统故障而不小心删除Excel、Word或PPT文档&#xff0c;特别是重要的PDF文件。此时如何高效地恢复这些文件就显得尤为重要。今天将为大家介绍六种恢复已删除PDF文件恢复方法&#xff0c;继续…

从电话到全渠道:呼叫中心软件如何重塑客户服务生态

一.引言 在数字时代&#xff0c;客户服务已不再是简单的电话接听与问题解答。随着消费者期望的提升和科技的飞速发展&#xff0c;客户服务已成为企业品牌建设与维护客户忠诚度的关键战场。从早期的电话客服中心到如今的全渠道服务生态系统&#xff0c;呼叫中心软件作为这一转变…