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

【测试开发】--安全渗透测试

1. 安全渗透

1.1 分类

  • web数据库安全
  • web应用服务器安全(文件上传漏洞、文件包含漏洞)
  • web客户端安全(XSS跨站攻击)

2. sql注入

2.1 sql注入介绍

  • sql注入在安全问题中排行榜首
  • sql注入攻击是输入参数未经过滤,然后直接拼接到sql语句当中解析
  • sql注入是一种将sql代码添加到输入参数中,传递到服务器解析并执行的一种攻击手法

2.2 sql注入原理

  • 攻击者在页面提交恶意字符
  • 服务器未对提交参数进行过滤或者过滤不足
  • 攻击者利用拼接sql语句方式获取数据库敏感信息

2.3 sql注入危害

  • 数据库泄漏
  • 用户数据被非法买卖
  • 危害web应用安全

2.4 sql注入实现方式

  • 手动
    • 查找:注入点
    • 输入:sql常用注入组合语法,进行注入
  • 自动(工具)
    • 工具:扫描注入点
    • 输入:自动尝试各种组合语法

3.环境搭建

3.1 vmware虚拟机

3.1.1 作用

  • 虚拟机软件,可以使用软件在物理机上安装多个虚拟操作系统(Linux、windows)
  • 靶机与渗透剂运行以来VMware软件
    VMware下载教程

3.2 靶机(学习使用项目环境)

作用

  • 一个Linux虚拟机系统,在这个虚拟机中安装了一些已知漏洞的web应用程序,方便学习
  • OWASP靶机安装教程

3.3 渗透机(学习攻击sql注入环境)

作用:

  • Kali包含数百种工具,可用于各种信息安全任务,例如渗透测试,安全研究

4. 手动注入

4.1 环境准备

说明:通过靶机web应用程序,练习手动注入
步骤:

  • 启动靶机OWASP
    在这里插入图片描述

  • 通过浏览器访问靶机

  • 访问OWASP-dvwa项目
    在这里插入图片描述

  • 登陆
    在这里插入图片描述

  • 选择sql注入应用程序
    在这里插入图片描述

4.2 查找注入点

说明:主要采用单引号,转义字符\,以单引号为主
原理:

#后台程序sql语句
select first_name,last_name from users where user_id = '$id';
#输入单引号('),相当于将sql语句闭合,后面就可以使用附加其他逻辑条件了
select first_name,last_name fro users where user_id = ''';

在这里插入图片描述

在这里插入图片描述

4.3 逻辑或

在这里插入图片描述

4.4 猜测列数

  1. 通过union
' union select 1,2 #

在这里插入图片描述
2. 通过逻辑或

'or 1=1#

在这里插入图片描述

4.5 获取数据库、表、列

获取数据库名

' union select 1,database()#

在这里插入图片描述
获取表

' union select table_name,1 from information_schema.tables where table_schema='dvwa' #

在这里插入图片描述

获取列

' union select column_name,1 from information_schema.columns where table_name='users' #

在这里插入图片描述

4.6 获取数据

//1. 获取单个字段数据
' union select user,1 from users#//2. 获取两个字段
' union select user,password from users#

在这里插入图片描述

4.7 concat函数

作用:拼接多个字符串为一个字符串
语法:concat(str1,str2,…)
示例:

  • 获取users表中user_id,user,password,分为两列显示
select user_id,concat (user,password) from dvwa,users;

在这里插入图片描述

  • 解决user和password拼接在一起的问题
select user_id,concat('user:',user,' password:',password) from dvwa.users;

在这里插入图片描述

  • 获取多个字段
' union select user,concat(first_name,' ',last_name,' ',password) from users#

在这里插入图片描述

5. 自动注入

5.1 自动注入介绍

说明:自动注入是指利用工具代替人工去完成sql注入操作
工具:sqlmap

5.2 自动注入环境

  • 启动靶机
  • 启动渗透机

5.3 sqlmap

工具:sqlmap

  • 一个开源渗透测试工具
  • 自动检测和利用sql注入漏洞并接管数据库服务器
    搭建:

5.3.1 sqlmap基本用法

参数

  • -u:扫描的目标url
  • –batch:自动处理提示信息
  • –cookie:附加cookie参数

步骤

  • 扫描注入点
  • 获取数据库名
  • 获取表名
  • 获取字段名
  • 获取数据

由于需要登陆,我们首先获取已登录页面的cookie
在这里插入图片描述
然后开始扫描注入点
在这里插入图片描述
成功注入
在这里插入图片描述

5.3.2 sqlmap获取库名

– current-db:查询当前web使用的数据库名
-D:应用指定数据库
在这里插入图片描述
运行结果:
在这里插入图片描述

5.3.3 sqlmap获取表

– current-db:查询指定库下所有表名(需要先使用-D指定库名)
-T:指定表
在这里插入图片描述

运行结果:
在这里插入图片描述

5.3.4 sqlmap获取列

– columns:查询指定表下所有字段(需要先使用-T指定表名)
-C:指定字段名

在这里插入图片描述
运行结果:
在这里插入图片描述

5.3.5 sqlmap获取数据

–dump:下载数据

在这里插入图片描述
运行结果:
在这里插入图片描述

相关文章:

【测试开发】--安全渗透测试

1. 安全渗透 1.1 分类 web数据库安全web应用服务器安全(文件上传漏洞、文件包含漏洞)web客户端安全(XSS跨站攻击) 2. sql注入 2.1 sql注入介绍 sql注入在安全问题中排行榜首sql注入攻击是输入参数未经过滤,然后直…...

AMEYA360:类比半导体三款车规级新品介绍

类比半导体三款全新车规级智能驱动芯片——HD70504与HD70804四通道高边驱动、HD7004低导通电阻高边驱动以及DR8112直驱马达驱动芯片介绍,进一步扩展了其汽车智能驱动产品的深度与广度。 新品首发,诠释“芯”动未来 HD70504 & HD70804四通道高边驱动芯…...

内衣洗衣机哪个牌子好用?五大硬核宝藏内衣洗衣机推荐

在日常生活中,内衣洗衣机已成为现代家庭必备的重要家电之一。选择一款耐用、质量优秀的内衣洗衣机,不仅可以减少洗衣负担,还能提供高效的洗涤效果。然而,市场上众多内衣洗衣机品牌琳琅满目,让我们往往难以选择。那么&a…...

红酒与未来科技:传统与创新的碰撞

在岁月的长河中,红酒以其深邃的色泽、丰富的口感和不同的文化魅力,成为人类文明中的一颗璀璨明珠。而未来科技,则以其迅猛的发展速度和无限的可能性,领着人类走向一个崭新的时代。当红酒与未来科技相遇,一场传统与创新…...

php快速入门

前言 php是一门脚本语言,可以访问服务器,对数据库增删查改(后台/后端语言) 后台语言:php,java,c,c,python等等 注意:php是操作服务器,不能直接在…...

【排序 - 归并排序】

归并排序(Merge Sort)是一种高效的排序算法,基于分治(Divide and Conquer)策略。它将待排序数组分成两个较小的子数组,分别对它们进行排序,然后将排好序的子数组合并成一个整体有序的数组。归并…...

Appium元素定位(全网详细讲解)(二)

1.appium inspector(定位元素的工具)使用方法 详细介绍: 详细解释: 图标名称说明1Show Element Handles是否显示元素句柄2Select Elements选择元素定位3Tap/Swipe By Coordinates按坐标点击/滑动4Download Screenshot下载屏幕截…...

滑动窗口,最长子序列最好的选择 -> O(N)

最近在学校上短学期课程,做程序设计题,一下子回忆起了大一学数据结构与算法的日子! 这十天我会记录一些做题的心得,今天带来的是对于最长子序列长度题型的解题框架:滑动窗口 本质就是双指针算法: 通过le…...

【Python】已解决:Python安装过程中的报错问题

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确解决方法五、注意事项 已解决:Python安装过程中的报错问题 一、分析问题背景 在安装Python 3.9.6(64位)版本时,用户可能会遇到一个报错信息,提…...

C++ STL IO流介绍

目录 一:IO流的继承关系: 二:输入输出功能 1. 基本用法 2. 格式化输入 3.非格式化输入 4. 格式化输出 三:流 1. 字符流 2. 向字符流中写入数据 3. 从字符流中读出数据 4. 清空字符流 5.完整的例子 四:文件…...

华为浏览器,Chrome的平替,插件无缝连接

文章目录 背景插件书签 背景 不知道各位小伙伴有没有这样的痛点,办公电脑、家里的电脑还有手机、平板等,收藏了一个网址或者在手机上浏览了某个网页,保存起来,可是一换平台或者换个电脑,在想要浏览之前收藏的东西&…...

SpringBoot新手快速入门系列教程:前述

我自己是一个SpringBoot新手,花了一天时间学了SpringBoot。大家不要惊讶,前提是我自己已经有了10几年的编程经验精通多门语言,并且在人间最强兵器Chat某T的AI助手帮助下,才能创造一天快速学会一个框架的神话。 当然中间遇到了很多…...

C语言9 指针

目录 指针的声明与初始化 指针运算 指针的加法和减法 指针的比较 指针与数组 通过指针访问数组元素 指针与多维数组 声明指向多维数组的指针 访问多维数组元素 指针数组和数组指针 指针数组 数组指针 字符指针 字符串的定义和字符指针 直接使用字符指针初始化字…...

Floyd判圈算法——寻找重复数(C++)

287. 寻找重复数 - 力扣(LeetCode) 题目描述 给定一个包含 n 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。假设 nums 只有 一个重复的整数 ,返…...

面试题目分享

学习目标: 从面试了解自己的不足。 学习内容: 1.你会什么语言? 我该如何回答,我会java,c,c等,在工作中我会用到合适的语言。 牛逼吹的大话 尊敬的面试官,我精通Java和Python&…...

Solana开发之Anchor框架

文章目录 Solana开发之Anchor框架一、什么是Anchor二、安装和使用1. 安装rust2. 安装Solana下载预构建的二进制文件 3. 使用 Anchor 版本管理器 (avm) 进行安装(推荐) 四、Anchor 核心原理Anchor 程序由三部分组成程序的 ID 从哪里…...

界面组件Kendo UI for React 2024 Q2亮点 - 生成式AI集成、设计系统增强

随着最新的2024年第二季度发布,Kendo UI for React为应用程序开发设定了标准,包括生成式AI集成、增强的设计系统功能和可访问的数据可视化。新的2024年第二季度版本为应用程序界面提供了人工智能(AI)提示,从设计到代码的生产力增强、可访问性…...

python输出/sys/class/power_supply/BAT0/电池各项内容

读取 /sys/class/power_supply/BAT0/ 目录下的所有相关文件,并输出其内容: import os# 定义电池信息文件的路径 battery_path = "/sys/class/power_supply/BAT0/"# 读取文件内容的函数 def read_battery_info(file_name):try:with open(os.path.join(battery_path…...

HDFS体系架构文件写入/下载流程

HDFS体系架构 HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)是Hadoop项目中的一个核心组件,旨在以高容错、高吞吐量来处理大规模数据集。它的体系架构由以下几个主要部分组成:Client,NameNo…...

大模型之战进入新赛季,开始卷应用

最近一段时间,国产大模型Kimi彻底火了,而这波爆火,某种意义上也展示了一个问题,即大模型的落地场景可能比技术比拼,更重要。 国产大模型Kimi突然爆火,与Kimi相关的产业链甚至被冠上“Kimi概念股”之名&…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩

目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

华为OD机试-食堂供餐-二分法

import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

Java入门学习详细版(一)

大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...

力扣热题100 k个一组反转链表题解

题目: 代码: func reverseKGroup(head *ListNode, k int) *ListNode {cur : headfor i : 0; i < k; i {if cur nil {return head}cur cur.Next}newHead : reverse(head, cur)head.Next reverseKGroup(cur, k)return newHead }func reverse(start, end *ListNode) *ListN…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1&#xff09;准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2&#xff09;服务端安装软件&#xff1a;bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...