SQL 注入攻击_1 | 学习笔记

简介: 快速学习 SQL 注入攻击_1

开发者学堂课程【网络安全攻防 - Web渗透测试SQL 注入攻击_1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/630/detail/9904


SQL 注入攻击_1


目录:

一、概述

二、含义

三、实践


一、概述

SQL 注入可以说在整个 owasp 2013年和2017年度统计中注入漏洞排在第一位,注入漏洞所带来的危害很大,SQL注入可以说是其中一种,也是最常见的一种。

所谓 SQL 注入所造成的危害,比如说暴库,拖库,将数据库的内容荡下来,在业界发生很多类似的事件,2016年山东高考信息系统、游戏网站被破等事件,导致用户信息泄露。用户信息都是依托于数据库的存储,包括后台管理员账号都存储在数据库,所以数据库的安全都是黑客重点防御和攻击的一个方面。

常见数据库:MySQL,SQL Server,Oracle

无论是双十一还是天猫、京东在去检索一些产品的时候,例如买一台笔记本,我们会筛选一些条件,联想、苹果;

硬盘类型:固态的还是机械的;内存选择16G 还是32G 这样一些条件,点击按钮后,就是一条 SQL 语句,只不过 SQL 语句加了很多条件,包括下单也是 SQL 语 句,是 updata 操作。


二、含义

SQL 注入是通过特殊构建 SQL 语句,入侵目标系统,致使后台数据库泄露数据的过程。

SQL 语句是写在后端代码中的,前端代码是可以任意修改的,而后段代码是看不见修改不了的。例如数据框只允许输入50个字符,在前端发送请求的时候就可以将其改掉。

打开任意一个网站,此处举例百度,点击 F12 ,点中查看器,从页面上选择一个元素,下方代码就会显示出来,其中的 maxlength 就可以修改最长字符。

image.png

SQL 语句存在后端中,后端代码看不见更修改不了,后端代码是通过中间键处理交给 Web ServerWeb Server 给相应响应。

image.png

打开靶机,来到 web 应用中,进到低安全级别 dvwa,进入 SQL Injection,输入 ID,将你输入的 id 带入到 SQL 语句中去,查询到你的 ID,以及名字,下方 view Source 查看后端。

看到数据库的筛查过程,但是并不能将其修改,而所谓的 SQL 注入就是在看起来不能修改的情况下将其进行修改。

首先是不能删除原本的内容,只能想办法在输入的地方进行特殊构造,来实现你不可告人的目的。


三、实践

1、项目实验环境

目标靶机:OWASP_Broken_Web_Apps_VM_1.2

测试渗透机:Kali_Linux-2018.2-vm-amd64

2、SQL 注入危害

A、拖库导致用户数据泄露

B、危害 web 等应用的安全

C、失去操作系统的控制权

D、用户信息被非法买卖

E、危害企业及国家的安全

3、SQL 基础回顾

3.1登录 OWASP

项目环境:OWASP

1dvwa.users

2wordpress.wp.users

3mysql.user

3.2查看数据库:show databases

Show tables 是不支持显示现在所处库

Select databases 返回到所在的数据库

image.png

Select user 返回当前登录用户

image.png

Select now 返回当前时间

image.png

进入库 use dvwa

3.3查看表

Show tables 查看表

image.png

查看表的结构:

DESC/DESCRIBE 注意大写才能补全,小写不能补全

image.png

Field 字段名  type 字段类型  null 字段是否为空

Key 是否是主键  Dwfault 默认值  Extra 注释拓展属性

插入数据时需要依托数据结构插入。

3.4查看表的详细属性:show create table users\G

image.png

3.5查看表的详细记录 select *from users

image.png

3.6查询指定字段首先知道表的结构采取 desc users,在进行指定字段查询 select user_idfirst_name from users,字段需要用逗号隔开

image.png

相关文章
|
3月前
|
算法 数据挖掘 数据库
通过 SQL 快速使用 OceanBase 向量检索学习笔记
通过 SQL 快速使用 OceanBase 向量检索学习笔记
|
3月前
|
SQL 数据库
SQL 学习笔记 - 多表关系与多表查询
数据库多表关系包括一对多、多对多和一对一,常用外键关联。多表查询方式有隐式/显式内连接、外连接、子查询等,支持别名和条件筛选。子查询分为标量、列、行、表子查询,常用于复杂查询场景。
|
SQL 安全 Java
除了Flask框架,还有哪些框架能防止SQL注入攻击?
这些框架都在安全方面有着较好的表现,通过它们的内置机制和安全特性,可以有效地降低 SQL 注入攻击的风险。然而,无论使用哪个框架,开发者都需要具备良好的安全意识,正确配置和使用框架提供的安全功能,以确保应用的安全可靠。同时,持续关注安全更新和漏洞修复也是非常重要的。
554 162
|
SQL 监控 安全
Flask 框架防止 SQL 注入攻击的方法
通过综合运用以上多种措施,Flask 框架可以有效地降低 SQL 注入攻击的风险,保障应用的安全稳定运行。同时,持续的安全评估和改进也是确保应用长期安全的重要环节。
515 71
|
SQL 监控 小程序
在微信小程序中使用 Vant 时如何防止 SQL 注入攻击?
在微信小程序中使用 Vant 时如何防止 SQL 注入攻击?
447 58
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
474 2
|
SQL 安全 数据库
惊!Python Web安全黑洞大曝光:SQL注入、XSS、CSRF,你中招了吗?
在数字化时代,Web应用的安全性至关重要。许多Python开发者在追求功能时,常忽视SQL注入、XSS和CSRF等安全威胁。本文将深入剖析这些风险并提供最佳实践:使用参数化查询预防SQL注入;通过HTML转义阻止XSS攻击;在表单中加入CSRF令牌增强安全性。遵循这些方法,可有效提升Web应用的安全防护水平,保护用户数据与隐私。安全需持续关注与改进,每个细节都至关重要。
356 5
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
在Web开发领域,Python虽强大灵活,却也面临着SQL注入、XSS与CSRF等安全威胁。本文将剖析这些常见攻击手段,并提供示例代码,展示如何利用参数化查询、HTML转义及CSRF令牌等技术构建坚固防线,确保Python Web应用的安全性。安全之路永无止境,唯有不断改进方能应对挑战。
333 5
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
在Web开发领域,Python虽强大灵活,但安全挑战不容小觑。本文剖析Python Web应用中的三大安全威胁:SQL注入、XSS及CSRF,并提供防御策略。通过示例代码展示如何利用参数化查询、HTML转义与CSRF令牌构建安全防线,助您打造更安全的应用。安全是一场持久战,需不断改进优化。
238 3
|
SQL 安全 数据库
从入门到精通:Python Web安全守护指南,SQL注入、XSS、CSRF全防御!
【9月更文挑战第13天】在开发Python Web应用时,安全性至关重要。本文通过问答形式,详细介绍如何防范SQL注入、XSS及CSRF等常见威胁。通过使用参数化查询、HTML转义和CSRF令牌等技术,确保应用安全。附带示例代码,帮助读者从入门到精通Python Web安全。
280 6