SQL注入基础样例1

发布于:2022-10-14 ⋅ 阅读:(276) ⋅ 点赞:(0)

SQL注入原理

由于程序员对用户输入数据没有做完善的检查、过滤,导致恶意命令插入到正常数据中执行,达到SQL注入的目的。其主要危害包含写入os-shell文件、脱库、后期提权等。

SQL注入类型

提交方式:GET、POST
攻击方式:报错注入、union联合注入、布尔盲注、时间盲注、http头注入、宽字节注入(中国网站)、文件注入、DNS注入等

本文内容------SQL注入-get类型

本文主要讲述最最最基础的SQL注入流程,不包括过waf(防火墙)的一些操作----会在后面说明。本次展示union联合注入–get类型,进行脱库处理

1.信息搜集

(首先直接把键盘敲烂然后成功脱库—想啥呢…)
首先我们要当个正常人,知道这个数据是如何进行传输的,是GET类型还是POST类型传输参数,一般通过地址栏参数简单辨别,也可以通过抓包工具如BurpSuite等分辨,前期猥琐发育我们还是正常人
在这里插入图片描述
在这里插入图片描述

2.确定闭合方式

小知识:我们要知道SQL语句的闭合方式:无符号闭合、单引号—‘’、双引号—“”、单引号与括号联动—‘)、双引号与括号联动—“)、单引号括号双引号—‘)“、以及搜索语句中—‘%’闭合
其次我们尝试通过字符转义、传入大数id=50000000等各种方式来使其报错—此处表示你已经过了waf(即使你不会),我们观察他的闭合方式,诱导语句闭合并使用- -+把后面语句注释掉
(so 有的waf会把- -+给过滤掉)
在这里插入图片描述
在这里插入图片描述

3.确定栏目数目

利用order by确定栏目数目,从大到小,采用二分法(10 5 3 …),正常则说明栏目数目猜对了(哎~就是猜的)无则非正常显示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.确定注入方式

这里采用union联合注入,id=1是正常指令会覆盖掉我们想要的数据,所以我们得搞他,让他变得不正常。(输入不存在数据、加个负号…)
在这里插入图片描述

在这里插入图片描述

5.开始利用系统库与函数进行注入

小知识:我们需要使用的系统库msql 5.0以上版本才有,有些网站(非常老的)没有系统库,采取其他方法进行处理,后面学了再说。
select * 显示数据
database()–数据库
information_schema.tables-----备份表名
information_schema.columns----备份栏目名
group_concat(table_name/column_name)----抓取函数

在这里插入图片描述
table_schema=database()等价
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
到这里基本流程差不多了,后期主要学习攻击方式和如何过waf,基本流程是这样,也可以根据原理使用python写一个自动注入程序,类似sqlmap
学废了,请点赞一手!
没学废,请回炉重造!

本文含有隐藏内容,请 开通VIP 后查看