信安之路 第六周数据库注入语句

学习目标:能看懂大部分的sql语句,做到给一个复杂的sql语句能看懂,知道是干什么用的,为什么这么写.

第一部分:获取payload

通过sqlmap awvs等工具
更新sqlmap
在这里插入图片描述
内容太多,先放弃了 用着再查

通过谷歌
在这里插入图片描述
第二部分:基础

1、注入的分类:

基于从服务器接收到的响应

▲基于错误的 SQL 注入

在URL加入了一些错误的SQL语句,被执行后返回了异常信息,这些异常信息当中包含了敏感信息

▲联合查询的类型

▲堆查询注入

回显注入:利用注入漏洞可以改变页面返回数据

▲SQL 盲注

•基于布尔 SQL 盲注

通过条件是否成立来判断substr截取第一个字符判断是否大于’a’,成立则页面返回数据

•基于时间的 SQL 盲注

通过返回时间的长短判断
获取第一个字符的ascii码,判断是否大于115,不成立延时5秒返回

•基于报错的 SQL 盲注

基于如何处理输入的 SQL 查询(数据类型)

•基于字符串
•数字或整数为基础的

基于程度和顺序的注入(哪里发生了影响)**

★一阶注射

★二阶注射
一阶注射是指输入的注射语句对 WEB 直接产生了影响, 出现了结果; 二阶注入类似存
储型 XSS, 是指输入提交的语句, 无法直接对 WEB 应用程序产生影响, 通过其它的辅助间
接的对 WEB 产生危害, 这样的就被称为是二阶注入.

基于注入点的位置上的

▲通过用户输入的表单域的注射。
▲通过 cookie 注射。
▲通过服务器变量注射。 (基于头部信息的注射)
以上就是通常分类,先记录下,通过后面的实验练习加深理解

2、系统函数

介绍几个常用函数:

  1. version()——MySQL 版本
  2. user()——数据库用户名
  3. database()——数据库名
  4. @@datadir——数据库路径
  5. @@version_compile_os——操作系统版本

3、字符串连接函数

  1. concat(str1,str2,…)——没有分隔符地连接字符串
  2. concat_ws(separator,str1,str2,…)——含有分隔符地连接字符串
  3. group_concat(str1,str2,…)——连接一个组的所有字符串, 并以逗号分隔每一条数据

以上三个函数能一次性查出所有信息 .

4、一般用于尝试的语句

Ps:–+可以用#替换, url 提交过程中 Url 编码后的#为%23
or 1=1–+
'or 1=1–+
“or 1=1–+
)or 1=1–+
‘)or 1=1–+
") or 1=1–+ "))or 1=1–+
一般的代码为:
i d = id= id=_GET[‘id’];
s q l = " S E L E C T ∗ F R O M u s e r s W H E R E i d = ′ sql="SELECT * FROM users WHERE id=' sql="SELEC

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值