SQL注入基础知识(自己的笔记)

简介: 这是0xThrL的GD师傅在学习SQL注入时候写的笔记 ,也是希望可以帮助到大家,有什么问题希望各位师傅可以指出。

这是0xThrL的GD师傅在学习SQL注入时候写的笔记 ,也是希望可以帮助到大家,有什么问题希望各位师傅可以指出。


前言



97c3f12838794fd49be7ac51a7eb6799.png


一、SQL注入的本质



Sql 注入攻击是攻击者通过将恶意的Sql 查询或添加语句插入到应用的输入参数中,后台 Sql 服务器上解析执行进行的攻击,说大白话就是用户输入的数据被当做SQL代码执行,但是前提是你可以自由输入。跟哪个语言的站没有关系


二、基础



1.怎么检测SQL注入


闭合(传入引号、让传入的引号和原本的引号配对、注释掉后面的引号)


经典方法

and 1=1 正确
and 1=2 错误
select *from news where id=1 and 1=1 =>如果被当做代码执行 返回正常
select *from news where id='1 and 1=1' => 如果没被当做代码 返回错误


字符串:1 and 1=1

如果数据库的字段是数字类型:强转    这是有可能会遇到的情况

所以说我们需要进行佐证:


佐证:select *from news where id=1 and 1=2   =>    错误


注:了解一下就行 只要是有防护的站80%都会拦截  因为这个方法太老了哈哈哈


数字运算符法

select*from news where id=2-1


如果返回了1的值 那就是存在sql注入

+  -  *  /  都可以

但是有一点需要注意

GET会把+理解为空格 所以使用+就需要URL编码 %2b


2.注入思路


先假设 -> 去验证 -> 根据结果

       ->情况1:继续往下走

       ->情况2::你是错的


一直去测

       单引号 >= ' 1=1 -- qwe

       双引号

       单引号加括号

       正常情况下的闭合 => ' " ') ")


核心:如何通过SQL注入获取数据库信息(联合查询法)

       union 联合查询(把两条SQL语句一起去执行)

       A语句 union B语句     要注意的是这个union有一个隐形条件A语句和B语句字段相同才能使用database(); //查询库名


库、表、字段

字段相同=>B语句输出多少字段是我们可以控制

怎么知道A语句的输出究竟有字段 order by


order by 3 没数据
order by 2 有数据 => 2个字段
union select 1,2


排序(正常情况下开发一般只会输出第一条数据)

怎么判断哪里也有一个用数字判断的方法我没写,各位师傅自己去学吧哈哈


总结



以上就是GD师傅今天要跟大家分享学习SQL注入的笔记,如果文章有问题希望师傅们指出。






目录
相关文章
|
25天前
|
SQL 安全 数据库
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
【7月更文挑战第26天】在 Python Web 开发中, 安全性至关重要。本文聚焦 SQL 注入、XSS 和 CSRF 这三大安全威胁,提供实战防御策略。SQL 注入可通过参数化查询和 ORM 框架来防范;XSS 则需 HTML 转义用户输入与实施 CSP;CSRF 防御依赖 CSRF 令牌和双重提交 Cookie。掌握这些技巧,能有效加固 Web 应用的安全防线。安全是持续的过程,需贯穿开发始终。
48 1
Python Web开发者必学:SQL注入、XSS、CSRF攻击与防御实战演练!
|
26天前
|
SQL 安全 数据库
从入门到精通:Python Web安全守护指南,SQL注入、XSS、CSRF全防御!
【7月更文挑战第25天】在Python Web开发中确保应用安全至关重要。以下是针对SQL注入、XSS与CSRF攻击的防护策略及示例代码
43 6
|
26天前
|
SQL 安全 数据库
|
23天前
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
【7月更文挑战第27天】在 Web 开发中,Python 面临着如 SQL 注入、XSS 和 CSRF 等安全威胁。
46 0
|
25天前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
【7月更文挑战第26天】在 Web 开发中, SQL 注入与 XSS 攻击常令人担忧, 但掌握正确防御策略可化解风险. 对抗 SQL 注入的核心是避免直接拼接用户输入至 SQL 语句. 使用 Python 的参数化查询 (如 sqlite3 库) 和 ORM 框架 (如 Django, SQLAlchemy) 可有效防范. 防范 XSS 攻击需严格过滤及转义用户输入. 利用 Django 模板引擎自动转义功能, 或手动转义及设置内容安全策略 (CSP) 来增强防护. 掌握这些技巧, 让你在 Python Web 开发中更加安心. 安全是个持续学习的过程, 不断提升才能有效保护应用.
35 1
|
25天前
|
SQL 安全 前端开发
Web安全新纪元:Python如何筑起SQL注入、XSS、CSRF的铜墙铁壁?
【7月更文挑战第26天】在Web开发中,安全性至关重要。Python提供强大工具来抵御SQL注入、XSS和CSRF等威胁。使用ORM如Django和SQLAlchemy可防SQL注入; Django等框架自动转义输出防XSS; CSRF通过自动及手动验证令牌来阻止。开发者须持续学习最新安全实践以保护用户数据。迈向Web安全新纪元,Python助你一臂之力。
26 1
|
23天前
|
SQL 安全 数据库
Python Web开发者必看!SQL注入、XSS、CSRF全面解析,守护你的网站安全!
【7月更文挑战第27天】在 Python Web 开发中, 安全至关重要。
36 0
|
23天前
|
SQL 安全 JavaScript
告别Web安全小白!Python实战指南:抵御SQL注入、XSS、CSRF的秘密武器!
【7月更文挑战第27天】在 Web 开发中,安全漏洞如同暗礁,其中 SQL 注入、XSS 和 CSRF 尤为棘手。本文通过实战案例展示如何使用 Python 抵御这些威胁。
44 0
|
23天前
|
SQL 安全 数据库
守护Web世界的和平使者:Python Web安全基础,从认识SQL注入、XSS、CSRF开始!
【7月更文挑战第27天】在数字世界里,Web应用如星辰照亮信息交流,但也潜藏安全隐患:SQL注入、XSS与CSRF。SQL注入让攻击者操控数据库;通过参数化查询可防御。XSS允许执行恶意脚本;确保输出编码至关重要。CSRF诱骗用户发送恶意请求;使用CSRF令牌能有效防护。作为开发者,掌握Python Web安全基础,如Flask和Django的安全特性,能帮助我们守护这片数字天地的和平与繁荣。
25 0