您当前的位置:首页 > 电脑百科 > 安全防护 > 数据安全

用户头像SQL 入门到入魔(SQL 注入原因和流程)

时间:2021-06-29 10:07:40  来源:今日头条  作者:网络安全—大炮乔

前言:

在之前校招面试中,sql被问到频率是真的高,当初为了能够在sql这块加分,看了不少书籍,在网上也找了不少资料,走了不少弯路,庆幸的是,每次面试官问到sql相关知识,我基本都能对答如流,而且还能从一个小的知识点扯出一大堆的那种,所以呢,今天我想详细给大家分享一下我都学习了啥,文中会给出书籍 + 看过的资料。

SQL入门

sql 入门随便找一个教程就可以了,我看的是《SQL Server 从入门到精通》《SQL注入攻击与防御》这两本书,跟着书敲代码即可,感觉一两周周时间就可以快速刷完了,反正命令不用死记硬背,需要用的时候,翻开书本会用就行了,后面去刷一刷 sql 的练习题,

入门阶段最重要的就是要大致知道 sql 有哪些关键字,还有就是关键字直接的执行顺序,例如像 join,have,order by,聚合函数等等,知道个大概就行,之后要多练习,否则很容易一问三不知,至于那里练习,我上面已经跟大家说了。

SQL注入

什么是SQL注入

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息

SQL的类型 Structured Query Language

  • DQL: Query, select
  • DML: Manual, insert update delete
  • DDL: Define, create drop alter
  • DCL: Control, grant revoke commit rollback
  • 函数数:字符串函数、数字函数、日期函数
  • 运算符:算术运算符、比较运算符、逻辑运算符、位运算符

IPv4地址

192.168.1.110

1100 0000 1010 1000 0000 0001

端口

域名(domain name)

  •  顶级域名.com .net .org
  •  国别域名.cn (中国).us (美国)jp (日本)

子域名:

www.baidu.com、 map.baidu.com、 tieba.baidu.com

DNS (Domain Name System)

用户头像SQL 入门到入魔(SQL 注入原因和流程)

 

DNS解析流程

用户头像SQL 入门到入魔(SQL 注入原因和流程)

 

端口和文件

用户头像SQL 入门到入魔(SQL 注入原因和流程)

 

项目架构

用户头像SQL 入门到入魔(SQL 注入原因和流程)

 

SQL注入的发生

用户头像SQL 入门到入魔(SQL 注入原因和流程)

 

 如何获取数据库信息

  • show命令
  • select + 函数
  • 系统库

MySQL系统库(5.7)

用户头像SQL 入门到入魔(SQL 注入原因和流程)

 


用户头像SQL 入门到入魔(SQL 注入原因和流程)

 


用户头像SQL 入门到入魔(SQL 注入原因和流程)

 

GET请求

http://localhost/school/url.php?id = 1

参数会如何处理?

user=admin&password=123456
"select * from test where user = ” + user + " and password = ” + password

怎么传入SQL?

如何结束一个SQL?

点查询分析器上的红方块,或者直接终止进程.不过,SQL2000这样做,语句就丢失了,但是2005在打开查询分析器时会提示是否恢复.

如何忽略后续语句?

void Func(int _flag)
{
try
{
if (_flag & 1> 0)
{
_falg &= ~1;
statement1
}
if (_flag & 2> 0)
{
_falg &= ~2;
statement2
}
if (_flag & 4> 0)
{
_falg &= ~4;
statement3
}
...
}
catch (Exception ex)
{
//如何返回使继续下意语句的执行
//即:如果statement1出错,不理会,继续执行statement2...
Func(_falg);
}
}

什么语句可以包含两个以上的select?

1.

select * from test where class = 1 or class = 2 order by id desc

2.

const String strconn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=Z:\test.mdb";
OleDbConnection conn=new OleDbConnection(strconn);
DataSet ds=new DataSet();
conn.Open();
string sql="select * from test where class = 1 order by id desc";
OleDbCommand cmd=new OleDbCommand(sql,conn);
OleDbDataAdapter adapter1=new OleDbDataAdapter(cmd);
adapter1.Fill(ds,"class1");

sql="select * from test where class = 2 order by id desc";
adapter1.SelectCommand.CommandText = sql;
adapter1.Fill(ds,"class2");

conn.Close();

 

SQL注入的完整流程

  • 判断是否可以注入
  • 获得数据库名
  • 获得集名
  • 获取列名
  • 获得数据

其他知识

哈希破解

哈希算法可以检验信息是否是相同的,这样的优势可以节省重复文件传送的时间。
举一个生活中很平常的例子,我们在生活工作中会使用一些软件给别人传送文件数据,如果有人传送了一份文件给一个人,然后又有一个人传送了相同的文件给了另外一个人,那么这个社交软件在第二次传送文件的时候会对比两次传送的哈希值,发现是相同的,该软件就不会再次上传文件给服务器了。
除此之外,哈希算法还可以检验信息的拥有者是否真实。
比如,我们在一个网站注册一个账号,如果网站把密码保存起来,那这个网站不论有多安全,也会有被盗取的风险。但是如果用保存密码的哈希值代替保存密码,就没有这个风险了,因为哈希值加密过程是不不可逆的

子域名挖掘

用户头像SQL 入门到入魔(SQL 注入原因和流程)

 

URL采集



Tags:SQL 注入   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
前言:在之前校招面试中,sql被问到频率是真的高,当初为了能够在sql这块加分,看了不少书籍,在网上也找了不少资料,走了不少弯路,庆幸的是,每次面试官问到sql相关知识,我基本都能对答如...【详细内容】
2021-06-29  Tags: SQL 注入  点击:(101)  评论:(0)  加入收藏
来源:jizhi.im/blog/post/sql_injection_intro先来看一副很有意思的漫画:相信大家对于学校们糟糕的网络环境和运维手段都早有体会,在此就不多做吐槽了。今天我们来聊一聊SQL注...【详细内容】
2020-03-06  Tags: SQL 注入  点击:(106)  评论:(0)  加入收藏
出处:https://jizhi.im/blog/post/sql_injection_intro先来看一副很有意思的漫画: 今天我们来聊一聊SQL注入相关的内容。何谓SQL注入?SQL注入是一种非常常见的数据库攻击手段,SQ...【详细内容】
2020-02-07  Tags: SQL 注入  点击:(99)  评论:(0)  加入收藏
▌简易百科推荐
众所周知,Windows系统流氓软件众多,其中不乏出身大厂的产品。这些带有流氓性质的软件,很多都会偷偷扫描系统数据,读取用户文件,造成电脑卡顿拖慢不说,还严重侵害了个人隐私,造成巨...【详细内容】
2021-12-06  趣玩APPS    Tags:流氓软件   点击:(16)  评论:(0)  加入收藏
前言目标是一大学,在一次挖洞过程中遇到个sql注入,尝试进一步利用扩大危害,漏洞已报送平台进行了修复私信我获取网络安全学习资料 1.2000多本网络安全系列电子书 2.网络安全标...【详细内容】
2021-11-26  IT野涵    Tags:sql注入   点击:(21)  评论:(0)  加入收藏
互联网时代,不论是个人还是组织,都将数据视为一项重要的资产。为了便于存储、管理,企业常常会为各项数据建立一个数据库,如果没有做好安全风险防护,一旦数据库被攻占,企业将迎来很...【详细内容】
2021-10-28  快快网络   企鹅号  Tags:数据库   点击:(50)  评论:(0)  加入收藏
前言(可能思路狭隘,有缺有错,师傅们多带带)【查看资料】Author: 0ne本篇文章数据来源于18+省市级别HVV,90+单位失陷报告。(一部分是笔者的参与,一部分是薅的公司其他师傅的报告...【详细内容】
2021-10-28  IT野涵    Tags:缺口   点击:(46)  评论:(0)  加入收藏
本人也是小白一枚,大佬请绕过,这个其实是六月份的时候做的,那时候想多点实战经验,就直接用谷歌搜索找了一些网站,这个是其中一个1、目标网站 2、发现有WAF防护 3、判断存在注入...【详细内容】
2021-10-19    博客园  Tags:SQL注入   点击:(51)  评论:(0)  加入收藏
一 前言本文将针对开发过程中依旧经常出现的SQL编码缺陷,讲解其背后原理及形成原因。并以几个常见漏洞存在形式,提醒技术同学注意相关问题。最后会根据原理,提供解决或缓解方案...【详细内容】
2021-09-17  woaker    Tags:SQL注入漏洞   点击:(65)  评论:(0)  加入收藏
前言本人ctf选手一名,在最近做练习时遇到了一些sql注入的题目,但是sql注入一直是我的弱项之一,所以写一篇总结记录一下最近学到的一些sql注入漏洞的利用。可回显注入联合注入在...【详细内容】
2021-08-26  合天网安实验室    Tags:sql注入   点击:(59)  评论:(0)  加入收藏
“放纵自己的欲望是最大的祸害,窥探别人的隐私是最大的罪恶,不知自己的过失是最大的病痛”。 上文咱们知道了目前互联网的数据安全存在隐患,数据安全的问题,每天都在发生,只不过...【详细内容】
2021-08-13  小陶子矿工    Tags:IPFS   点击:(79)  评论:(0)  加入收藏
前言最近挖edusrc的时候遇到有注入点但是有waf绕不过,头疼。 可以看到还是phpstudy建站的,太熟悉了这个,不知道这个什么waf各位师傅知道的可以评论一下,所以写这篇文章是供各位...【详细内容】
2021-08-13  IT影子    Tags:sql注入   点击:(63)  评论:(0)  加入收藏
1. 使用 Burpsuite: 1. Capture the request using burpsuite. 2. Send the request to burp scanner. 3. Proceed with active scan. 4. Once the scan is finished, l...【详细内容】
2021-08-04  李志宽    Tags:SQL注入   点击:(74)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条