由max_allowed_packet引发的mysql攻防大战
1.原因
程序的sql语句比较长.max_allowed_packet默认是1024.于是就报错了.一开始手动改 global max_allowed_packet ,改完后.莫名奇妙被还原.后来改配置文件还是不起作用(其实配置文件一开始就没生效,后来发现的).好几次了.恼火的不行.于是昨天百度之.看了好几个都感觉不靠谱.其中有个说被黑客攻击了.建议开启 general_log 日志查看一下记录.打算试试.
2.现行
日志昨天开启.今天上午查看.看着看着就发现不对了.果不其然被黑客入侵了.

可能之前就已经攻破了.顺利的登录.看了一下系统版本.然后开始授权.接着开始加入了一个用户.

查了一下ip地址.浙江绍兴的.

连接记录

种木马文件.我到目录看了下.已经有好几个木马了.名字不一样.怪不得杀毒软件总报病毒.原因在这呢.
3.第一回合
先把黑客新增的用户删除.root用户不允许远程登录.新建了一个用户.给了基本权限.结果晚上的时候数据库还是有些连不上去.断断续续的


不停的暴力破解密码.虽然禁止root登录.但是这个感觉有点ddos的意思.我自己反而连接不上去了.
4.第二回合
默认是3306.黑客可以通过软件扫描.暴力破解.那就改端口.随便改了一个.于是我就能顺利的连接了.
5.后记
这次真是这么近第一次接触黑客.以前都是自己手贱点击不明安装程序什么的才会中木马.这次看他们的sql语句真的是大涨见识.好多自己都不太清楚.
比如写文件等等.没注意找让文件运行的语句.我想应该还会自动加载木马让它运行.
以前真是没怎么注意安全这方面.我想只要限制一下用户和改端口.我想他就没办法了.其实后面这个改端口比较重要.
我又想他会不会去扫端口去........
上面第二部分的图片有的是上午看到的.还有一部分是晚上登录不上去看到的.就放一起了.
这里说几个这次用到的命令
查看日志是否开启
show GLOBAL VARIABLES like '%general_log%' --查看是否开启
set GLOBAL general_log = on --设置为开启
set GLOBAL general_log_file='g:\\mysql.log' --日志路径
虽说开了比较占地方.但是感觉不对劲.或者开个一两天看看有没有异常.还是值得的.而且也不需要重启mysql服务
我这个是测试机用的mysql免安装版.启动比较好说.双击 mysqld.exe就行
关闭命令,在bin目录.按住shift.右键有个在此处运行命令窗口.然后执行下面的话就行.
安装目录bin\ mysqladmin -uroot -p shutdown
显示用户权限
show grants for root@'localhost';
查看用户
select * from mysql.user
插入用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
授权
GRANT SELECT, INSERT, UPDATE, DELETE, DROP, INDEX, ALTER, EXECUTE ON `数据库名称`.* TO '用户名称'@'%'
说说这个改端口.这个免安装版目录下有个my-default.ini的文件.直接改这个是不启用的.要复制一份.改名为my.ini才可以.
改端口就是在这个配置文件加一句 port=xxx 就可以了.
由max_allowed_packet引发的mysql攻防大战的更多相关文章
- 一次由于字符集问题引发的MySQL主从同步不一致问题追查
近期业务准备上线一个新功能,灌入数据之后突然发现主从同步停止,报错如下: Error 'Duplicate entry '66310984-2014-04-18 00:00:00--122815.sh ...
- mysql攻防之写入漏洞
因为被别人利用mysql攻击,所以想在这里帮助大家提高一下自身mysql的安全.避免成为别人的肉鸡. show global variables like '%secure%'; 如果是这样则黑客可以 ...
- [转]一次Delete&Insert引发的Mysql死锁
近日遇到一个比较奇怪的deadlock错误, 错误详情: Deadlock found when trying to get lock; try restarting transaction; nes ...
- MySQL报错:Packets larger than max_allowed_packet are not allowed 的解决方案
在导大容量数据特别是CLOB数据时,可能会出现异常:“Packets larger than max_allowed_packet are not allowed”. 这是由于MySQL数据库有一个系 ...
- mysql max_allowed_packet自动重置为1024 终结解决
背景: 测试环境1台centOS机器,最近一段频繁报“ Caused by: com.mysql.jdbc.PacketTooBigException: Packet for query is too ...
- Mysql报错:Packet for query is too large (1121604 > 1048576).You can change this value on the server by setting the max_allowed_packet variable
看错误信息,发现1048576个字节,正好是1*1024*1024byte,也就是1Mb. 这正是mysql默认的max_allowed_packet值. 使用sql语句: show VARIABLE ...
- mysql里max_allowed_packet的作用
MySQL根据配置文件会限制Server接受的数据包大小.有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置: 代码如下: show VAR ...
- MySql 错误 Err [Imp] 1153 - Got a packet bigger than 'max_allowed_packet' bytes
今天在用Navicat导入SQL文件时报错:MySql 错误 Err [Imp] 1153 - Got a packet bigger than 'max_allowed_packet' bytes ...
- mysql 导入时报错:Got a packet bigger than‘max_allowed_packet’bytes
原因是max_allowed_packet 值设置过小. 网上粘贴一段定义: max_allowed_packet:指代mysql服务器端和客户端在一次传送数据包的过程当中数据包的大小这个是定义mys ...
随机推荐
- java 与操作系统进程同步问题(一)————互斥问题
最近学校开设了操作系统原理课程,老师要求用任意语言去模拟进程的同步和互斥问题. 在尝试的写了之后,发现这个问题非常有意思,故想记录在博客中,作为自己的学习轨迹. 个人还是比较喜欢用Java语言,所以采 ...
- MyBatis_Generator插件的安装以及简单使用
MyBatis_Generator_1.3.1.zip 1 下载安装包 安装包名称:MyBatis_Generator_1.3.1.zip 2 在Eclipse上进行安装 l ...
- Win95+IE3 – Win10+IE11全版本执行漏洞(含POC)
微软本月安全更新修复了一个潜藏了18年的IE远程代码执行漏洞(CVE-2014-6332),可以说是给windows吃了一颗大补丸.缺陷出现在VBScript的代码中,自Windows 95首次发布( ...
- Assert与内存泄漏
以前知道C/C++有assert之后,我想知道assert会不会造成内存泄漏,于是我做了一个测试: #include <iostream> #include <fstream> ...
- ZooKeeper分布式锁浅谈(一)
一.概述 清明节的时候写了一篇分布式锁概述,里面介绍了分布式锁实现的几种方式,其实那时候我一直沉迷于使用redis的悲观锁和乐观锁来实现分布式锁,直到一个血案的引发才让我重新认识了redis分布式锁的 ...
- JavaSE教程-03Java中分支语句与四种进制转换
一.分支语句 计算机源于生活,程序模拟现实生活,从而服务生活 行为模式 1,起床,刷牙,洗脸,吃早餐,上课,回家,睡觉(顺序性) 2,如果时间不太够,打个滴滴快车,如果时间够,坐个地铁(选择性) 3, ...
- laravel中的多对多关系详解
数据表之间是纵横交叉.相互关联的,laravel的一对一,一对多比较好理解,官网介绍滴很详细了,在此我就不赘述啦,重点我记下多对多的关系 一种常见的关联关系是多对多,即表A的某条记录通过中间表C与表B ...
- 基于FPGA的均值滤波算法的实现
前面实现了基于FPGA的彩色图像转灰度处理,减小了图像的体积,但是其中还是存在许多噪声,会影响图像的边缘检测,所以这一篇就要消除这些噪声,基于灰度图像进行图像的滤波处理,为图像的边缘检测做好夯实基础. ...
- 前台ajax加载数据
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> <script sr ...
- SQLServer类型与Java类型转换问题解决
ResultSet 接口提供用于从当前行获取列值的获取 方法(getBoolean.getLong 等).可以使用列的索引编号或列的名称获取值.一般情况下,使用列索引较为高效.列从 1 开始编号.为了 ...