本来只是贪便宜买了个一年特价的阿里云服务器,做做测试什么的,结果不知道哪一天开始阿里云安全中心就开始给我发什么安全提示类的信息,一开始我并不在意,因为这些都是套路,不过是想让我升级购买高防盾罢了,反正是测试用的服务器无所谓,顶多就重装系统罢了。就这样过了半年左右,最近安全提示就像短信轰炸一样铺天盖地的来,近来也比较空就看了一眼,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被注入之后的更多相关文章

  1. MySQL&SQL server&Oracle&Access&PostgreSQL数据库sql注入详解

    判断数据库的类型 当我们通过一些测试,发现存在SQL注入之后,首先要做的就是判断数据库的类型. 常用的数据库有MySQL.Access.SQLServer.Oracle.PostgreSQL.虽然绝大 ...

  2. PostgreSql那点事(文件读取写入、命令执行的办法)

    • 2013/07/9 作者: admin PostgreSql那点事(文件读取写入.命令执行的办法) 今天无意发现了个PostgreSQL环境,线上学习了下,一般的数据注射(读写数据库)差异不大,不 ...

  3. 【WPF】EntityframeworkCore NLog出力设置

    最近在用EFcore,由于不熟悉,经常出现一些异常都不知道如何排查,只能把EFcore的执行记录打印出来调查.确实简化了很多问题的调查. 官网提供了Asp.net Core与.net core 应用的 ...

  4. [SQL注入2]FROM SQL INJECTION TO SHELL: POSTGRESQL EDITION

    FROM SQL INJECTION TO SHELL: POSTGRESQL EDITION 这里先介绍一下POSTGRESQL.这是一款数据库管理系统,与oracle是同类型软件.08年左右的市场 ...

  5. PostgreSQL的insert注入

    写这篇文是在昨夜的ctf中遇到的. ctf地址:bloody-feedback.quals.2017.volgactf.ru email存在注入,在ctf中发现注入就很好办了,只要找到能绕过的方法就行 ...

  6. PostgreSQL注入基础

    一般注入多用于在mssql和mysql两类数据库中,如mssql+asp.mysql+php则是最为常见的搭配环境.不同的网站应用的数据库也大不一样,根据数据库的处理能力.负载等多重因素决定.本文主要 ...

  7. 关于PostgreSQL的SQL注入必知必会

    一.postgresql简介 postgresql是一款关系型数据库,广泛应用在web编程当中,由于其语法与MySQL不尽相同,所以其SQL注入又自成一派. 二.postgresql的SQL注入:(注 ...

  8. Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  9. Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

随机推荐

  1. linux初学者小记(二)

    文件管理 1.文件系统结构元素 文件和目录被组织成一个单根倒置树结构文件系统从根目录下开始,用"/"表示. 1.1文件系统 # 根文件系统(rootfs):root filesys ...

  2. Linux虚拟机--进入MySQL报错的解决办法

    在Linux安装MySQL有时候会出现 [mysql]ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/ ...

  3. Mysql 笔记二

    Mysql 笔记二 Mysql 笔记二 Table of Contents 1. 前言 2. Master Thread 工作方式 2.1. 主循环(loop) 2.2. 后台循(backgroup ...

  4. windows核心编程 第5章job lab示例程序 解决小技巧

    看到windows核心编程 第5章的最后一节,发现job lab例子程序不能在我的系统(win8下)正常运行,总是提示“进程在一个作业里”         用process explorer程序查看 ...

  5. java8 Stream使用总结

    [前言] java8新特性 java8 函数接口 java8 Optional使用总结 Java 8 时间日期使用 java8 lambda表达式 1.流的介绍 Java8 中的 Stream 是对集 ...

  6. 学 Java 网络爬虫,需要哪些基础知识?

    说起网络爬虫,大家想起的估计都是 Python ,诚然爬虫已经是 Python 的代名词之一,相比 Java 来说就要逊色不少.有不少人都不知道 Java 可以做网络爬虫,其实 Java 也能做网络爬 ...

  7. SpringBoot运行时动态添加数据源

    此方案适用于解决springboot项目运行时动态添加数据源,非静态切换多数据源!!! 一.多数据源应用场景: 1.配置文件配置多数据源,如默认数据源:master,数据源1:salve1...,运行 ...

  8. Linux入门(用户操作及权限)

    Linux入门之 用户操作及权限   在一个公司里,老板与员工有上下级之分,员工与员工间也有上下级或同级之分.每个级别在公司的职责不同,权限也不同.在Linux操作系统中也一样,不同的用户身份拥有着不 ...

  9. python编程基础之八

    位运算符 内存: 1 bit ----b      1Byte----B 1Byte = 8bit 1K = 1024Byte 1M = 1024KB 1G = 1024M 1T = 1024G 二级 ...

  10. IntelliJ IDEA使用JUnit单元测试

    转载:https://www.cnblogs.com/huaxingtianxia/p/5563111.html 前言 单元测试的基本使用 一.环境配置 使用idea IDE 进行单元测试,首先需要安 ...