MySQL注入

本文详细探讨了MySQL 4和5版本的注入区别,包括4版本的逐个猜解和5版本的便捷数据获取方法。此外,还介绍了MySQL注入的实践步骤,如检测注入点、获取数据库信息以及尝试webshell上传的条件和方法。通过dvwa实验环境,展示了如何利用order by、union select等技术进行攻击。
摘要由CSDN通过智能技术生成

MySQL注入

一、MySQL 4和MySQL 5注入的区别

(一)MySQL 4 注入方法

1、概述

​ MySQL 4以及之前的版本中,不支持子语句查询,且没有系统库information_schema,而且当php.ini文件中开启了magic_quote_gpc=on时,提交的变量中的字符(例如单引号,双引号,反斜杠,and,空字符等)会被数据库自动转化为含有反斜杠的转义字符,在这种情况下,MySQL 4版本中,我们进行注入的方法是类似于access数据库注入的方法仅查询猜解。

2、常见方法
  • 逐个猜解当前数据库名、表名、字段名
  • 利用order by获取主查询字段的数量
  • 使用union select联合查询相应数据库的信息

(二)MySQL 5 的注入方法

1、概述

​ MySQL 5版本及以上存在information_schema系统库,所以在存在注入点的情况下获取数据是比较便捷的,当然也可以通过盲注进行数据采集,除此之外我们还可以通过load_file函数读取数据库服务器中的脚本文件/敏感文件的内容,间接获取数据库的相关信息,也可以通过dumpfile/outfile函数拿到webshell从而控制服务器。

2、常见方法
  • 盲注
  • order by+union select+information_schema进行数据获取
  • 利用load_file()函数进行攻击
  • 利用dumpfile/outfile函数

二、MySQL 的注入实践

利用dvwa的实验环境

(一)注入点的检测
  • 概述

    ​ 利用and 1=1 和 and 1=2单引号法通过观察返回页面的不同,可以简单的判断该位置是否存在注入点

  • 注入url

    http://192.168.75.4:9500/dvwa/vulnerabilities/sqli/?id=1 and 1=1&Submit=Submit 
    http://192.168.75.4:9500/dvwa/vulnerabilities/sqli/?id=1 and 1=2&Submit=Submit # 两条语句都不出错,就试试单引号
    
    http://192.168.75.4:9500/dvwa/vulnerabilities/sqli/?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

四粒和七喜呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值