(又被黑)基于MySql的弱口令入侵

下午另一台服务器也突然报警,经过核查后,确认被黑,MMP,我觉得这是挑衅呀,没办法先清除木马程序,感觉真是多事之秋啊。

通过异常进程确认到木马文件,然后停止后自动重启,先检查crontab,果然多了一个异常的定时任务:

1
*/3 * * * * root /etc/cron.hourly/cron.sh

这个名字起得就不评价了,明显就是个外来者,然后立刻停止cron服务:

1
$ /etc/init.d/cron stop

记服务器被入侵过程分析(基于Redis弱口令入侵)

晚间突然服务器CPU使用率告警,刚开始没有放在心上,结果连接服务器一看,瞬间就精神了,CPU使用率直接飙到300%多,明显不是误报,立马跟踪异常进程,最终确认中招了,恶意木马。没办法,手动先清除木马,结果,刚清除木马进程、文件后立即又会复制运行,明显是有守护进程存在的,通过分析木马脚本追踪到守护进程,最终才删除掉恶意程序。

虽然哥已不在江湖(瞎说的),但是这样被黑心里也是不爽的,虽然只是一台搁置的测试服务器,结果还是中招了。亡羊补牢,那就分析下是如何进来的,然后做出应对防范。

通过查看服务器对外端口,初步没看到异常,数据服务、web服务、流媒体服务,都是测试使用,web服务也没有上传漏洞,注入也不应该,都是静态文件,最后就定位到了Redis的服务上了。

由于为了方便测试,Redis随手设置的是弱口令,随便一个猜解程序(看来我也要重新写个扫描程序了)应该跑跑就出来了。那么可能就是通过Redis的弱口令漏洞进来的。本能的直觉,可疑,那么就自己来利用下Redis的弱口令入侵,看看是否可行。

基于Redis弱口令的入侵

Angularjs2 组件(指令)交互

在组件化开发中,会将相同的功能或者业务封装为独立的组件,以达到组件复用,在各个组件的组合使用中,避免不了在独立组件间进行数据事件的传递。

在Angular1中,我们常常会使用$scope来进行交互绑定,这里我们就按照官方文档的顺序简单聊下Angular2中的交互,主要的交互方式大致有一下途径:

接下来将通过一个示例来完成各种方法的学习。

Angularjs2 指令

在Angular1中,会经常使用到指令,主要作为一些功能组件的封装,通过module.directive(name, function){}来创建一个指令,然后通过restrict属性的ECMA来约束指令的使用位置,所以我们可以将一些通用的模块功能,封装为一个指令,然后在开发中直接使用指令就可完成相关功能的导入,而在Angularjs2中,指令的这个目标当然还是保持一致的。

在Angularjs2中,指令主要分为三种类型:

  1. 组件 - 带有模板的指令(组件皆指令)
  2. 结构型指令 - 作用于DOM元素修改视图结构的指令(NgIfNgFor等)
  3. 属性型指令 - 作用于DOM元素的外观和行为的指令(NgStyle等)

Angularjs2 再谈数据绑定

在开始之前,我们先做一个简单的测试,假设有如下HTML片段:

测试html代码
1
<input id="inDemo" value="Hello">

我们不难想象,运行后页面上会出现一个单行文本输入框,然后默认的值为 Hello。然后我们可以通过开发者工具的Console来执行一些临时的脚本,我们先获取这个元素:

获取测试元素
1
var inDemo = document.getElementById('inDemo');

Angularjs2 基础模板语法学习

首先,我们先弄清楚一些概念性的东西。

  • 属性型指令结构型指令
    其实通过字面意思我们可以大致理解到:属性型就是会改变 DOM 元素的外观或行为。而结构型则是修改DOM结构,用来添加、移除或者维护元素。结构型指令会以*标记,比如:*ngIf*ngFor
    对照点例子方便理解下,比如在Angular1中的ng-class就是属性型指令,使用后会影响元素的外观。而ng-if则是结构型指令,可以操作元素的添加或者移除。

接下来,主要介绍下在开发中需要掌握的知识点:

Angularjs2 介绍以及学习大纲

介绍

现阶段,在以微服务架构为主流的项目中,前后端分离是一种常用的方式,这样可以适配于不同的展示端(PC、APP等)。而主流的前端开发框架ReactVueAngular等也是大家在项目中常常被使用的。

在这里主要介绍和对Angularjs2的学习做下总结,方便朋友们可以快速的填充自己的知识树。

在2015年初,Angular.js团队就已经意识到了,Angular.js的演化将会进入死胡同,并不能成为一个可以构建强大应用的工具。所以他们要开始研究一个新的框架,来继承Angularjs的精神。新框架的范围远远大于Angular.js,被称之为平台,因为他们设计提供专业开发人员构建Web应用所需的一切,像Ember和React一样,Angular 使用了基于组件的架构,使用TypeScript 成为其默认的编程语言。

VS Code语言配置

VS Code近期有进行了一次更新,好像更新后导致了语言的变化,默认变成了英文,虽然说英文的界面对于学习是益的,可是毕竟还是中文用着舒服,下面记录一下VS Code的语言修改方式。

关于网上说的一些什么查找settings.json文件进行属性修改,这种方法其实是老版本的方式,所以有朋友搜索然后操作发现完全对不上。

android的入门知识扫盲

已经有很长时间没有去做过Android开发了,最近公司的一个android项目需要进行下整理,然后看过整个项目后觉得整个人都有点不太好了,加上知识的更新迭代,感觉自己所了解的知识已经跟不上android开发组了,所以趁着周末进行了一下恶补,鉴于朋友要求,特意整理了一下文档,供大家查阅 :)

下面主要对一些基础的 术语 进行简单介绍,使大家能快速的了解一些东西。

  • SDK: 这个就不过多解释了,Software Development Kit,咱们做开发的应该都是清楚的。android开发,我们需要在开发机上安装相应的SDK环境。

  • ADT: 由于我之前也是使用Eclipse学习Android的,所以ADT(Android Development Tools)是针对于Eclipse的插件。如果我们使用Eclipse作为主开发工具那么就需要安装插件。