实验9 基于WebGoat平台的SQL注入攻击

实验9 基于WebGoat平台的SQL注入攻击

1.实验目的
熟悉WebGoat平台,在该平台上实现SQL注入攻击。
2.实验内容
(1)下载webgoat-server-8.2.2.jar。
(2)搭建java环境。
(3)运行webgoat。
(4)实施SQL注入攻击。
3.实验步骤
(将实验过程及运行结果截图放入实验报告中)
启动webgoat
在这里插入图片描述
第九题
在这里插入图片描述

第十题
在这里插入图片描述

第十一题
在这里插入图片描述

第十二题
在这里插入图片描述

第十三题
在这里插入图片描述

4.实验思考
(1)举例说明SQL 注入攻击发生的原因。
SQL注入攻击发生的原因通常在于应用程序对用户输入的处理不当,未能正确区分用户输入的数据和SQL代码。
假设有一个简单的Web应用程序,它使用以下PHP代码来根据用户提供的用户名查询数据库中的用户信息:

 <?php $username = $_GET['username']; // 从URL获取用户输入的用户名 $query = "SELECT * FROM users WHERE username = '$username'"; $result = mysqli_query($connection, $query); ?> 

在这个例子中,如果用户通过URL提供以下输入:

 http://example.com/search.php?username=' OR '1'='1 

那么拼接后的SQL查询将变成:

 SELECT * FROM users WHERE username = '' OR '1'='1' 

由于条件’1’='1’总是为真,这个查询将返回users表中的所有记录,而不仅仅是具有指定用户名的记录。这就是一个典型的SQL注入攻击示例,它利用了应用程序对用户输入处理不当的漏洞。

(2)从信息的CIA 三要素(机密性、完整性、可用性)出发,举例说明SQL 注入攻击造成的破坏。
一、机密性破坏
案例:攻击者可以通过构造恶意的SQL语句,绕过正常的身份验证和授权机制,获取到未经授权的数据。例如,攻击者可能通过拼接字符串,使得SQL语句中有条件永远为真,从而无需判断其他条件就能查看数据库里全部人的信息。这些信息可能包括用户账号、密码、个人资料等敏感数据。
二、完整性破坏
案例:攻击者可以通过修改查询条件或执行恶意的更新语句来篡改数据库中的数据。例如,攻击者可以在SQL语句执行的时候更改其他数据,如将某用户的salary修改为$100,或者删除某些重要记录,这将破坏数据的完整性,并可能影响业务流程的正常运作。
三、可用性破坏
案例:攻击者可以通过发送恶意的SQL查询或指令,消耗数据库系统的资源,导致其无法正常响应合法用户的请求。例如,攻击者可以通过注入恶意的SQL代码来删除数据库中的重要表或数据,或者通过注入恶意代码来使数据库服务器崩溃或拒绝服务。这将导致数据库系统的服务不可用,从而影响系统的正常运行和用户的正常使用。

(3)通过表单输入用户名来查询特定用户信息,写出获得表格中所有用户信息的SQL语句。

SELECT * FROM user_data WHERE first_name = 'John' AND last_name =  ' Smith'  or '1'='1 ' ;

(4)如果想修改“Bob”用户的salary为$100,应该写怎样的SQL语句?

SELECT * FROM employees WHERE last_name = 'sadf' AND auth_tan = ' ';update employees set salary = 100 where first_name = ‘Bob’and last_name = ‘Brant';

(5)如果想破坏employees的可用性,应该写怎样的SQL语句?

SELECT * FROM user_data WHERE login_count ='  '; drop table access_log; 

(6)怎样预防和避免SQL 注入攻击。
严格输入验证:对用户输入的数据进行严格验证,确保其符合预期格式和范围。使用正则表达式或其他验证工具来检查输入数据的有效性。
输入过滤:过滤掉用户输入中的特殊字符和潜在的危险字符,如单引号、双引号、分号等。
预编译SQL语句:使用预编译的SQL语句和参数绑定技术,将用户输入作为参数传递给SQL语句,而不是直接拼接到SQL语句中。
存储过程:在可能的情况下,使用存储过程来执行数据库操作。
限制数据库用户权限:确保数据库用户只具有执行必要操作的最低权限。避免使用具有超级用户权限的数据库账户来运行应用程序。
应用程序与数据库分离:将应用程序与数据库服务器分离,通过中间层或API进行通信。

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

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

相关文章

StochSync:可在任意空间中生成360°全景图和3D网格纹理

StochSync方法可以用于在任意空间中生成图像&#xff0c;尤其是360全景图和3D网格纹理。该方法利用了预训练的图像扩散模型&#xff0c;以实现零-shot生成&#xff0c;消除了对新数据收集和单独训练生成模型的需求。StochSync 结合了 Diffusion Synchronization&#xff08;DS&…

研发管理知识

定义 研发管理是对研发活动进行有效的计划、组织、领导和控制的过程&#xff0c;旨在通过合理配置资源、协调团队工作、监控项目进度和质量等&#xff0c;确保研发项目能够按时、按质、按量完成&#xff0c;实现企业的技术创新和产品升级目标&#xff0c;增强企业的核心竞争力。…

HarmonyOS 5.0应用开发——全局自定义弹出框openCustomDialog

【高心星出品】 文章目录 全局自定义弹出框openCustomDialog案例开发步骤完整代码 全局自定义弹出框openCustomDialog CustomDialog是自定义弹出框&#xff0c;可用于广告、中奖、警告、软件更新等与用户交互响应操作。开发者可以通过CustomDialogController类显示自定义弹出框…

AOS安装及操作演示

文章目录 一、安装node1.1 在 macOS 上管理 Node版本1.1.1 安装 nvm1.1.2 验证 nvm 是否安装成功1.1.3 使用 nvm 安装/切换 Node.js 版本1.1.4 卸载 Node.js 版本 1.2 在 windows 上管理 Node版本1.2.1 安装 nvm-windows1.2.2 安装 Node.js 版本1.2.3 切换 Node.js 版本1.2.4 卸…

DeepSeek模型R1服务器繁忙,怎么解决?

在当今科技飞速发展的时代&#xff0c;人工智能领域不断涌现出令人瞩目的创新成果&#xff0c;其中DeepSeek模型无疑成为了众多关注焦点。它凭借着先进的技术和卓越的性能&#xff0c;在行业内掀起了一股热潮&#xff0c;吸引了无数目光。然而&#xff0c;如同许多前沿技术在发…

AIGC-微头条爆款文案创作智能体完整指令(DeepSeek,豆包,千问,Kimi,GPT)

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列AIGC(GPT、DeepSeek、豆包、千问、Kimi)👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资…

[LLM面试题] 指示微调(Prompt-tuning)与 Prefix-tuning区别

一、提示调整(Prompt Tuning) Prompt Tuning是一种通过改变输入提示语&#xff08;input prompt&#xff09;以获得更优模型效果的技术。举个例子&#xff0c;如果我们想将一条英语句子翻译成德语&#xff0c;可以采用多种不同的方式向模型提问&#xff0c;如下图所示&#xf…

CSS 性能优化全攻略:提升网站加载速度与流畅度

系列文章目录 01-从零开始学CSS选择器&#xff1a;属性选择器与伪类选择器完全指南 02-避免样式冲突&#xff1a;掌握CSS选择器优先级与层叠规则的终极指南 03-如何精确掌控网页布局&#xff1f;深入解析 CSS 样式与盒模型 04-CSS 布局全面解析&#xff1a;从传统浮动到现代 F…

自主项目面试点总结

1、许苑–OJ判题系统 技术栈&#xff1a;Spring BootSpring Cloud AlibabaRedisMybatisMQDocker 项目地址: https://github.com/xuyuan-upward/xyoj-backend-microservice 1.1、项目介绍: 一个基于微服务的OJ系统&#xff0c;具备能够根据管理员预设的题目用例对用户提交的代…

12.推荐系统的前沿技术

接下来我们将学习推荐系统的前沿技术。推荐系统是一个快速发展的领域&#xff0c;许多新技术和新方法不断涌现&#xff0c;进一步提升了推荐系统的性能和效果。在这一课中&#xff0c;我们将介绍以下内容&#xff1a; 图神经网络&#xff08;GNN&#xff09;在推荐系统中的应用…

【py】python安装教程(Windows系统,python3.13.2版本为例)

1.下载地址 官网&#xff1a;https://www.python.org/ 官网下载地址&#xff1a;https://www.python.org/downloads/ 2.64版本或者32位选择 【Stable Releases】&#xff1a;稳定发布版本&#xff0c;指的是已经测试过的版本&#xff0c;相对稳定。 【Pre-releases】&#…

CEF132 编译指南 MacOS 篇 - depot_tools 安装与配置 (四)

1. 引言 在 CEF132&#xff08;Chromium Embedded Framework&#xff09;的编译过程中&#xff0c;depot_tools 扮演着举足轻重的角色。这套由 Chromium 项目精心打造的脚本和工具集&#xff0c;专门用于获取、管理和更新 Chromium 及其相关项目&#xff08;包括 CEF&#xff…

1312:【例3.4】昆虫繁殖

1312&#xff1a;【例3.4】昆虫繁殖 时间限制: 1000 ms 内存限制: 65536 KB 提交数:60386 通过数: 29787 【题目描述】 科学家在热带森林中发现了一种特殊的昆虫&#xff0c;这种昆虫的繁殖能力很强。每对成虫过xx个月产yy对卵&#xff0c;每对卵要过两个月长成成虫…

Linux防火墙设置

目录 Ubuntu防火墙&#xff08;UFW&#xff09;常用设置 1. 查看防火墙状态 2. 开启/关闭防火墙 3. 管理端口 4. 管理IP地址 5. 服务管理 CentOS防火墙&#xff08;firewalld&#xff09;常用设置 1. 查看防火墙状态 2. 启动/关闭防火墙 3. 设置开机启动 4. 管理端口…

Git 日志查看与版本回溯

引言 在软件开发的漫漫长路中&#xff0c;代码就如同我们搭建软件大厦的基石&#xff0c;而 Git 则是一位默默守护并精心管理这些基石的 “管家”。它不仅能记录代码的每一次变动&#xff0c;还提供了强大的日志查看和版本回溯功能&#xff0c;这些功能就像是给开发者配备了一…

针对Prompt优化的深入分析

一、针对Prompt优化的深入分析 1. 结构化设计 技术原理&#xff1a; 大语言模型&#xff08;LLMs&#xff09;本质是基于概率的序列生成器&#xff0c;结构化模板通过显式定义输出框架&#xff08;如角色、段落数、连接词&#xff09;&#xff0c;利用模型的模式匹配能力&…

fps动作系统9:动画音频

文章目录 动画音频创建音频蓝图cue音量乘数 音效衰减衰减空间 绑定到动画动画序列轨道 动画音频 创建音频蓝图 cue 音量乘数 音量大小 音效衰减 空间音效 衰减 空间 绑定到动画 动画序列 轨道 横着的方向是有不同的轨道的&#xff0c;阴影的就是。

TensorRT【详解】

文章目录 1、 1、 参考&#xff1a; 1、nVidia TensorRT pytorch Docker 下载&#xff1a;https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch/tags 2、nVidia TensorRT pytorch Docker 版本讲解&#xff1a;https://docs.nvidia.com/deeplearning/frameworks/py…

解决QTimer报“Timers cannot be started from another thread“错误

今天在Qt编程时&#xff0c;将QTimer在子线程里执行start()函数&#xff0c;遇到“Timers cannot be started from another thread”问题&#xff0c;使用了如下AI工具&#xff0c;进行查询&#xff1a;     提示词A&#xff1a;“C QTimer 如何跨线程”     提示词B&#…

【AI知识点】苦涩的教训 The Bitter Lesson by Rich Sutton(2019)

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】【AI应用】 “The Bitter Lesson” 是由 Richard Sutton&#xff08;强化学习领域的先驱之一&#xff09;提出的一个概念&#xff0c;指的是机器学习领域在长期发展过程中&#xff0c;尤其是在强…