postgresql被注入之后
本来只是贪便宜买了个一年特价的阿里云服务器,做做测试什么的,结果不知道哪一天开始阿里云安全中心就开始给我发什么安全提示类的信息,一开始我并不在意,因为这些都是套路,不过是想让我升级购买高防盾罢了,反正是测试用的服务器无所谓,顶多就重装系统罢了。就这样过了半年左右,最近安全提示就像短信轰炸一样铺天盖地的来,近来也比较空就看了一眼,WTF成为挖矿肉鸡了,于是开始清理。。。。
一开始以为就是简单的计划任务清理下就完事了,结果无限循环,于是开始百度。
#登录我的ubuntu查看了一下进程
ps -ef
发现多了几个postgres向远程服务器发送请求的进程,于是优先想到杀死进程
kill 进程ID
全部杀完再次查看,MLGB自启动了又多了一堆,这个时候就想应该是从postgres这个用户入手,回想了半天但是装PG的时候似乎是跟着网上的教程弄,搞得本地的postgres用户密码为空,于是赶紧加个密码
sudo passwd postgres
设置好之后又杀了一遍进程,心想应该OK了吧,MLGB一查看又一堆,于是静下心来冥想,终于应该是我的postgres远程连接密码太弱造成的吧,于是改密码
#登录psql终端
sudo -u postgres psql
#在终端提示行底下键入
ALTER USER postgres WITH PASSWORD ‘一大堆乱七八糟自己都记不住的字符’;
#然后退出终端
\q
#重启服务
sudo service postgres restart
心想这下应该好了,结果不出意外还是MLGB,改都改了难道不对?于是决定先停下postgres服务
service postgres stop
好的,服务是停了进程还在,于是再杀一遍,这次查看HAHAHAHA好了~!
但是我是需要启动postgres服务的,于是再次启动
service postgres start
果不其然,那堆熟悉的进程又回来了。。。
不过这次大概知道方向了,和postgres这个服务有关系,那么是不是这个东西有什么补丁没打?于是一顿搜索,都是教人怎么注入postgresql的
好吧,自己尝试一下吧,于是仔细查看了进程信息发现都是通过/bin/sh来启动curl
于是心想把这两个东西干掉不就完事了
#然后通过find命令找到他们
find / -name sh
find / -name curl
出来一大堆结果,仔细筛选一下锁定了/bin/sh 和 /bin/curl
于是二话不说一顿删除
rm -f /bin/sh
rm -f /bin/curl
再次查看进程,OH~YEAH那些进程果然通通消失了
赶紧重启机器确认一下
reboot
WTF各种服务开不起来了,service命令提示没有权限,什么鬼,这下懵逼了,于是想到莫不是删了系统的东西?赶紧搜索一下,果不其然sh是用来启动脚本的,完了个蛋,赶紧查一下补救方法
#终于找到了补救方法就是通过/bin/bash做一个软连接就可以,问题是该目录下要有bash,还好运气不错该目录下有bash于是就做个软连接
ln -s /bin/bash /bin/sh
再次重启,各项服务都正常了,连那个该死的挖矿进程也回来了,*()&%*……*&%
回到原点,再次分析进程发现都是去访问https://pastebin.com/这个网址,于是就去搜索这个网址,果然找了了一些前辈的分享,赶紧瞜一眼
我找到了这篇https://blog.csdn.net/u010457406/article/details/89328869
跟着里面的步骤发现我ubuntu的系统yum不到bz2,又束手无策了,于是继续往下看,好家伙这位大哥把清楚函数的代码贴出来了,真是感激,于是照着里面写的命令一条一条的试,果然隐藏着无数的坑,顺便提一下我的是被伪装在sendmail的文件中通过crontab定时任务发送,于是一顿操作之后系统似乎没事了,各种重启什么的也没问题,至今问题解决已经过了8小时暂时安全,已经跟着阿里云里面这方面的补救措施一步步做了。
PS:最后提一嘴,宝塔面板虽然好用但是不会配置的东西还是不要乱装,或者要了解一下再装,我用宝塔安装的redis虽然傻瓜但是没有提供更改端口和开启密码的接口,似乎有些人是因为redis的漏洞被注入的,希望看到文章的兄弟们如果redis没有密码没改端口是时候行动起来了~!
postgresql被注入之后的更多相关文章
- MySQL&SQL server&Oracle&Access&PostgreSQL数据库sql注入详解
判断数据库的类型 当我们通过一些测试,发现存在SQL注入之后,首先要做的就是判断数据库的类型. 常用的数据库有MySQL.Access.SQLServer.Oracle.PostgreSQL.虽然绝大 ...
- PostgreSql那点事(文件读取写入、命令执行的办法)
• 2013/07/9 作者: admin PostgreSql那点事(文件读取写入.命令执行的办法) 今天无意发现了个PostgreSQL环境,线上学习了下,一般的数据注射(读写数据库)差异不大,不 ...
- 【WPF】EntityframeworkCore NLog出力设置
最近在用EFcore,由于不熟悉,经常出现一些异常都不知道如何排查,只能把EFcore的执行记录打印出来调查.确实简化了很多问题的调查. 官网提供了Asp.net Core与.net core 应用的 ...
- [SQL注入2]FROM SQL INJECTION TO SHELL: POSTGRESQL EDITION
FROM SQL INJECTION TO SHELL: POSTGRESQL EDITION 这里先介绍一下POSTGRESQL.这是一款数据库管理系统,与oracle是同类型软件.08年左右的市场 ...
- PostgreSQL的insert注入
写这篇文是在昨夜的ctf中遇到的. ctf地址:bloody-feedback.quals.2017.volgactf.ru email存在注入,在ctf中发现注入就很好办了,只要找到能绕过的方法就行 ...
- PostgreSQL注入基础
一般注入多用于在mssql和mysql两类数据库中,如mssql+asp.mysql+php则是最为常见的搭配环境.不同的网站应用的数据库也大不一样,根据数据库的处理能力.负载等多重因素决定.本文主要 ...
- 关于PostgreSQL的SQL注入必知必会
一.postgresql简介 postgresql是一款关系型数据库,广泛应用在web编程当中,由于其语法与MySQL不尽相同,所以其SQL注入又自成一派. 二.postgresql的SQL注入:(注 ...
- Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
随机推荐
- 使用System.Text.Json处理Json文档以及部分坑
System.Text.Json处理Json文档需要用到JsonDocument,JsonElement,JsonProperty. JsonDocument就是一个表示Json文档的东西,JsonE ...
- Ubuntu18.04直接安装python3.7或者升级自带的python3.6版本之后导致终端无法打开的解决办法
安装ptyhon3.7 sudo apt-get update sudo apt-get install python3.7 安装成后的目录在/usr/bin/python3.7,同时将其设置成默认 ...
- shell判断文件目录或文件是否存在
1.文件描述符 -e 判断对象是否存在 -d 判断对象是否存在,并且为目录 -f 判断对象是否存在,并且为常规文件 -L 判断对象是否存在,并且为符号链接 -h 判断对象是否存在,并且为软链接 -s ...
- 阿里云服务器ecs配置之安装redis服务
一.介绍 Redis是当前比较热门的NOSQL系统之一,它是一个key-value存储系统.和Memcache类似,但很大程度补偿了Memcache的不足,它支持存储的value类型相对更多,包括st ...
- Flume初见与实践
Photo by Janke Laskowski on Unsplash 参考书籍:<Flume构建高可用.可扩展的海量日志采集系统> --Hari Shreedharan 著 以下简称& ...
- 初级Python
[toc] 一.数据类型 1.1基本数据类型 1.1.1数字类型 1.整数类型 十进制:1010,-219 二进制:以0b或0B开头:0b010,-0B101 八进制,以0o或0O开头:0o123,- ...
- MongoDB 学习笔记之 分片和副本集混合运用
分片和副本集混合运用: 基本架构图: 搭建详细配置: 3个shard + 3个replicat set + 3个configserver + 3个Mongos shardrsname Primary ...
- JS的加减乘除高精度
//除法函数,用来得到精确的除法结果 //说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显.这个函数返回较为精确的除法结果. //调用:accDiv(arg1,arg2) ...
- 【Visual Studio】关于vs 打开网站时报错 配置iis express失败 无法访问IIS元数据库...
关于vs 打开网站时报错 配置iis express失败 无法访问IIS元数据库... 我安装了vs2015,一开始创建项目,网站都没问题,有一次突然打开项目时报错,瞬间懵逼,我啥都没干啊!!! 网上 ...
- ef core实现软删除
很多web程序一般的偶不会设计真的物理删除了. 基本上都是在在数据库加一个标记,就得当作已经删除了.同时在查询的时候,过滤已经标记删除的数据 ef core实现软删除是非常简单的,直接在OnModel ...