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

    行转列 原始数据: 需求: 把星座和血型一样的人归类到一起.结果如下: 射手座,A 大海|凤姐 白羊座,A 孙悟空|猪八戒 白羊座,B 宋宋 实现: vi person_info.txt 孙悟空 白羊 ...

  2. Http协议基础内容

    1.Http协议是什么协议? 客户端和服务器之间的数据传输的格式规范,简称"超文本传输协议". 2.什么是Http协议无状态协议?怎么解决Http协议无状态协议? 1)无状态协议对 ...

  3. ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介

    参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...

  4. 十分钟快速学会Matplotlib基本图形操作

    在学习Python的各种工具包的时候,看网上的各种教程总是感觉各种方法很多很杂,参数的种类和个数也十分的多,理解起来需要花费不少的时间. 所以我在这里通过几个例子,对方法和每个参数都进行详细的解释,这 ...

  5. Flask基础(05)-->路由的基本定义

    # 导入Flask from flask import Flask # 创建Flask的应用程序 app = Flask(__name__) # http://127.0.0.1:5000/123或者 ...

  6. mydumper 介绍及使用

    1 Mydumper 介绍 Mydumper是一个针对MySQL和Drizzle的高性能多线程备份和恢复工具. Mydumper主要特性: 轻量级C语言写的 多线程备份,备份后会生成多个备份文件 事务 ...

  7. hibernate 搭建框架

    需要用的包 Hibernate的日志记录: * Hibernate日志记录使用了一个slf4j: * SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具 ...

  8. Java工程师学习指南(入门篇)

    Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...

  9. django创建表单以及表单数据类型和属性

    08.15自我总结 关于django的表单不同关系之间的创建 一.不同关系之间的创建 1.一对一 举例 母表:userinfo id name age 1 张三 12 2 李四 58 字表:priva ...

  10. (19)ASP.NET Core EF创建模型(包含属性和排除属性、主键、生成的值)

    1.什么是Fluent API? EF中内嵌的约定将POCO类映射到表.但是,有时您无法或不想遵守这些约定,需要将实体映射到约定指示外的其他对象,所以Fluent API和注解都是一种方法,这两种方法 ...