初识sql注入--手工注入

目录

可能使用的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.mfbz.cn/a/615753.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux-vi、vim

使用Xshell远程登录到Linux主机进行操作 命令行不用全部掌握, 一般编辑大文件,比较复杂的情况下, 我们还是使用Xftp工具, down下来再恢复回去。

有边数限制的最短路

文章目录 题目 有边数限制的最短路算法分析1、问题:为什么Dijkstra不能使用在含负权的图中?dijkstra详细步骤2、什么是bellman - ford算法?3、bellman - ford算法的具体步骤4、在下面代码中,是否能到达n号点的判断中需要进行if(di…

Seaborn : 超好用的Python可视化工具

1. 引言 说到数据可视化,Seaborn就像一颗隐藏的宝石!在进行探索性数据分析时,我们通常从Matplotlib 开始,而对 Seaborn 的探索相对较少!但是,只要你了解 Seaborn 的全部潜力,你就会惊奇地发现&…

安全工程师面试题

安全工程师面试题安全工程师是一个非常重要的职位,他们负责保护公司的网络和系统免受黑客和恶意软件的攻击。如果你想成为一名安全工程师,那么你需要准备好面试。下面是一… 1安全工程师面试题 安全工程师是一个非常重要的职位,他们负责保护…

C++Linux系统编程——makefile

Makefile Makefile简介 一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于…

基于Django实现的校园疫情监控平台

基于Django实现的校园疫情监控平台 开发语言:Python 数据库:MySQL所用到的知识:Django框架工具:pycharm、Navicat、Maven 系统功能实现 登录注册功能 用户在没有登录自己的用户名之前只能浏览本网站的首页,想要使用其他功能都会…

sqli-labs靶场第十四关

目录 1:分析 找闭合符: 2:开始注入 报错注入: 注入数据库名: 注入表名: 注入列名: 注入具体值: 1:分析 经过我们的实验发现当我们输入的密码后面存在双引号时会报…

构建内网yum仓库

1、环境介绍 系统:龙蜥os 7.9 2、安装epel源 yum install epel-release -y3、安装nginx服务器并启动 yum install nginx httpd -y配置 server {listen 80;server_name repo.wtown.com;root /usr/share/nginx/html/repo;index index.html index.htm;location / {…

阿里云ECS服务器实例挂载数据盘步骤(磁盘自动挂载.、访问挂载点)

阿里云ECS服务器实例挂载数据盘步骤 相关指令 df -h 查看磁盘空间 du -sh * 查看使用内存大小1.磁盘自动挂载 首先登录阿里云ECS服务器,通过 df -h 命令查看当前磁盘挂载情况 通过 fdisk -l 命令查看磁盘情况,可以发现有两个盘: 系统盘 …

Ubuntu 和 Windows之间无法复制粘贴问题解决方法

需要安装open-vm-tools,官方安装open-vm-tools的网址:安装 Open VM Tools (vmware.com)

安全测试工具Nessus安装和使用

安装 下载地址:https://pan.baidu.com/s/1OaYMDdQqYI4BbZ_uUErrTw 提取码: yg2g 安装Nessus-8.14.0-x64.msi,按照提示next至安装完成,显示如下页面,点击Connect via SSL 点击“高级”、“继续访问” 选择 【Managed Scanner】选…

Visual Studio,第1个hello world,入门C++,分别编译一个可以在Windows和Linux下运行的程序

本人的VxTerm,是在Visual Studio 2022下编写的。 其它的语言工具是不是也可以那么方便的使用,本人并不得而知,至少本人能知道:对于我来说,Visual Studio可以让我觉得C/C语言非常简单! 一、安装Visual Stu…

stm32——OLED篇

技术笔记! 一、OLED显示屏介绍(了解) 1. OLED显示屏简介 二、OLED驱动原理(熟悉) 1. 驱动OLED驱动芯片的步骤 2. SSD1306工作时序 三、OLED驱动芯片简介(掌握) 1. 常用SSD1306指令 2. …

apache atlas 如何自定义hook

atals 是开源的数据元数据和数据资产管理平台,平台设计支持强大的图数数据库,nosql,和搜索引擎3个组件构建。都是基于开源构建。 目前市场上开源的元数据管理工具有Atlas, Datahub, Openmetadata等,你要说二…

进程间通信:连接不同程序世界的桥梁

目录 一、进程间通信的重要性 二、常见的进程间通信方式 三、进程间通信的目的 四、进程间通信的本质 在计算机编程的领域中,进程间通信(Inter-Process Communication,IPC)是一个至关重要的概念。当我们在操作系统中运行多个程…

Vue中进行粘贴板粘贴数据(图片、文字等)

在页面中如果需要进行粘贴数据,那么就要读取系统粘贴板clipboard,通过此Api来进行粘贴板数据的操作。 目录: 一.封装相关函数1.示例代码:2.代码解释: 二.页面中进行粘贴1.代码示例:2.代码解释: 三.运行结果…

linux day 3

touch 创建文件命令 cat命令,查看文件内容 more命令,查看文件内容。 cat是直接全部显示出来,more是支持翻页,即文件内容过多可以一页一页显示(按空格翻页,按Q进行退出) cp命令,复制…

数据结构深入理解--栈

目录 一、栈的定义 二、栈的实现 2.1 栈的结构 2.2 栈的初始化 2.3 栈的销毁 2.3 栈元素的插入 2.4 栈元素的删除 2.5 栈顶元素获取 2.6 栈元素有效个数获取 2.7 栈是否为空判断 三、代码总览 Stack.h Stack.c 测试代码:test.c 四、例题 例一: 例二&#xff…

llm.c的Makefile

源码 CC ? clang CFLAGS -Ofast -Wno-unused-result -Wno-ignored-pragmas -Wno-unknown-attributes LDFLAGS LDLIBS -lm INCLUDES CFLAGS_COND -marchnative# Find nvcc SHELL_UNAME $(shell uname) REMOVE_FILES rm -f OUTPUT_FILE -o $ CUDA_OUTPUT_FILE -o $# N…

5.神经网络-激活函数

目录 1. 激活函数不是阶跃函数 1.1 激活函数和阶跃函数都是非线性函数 1.2 激活函数不是阶跃函数 2. sigmoid 函数 2.1 sigmoid 函数表达式 2.2 sigmoid 函数 Python 实现 2.4 sigmoid 函数图 3. ReLU 函数 3.1 ReLU 函数表达式 3.2 ReLU 函数 Python 实现 3.4 ReLU…