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

    随着PHP5.5 的普及,ECSHOP系统又爆出了新的错误.PHP发展到PHP5.5版本以后,有了很多细微的变化.而ECSHOP官方更新又太慢,发现这些问题后也不及时升级,导致用户安装使用过程中错误百 ...

  2. 10 大 python 库

    TensorFlow Scikit-Learn Numpy Keras PyTorch LightGBM Eli5 SciPy Theano Pandas 简介 python 是最流行和使用最广泛的编 ...

  3. springboot系列之04-提高开发效率必备工具lombok

    未经允许,不得转载 原作者:字母哥博客 本文完整系列出自:springboot深入浅出系列 一.前置说明 本节大纲 使用lombok插件的好处 如何安装lombok插件 使用lombok提高开发效率 ...

  4. git 查看分支

    1.查看本地分支 git branch 2.查看所有分支 git branch -a 2.查看所有分支及对应版本信息 git branch -va

  5. 跨域及JSONP原理

    什么是跨域:a.com 域名下的js无法操作b.com或是c.a.com域名下的对象 为什么浏览器要引入跨域问题? 跨域问题来源于浏览器的同源策略,为啥要有这个策略呢? 为了安全.假设现在有a.com ...

  6. zui框架配置日期控件只显示年月

    zui框架配置日期控件datetimepicker只显示年月 <!DOCTYPE html> <head> <script src="~/Scripts/jqu ...

  7. 防御 DDoS 的终极奥义——又拍云 SCDN

    现如今不论是年轻的 80.90 后,还是 70.60 后,都在享受互联网带来的舒适和便利.在家就可以"逛商场",完全不受时间的限制:在线支付既方便又安全:业余娱乐项目多种多样,打农 ...

  8. Fast Earth - 文本 绘制,如何实现三维空间中绘制屏幕大小的文字?

    如题:先上一张图,在说是如何实现的 实现上图效果,有如下三种方式: 1. 屏幕坐标绘制点要素,即将经纬度坐标转换成屏幕坐标方式绘制,大多数GIS系统都是采用这种方式: 优点:实现方式简单,效果较好 缺 ...

  9. laravel 5.5 运行在 php7.0 报错 Symfony\Component\Translation\Translator.php FatalThrowableErrorParse error: syntax error, unexpected '?', expecting variable (T_VARIABLE)

    问题描述 报错原因是 php-cli 版本是 7.1.x,运行 composer create-project ... 命令时安装的依赖包会自动适配到当前 php 版本 7.1.x.如果 php-fp ...

  10. 怎么给slice加一个Insert方法呢?而不用丑陋的两次append….

    package main import ( "fmt" "reflect" ) func Insert(slice interface{}, pos int, ...