[问题已处理]-阿里云与本地机房中挖矿病毒处理,又又又中毒了

article/2025/9/21 16:01:19

导语:被挖矿的现象是cpu异常的高。正常服务被系统杀掉。

先是发现线上业务挂了。紧接着发现本地机房也挂了。判断病毒应该是由本地机房的跳板机或者开放的端口,或dubbo框架漏洞进来的

基本判断是confluence最新的漏洞导致的

http://www.hackdig.com/09/hack-465498.htm

刚好看到防火墙有之前做的映射暴露出去

后期防火墙可以设置白名单

会用java去下脚本

官方临时升级办法 可能这台机子已经被注入,依旧不行,阿里云还是会告警。

如需要查看完整感染脚本

curl http://209.141.40.190/xms

仔细排查过后发现,中的不止一种挖矿病毒。

pstree查看进程有kingsing和kdevtmpfsi

还有dbused

第一步处理思路

先通过ps -ef 命令观察病毒是从哪里更新的,然后通过防火墙禁止对应的访问

# 安装iptables firewalld 不方便直接禁止域名
yum install -t iptables
yum install iptables-services -yiptables -P INPUT ACCEPT   
iptables -P OUTPUT ACCEPT  
iptables -A OUTPUT -p tcp -d bash.givemexyz.in --dport 80 -j DROP
iptables -A INPUT -p tcp -d bash.givemexyz.in --dport 80 -j DROP
iptables -I INPUT -s 209.141.40.190 -j DROP
iptables -I OUTPUT -s 209.141.40.190 -j DROPiptables -I INPUT -s 195.19.192.28 -j DROP
iptables -I OUTPUT -s 195.19.192.28 -j DROP
# 一定要save 之后reload 否则不生效
service iptables save 
service iptables reload  
# 查看防火墙规则  不带-n可能看不到所有的
iptables -n -L
# 如果规则加错了 查看对应规则并删除
iptables -L INPUT --line-numbers
iptables -D INPUT 1

修改/etc/hosts

# 添加
127.0.0.1 bash.givemexyz.in

第二步处理思路

先把对应文件都删了后占用,chmod 644 并删除cron定时任务

这里可能需要多次操作 确保清理干净了。

大致脚本 没有判断是否存在,可能会有误删。慎用

我自己就误删除了/etc下的和/bin下的文件

chattr -i -a /etc/cron.daily/pwnrig > /dev/null 2>&1 
chattr -i -a /etc/cron.hourly/pwnrig >  /dev/null 2>&1 
chattr -i -a /etc/cron.weekly/pwnrig > /dev/null 2>&1 
chattr -i -a /etc/cron.d/pwnrig > /dev/null 2>&1
chattr -i -a /etc/cron.monthly/pwnrig > /dev/null 2>&1 rm -rf /etc/cron.daily/pwnrig  > /dev/null 2>&1
rm -rf /etc/cron.hourly/pwnrig > /dev/null 2>&1
rm -rf /etc/cron.weekly/pwnrig > /dev/null 2>&1
rm -rf /etc/cron.d/pwnrig > /dev/null 2>&1
rm -rf /etc/cron.monthly/pwnrig > /dev/null 2>&1 find /etc/ -name '*' | xargs grep 'dbuse' -n 2>/dev/null | grep rc 
chattr -a -i /etc/rc.d/init.d/pwnrig > /dev/null 2>&1
rm -rf /etc/rc.d/init.d/pwnrig > /dev/null 2>&1find /etc/ -name '*' | xargs grep 'xms' -n 2>/dev/null | grep init.dfind /etc/ -name '*' | xargs grep 'dbuse' -n 2>/dev/null | grep init.dfind /etc/ -name '*' | xargs grep 'dbuse' -n 2>/dev/null | grep systemd
chattr -a -i /etc/systemd/system/multi-user.target.wants/pwnrige.service > /dev/null 2>&1 
rm -rf /etc/systemd/system/multi-user.target.wants/pwnrige.service > /dev/null 2>&1chattr -a -i /usr/lib/systemd/system/pwnrigl.service > /dev/null 2>&1
rm -rf  /usr/lib/systemd/system/pwnrigl.service > /dev/null 2>&1chattr -a -i /etc/systemd/system/pwnrige.service > /dev/null 2>&1
rm -rf /etc/systemd/system/pwnrige.service > /dev/null 2>&1chattr -i -a /bin/bprofr > /dev/null 2>&1
rm -rf /bin/bprofr > /dev/null 2>&1chattr -i -a /bin/sysdr > /dev/null 2>&1
rm -rf /bin/sysdr > /dev/null 2>&1chattr -i -a /bin/crondr > /dev/null 2>&1
rm -rf /bin/crondr > /dev/null 2>&1chattr -i -a /bin/initdr > /dev/null 2>&1
rm -rf /bin/initdr > /dev/null 2>&1chattr -i -a /usr/bin/bprofr > /dev/null 2>&1
rm -rf /usr/bin/bprofr > /dev/null 2>&1chattr -i -a  /usr/bin/sysdr > /dev/null 2>&1
rm -rf /usr/bin/sysdr > /dev/null 2>&1chattr -i -a /usr/bin/crondr > /dev/null 2>&1
rm -rf /usr/bin/crondr > /dev/null 2>&1chattr -i -a /usr/bin/initdr > /dev/null 2>&1
rm -rf /usr/bin/initdr > /dev/null 2>&1rm -rf /tmp/dbused > /dev/null 2>&1
rm -rf /tmp/dbusex > /dev/null 2>&1
rm -rf /tmp/xms > /dev/null 2>&1
rm -rf /tmp/x86_64 > /dev/null 2>&1
rm -rf /tmp/i686 > /dev/null 2>&1
rm -rf /tmp/go > /dev/null 2>&1
rm -rf /tmp/x64b > /dev/null 2>&1
rm -rf /tmp/x32b > /dev/null 2>&1crontab -r > /dev/null 2>&1
service   crond reload > /dev/null 2>&1
service   crond  restart > /dev/null 2>&1
pkill -9 wget > /dev/null 2>&1touch /tmp/kdevtmpfsi > /dev/null 2>&1
yes| rm /tmp/kdevtmpfsi > /dev/null 2>&1
touch /tmp/kdevtmpfsi > /dev/null 2>&1
chmod 644 /tmp/kdevtmpfsi > /dev/null 2>&1
pkill -9 kdevtmpfsi > /dev/null 2>&1touch /var/tmp/kinsing > /dev/null 2>&1
yes| rm /var/tmp/kinsing > /dev/null 2>&1
touch /var/tmp/kinsing > /dev/null 2>&1
chmod 644 /var/tmp/kinsing > /dev/null 2>&1
pkill -9 kinsing > /dev/null 2>&1touch /var/tmp/kdevtmpfsi > /dev/null 2>&1
yes| rm /var/tmp/kdevtmpfsi > /dev/null 2>&1
touch /var/tmp/kdevtmpfsi > /dev/null 2>&1
chmod 644 /var/tmp/kdevtmpfsi > /dev/null 2>&1
pkill -9 kdevtmpfsi > /dev/null 2>&1touch /usr/bin/dbused > /dev/null 2>&1
yes| rm /usr/bin/dbused > /dev/null 2>&1
touch /usr/bin/dbused > /dev/null 2>&1
chmod 644 /usr/bin/dbused > /dev/null 2>&1
pkill -9 dbused > /dev/null 2>&1crontab -r > /dev/null 2>&1
service   crond reload > /dev/null 2>&1
service   crond  restart > /dev/null 2>&1
pkill -9 wget > /dev/null 2>&1touch /tmp/kdevtmpfsi > /dev/null 2>&1
yes| rm /tmp/kdevtmpfsi > /dev/null 2>&1
touch /tmp/kdevtmpfsi > /dev/null 2>&1
chmod 644 /tmp/kdevtmpfsi > /dev/null 2>&1
pkill -9 kdevtmpfsi > /dev/null 2>&1touch /var/tmp/kinsing > /dev/null 2>&1
yes| rm /var/tmp/kinsing > /dev/null 2>&1
touch /var/tmp/kinsing > /dev/null 2>&1
chmod 644 /var/tmp/kinsing > /dev/null 2>&1
pkill -9 kinsing > /dev/null 2>&1touch /usr/bin/dbused > /dev/null 2>&1
yes| rm /usr/bin/dbused > /dev/null 2>&1
touch /usr/bin/dbused > /dev/null 2>&1
chmod 644 /usr/bin/dbused > /dev/null 2>&1
pkill -9 dbused > /dev/null 2>&1touch /usr/bin/bprofr > /dev/null 2>&1
chattr -R -a -i /usr/bin/bprofr > /dev/null 2>&1
rm -rf /usr/bin/bprofr > /dev/null 2>&1
touch /usr/bin/bprofr > /dev/null 2>&1
chmod 644 /usr/bin/bprofr > /dev/null 2>&1touch /usr/bin/crondr > /dev/null 2>&1
chattr -R -a -i /usr/bin/crondr > /dev/null 2>&1
rm -rf /usr/bin/crondr > /dev/null 2>&1
touch /usr/bin/crondr > /dev/null 2>&1
chmod 644 /usr/bin/crondr > /dev/null 2>&1touch /usr/bin/initdr > /dev/null 2>&1
chattr -R -a -i /usr/bin/initdr > /dev/null 2>&1
rm -rf /usr/bin/initdr > /dev/null 2>&1
touch /usr/bin/initdr > /dev/null 2>&1
chmod 644 /usr/bin/initdr > /dev/null 2>&1touch /usr/bin/sysdr > /dev/null 2>&1
chattr -R -a -i /usr/bin/sysdr > /dev/null 2>&1
rm -rf /usr/bin/sysdr > /dev/null 2>&1
touch /usr/bin/sysdr > /dev/null 2>&1
chmod 644 /usr/bin/sysdr > /dev/null 2>&1touch /root/ss > /dev/null 2>&1
chattr -R -a -i /root/ss > /dev/null 2>&1
rm -rf /root/ss > /dev/null 2>&1
touch /root/ss > /dev/null 2>&1
chmod 644 /root/ss > /dev/null 2>&1touch /root/ssh > /dev/null 2>&1
chattr -R -a -i /root/ssh > /dev/null 2>&1
rm -rf /root/ssh > /dev/null 2>&1
touch /root/ssh > /dev/null 2>&1
chmod 644 /root/ssh > /dev/null 2>&1touch /tmp/gxx > /dev/null 2>&1
chattr -R -a -i /tmp/gxx > /dev/null 2>&1
rm -rf /tmp/gxx > /dev/null 2>&1
touch /tmp/gxx > /dev/null 2>&1
chmod 644 /tmp/gxx > /dev/null 2>&1touch /tmp/scan > /dev/null 2>&1
chattr -R -a -i /tmp/scan > /dev/null 2>&1
rm -rf /tmp/scan > /dev/null 2>&1
touch /tmp/scan > /dev/null 2>&1
chmod 644 /tmp/scan > /dev/null 2>&1touch /bin/initdr > /dev/null 2>&1
chattr -R -a -i /bin/initdr > /dev/null 2>&1
rm -rf /bin/initdr > /dev/null 2>&1
touch /bin/initdr > /dev/null 2>&1
chmod 644 /bin/initdr > /dev/null 2>&1touch /bin/bprofr > /dev/null 2>&1
chattr -R -a -i /bin/bprofr > /dev/null 2>&1
rm -rf /bin/bprofr > /dev/null 2>&1
touch /bin/bprofr > /dev/null 2>&1
chmod 644 /bin/bprofr > /dev/null 2>&1touch /bin/crondr > /dev/null 2>&1
chattr -R -a -i /bin/crondr > /dev/null 2>&1
rm -rf /bin/crondr > /dev/null 2>&1
touch /bin/crondr > /dev/null 2>&1
chmod 644 /bin/crondr > /dev/null 2>&1touch /bin/crondr > /dev/null 2>&1
chattr -R -a -i /bin/crondr > /dev/null 2>&1
rm -rf /bin/crondr > /dev/null 2>&1
touch /bin/crondr > /dev/null 2>&1
chmod 644 /bin/crondr > /dev/null 2>&1touch /bin/dbused > /dev/null 2>&1
chattr -R -a -i /bin/dbused > /dev/null 2>&1
rm -rf /bin/dbused > /dev/null 2>&1
touch /bin/dbused > /dev/null 2>&1
chmod 644 /bin/dbused > /dev/null 2>&1touch /tmp/hxx > /dev/null 2>&1
chattr -R -a -i /tmp/hxx > /dev/null 2>&1
rm -rf /tmp/hxx > /dev/null 2>&1
touch /tmp/hxx > /dev/null 2>&1
chmod 644 /tmp/hxx > /dev/null 2>&1touch /tmp/bashirc > /dev/null 2>&1
chattr -R -a -i /tmp/bashirc > /dev/null 2>&1
rm -rf /tmp/bashirc > /dev/null 2>&1
touch /tmp/bashirc > /dev/null 2>&1
chmod 644 /tmp/bashirc > /dev/null 2>&1find /etc/ -name '*' | xargs grep 'dbuse' -n 2>/dev/null | grep rc
find /etc/ -name '*' | xargs grep 'xms' -n 2>/dev/null | grep init.d 
find /etc/ -name '*' | xargs grep 'dbuse' -n 2>/dev/null | grep init.d find /etc/ -name '*' | xargs grep 'dbuse' -n 2>/dev/null | grep systemd find /etc/ -name '*' | xargs grep 'dbuse' -n 2>/dev/null |grep cron 
find /etc/ -name '*' | xargs grep 'givemexyz' -n 2>/dev/null |grep cron find /etc -name "*pwnrig*" -exec chattr -i -a {} \; 
find /etc -name "*pwnrig*" | xargs rm -rf find /etc/ -name '*' | xargs grep 'dbuse' -n 2>/dev/null | grep rc
find /etc/ -name '*' | xargs grep 'xms' -n 2>/dev/null | grep init.d
find /etc/ -name '*' | xargs grep 'dbuse' -n 2>/dev/null | grep init.d
find /etc/ -name '*' | xargs grep 'dbuse' -n 2>/dev/null | grep systemdfind /etc/ -name '*' | xargs grep 'dbuse' -n 2>/dev/null |grep cron
find /etc/ -name '*' | xargs grep 'givemexyz' -n 2>/dev/null |grep cronfind /etc -name "*pwnrig*" -exec chattr -i -a {} \;
find /etc -name "*pwnrig*" | xargs rm -rf

删除定时任务

chattr -R -a -i /var/spool/cron/crontabs > /dev/null 2>&1
mkdir -p /var/spool/cron/crontabs > /dev/null 2>&1
rm -rf /var/spool/cron/crontabs > /dev/null 2>&1chattr -R -a -i /var/spool/cron/root > /dev/null 2>&1
rm -rf /var/spool/cron/root > /dev/null 2>&1cd /etc/cron.d 
chattr -i -a * 
rm * cd /etc/cron.daily 
chattr -i -a * 
rm * 
cd /etc/cron.hourly 
chattr -i -a * 
rm *
cd /etc/cron.monthly 
chattr -i -a * 
rm * 
cd /etc/cron.weekly 
chattr -i -a * 
rm * 
cd /var/spool/cron
chattr -R -i -a * 
rm -rf * 

清理/root/.bash_profile

chattr -i -a /root/.bash_profile
sed -i '/bprofr/d'  /root/.bash_profile

清理完成之后确认一下

# 查看定时任务和所有用户的定时任务
crontab -l
cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}
# 查看是否清除登录启动
cat /root/.bash_profile
# 查看是否有残留进程 一般直接杀死就行 不会再拉起来了
ps -aux | egrep "dbuse|sendmail|wget|sleep"
ps -ef |grep sh

第三步处理思路

有条件就安装阿里云agetn监控一下。可以白嫖7天体验版,然后当前账号下的ecs和本地机房的机子都可以安装agent 查杀。非常好用。

处理好之后reboot 服务器检查一下

如果pstree 或者 ps 看不出来是不是病毒可以通过 md5sum /var/tmp/cruner 文件名的形式查看到它对应的hash值,然后到对应网站hhttps://www.virustotal.com/gui/home/upload搜索,看看是不是病毒文件。因为病毒文件一般都是一个hash

如图就是病毒文件。

修复系统和应用漏洞。

不会被拉起的进程kill -9 pid即可

怀疑邮件也是有问题 这个不确认。杀了稳一点

系统服务里还会有这些服务,但是因为文件已经被删除了。没法启动也没法去掉,不影响。

不小心删了/etc下的文件 导致root不能用了

其他的文件如果误删除了 直接scp基本就行

需要从其他服务器上或者自己创建/etc/passwd, /etc/shadow ,/etc/group 3个文件

发现其他的定时任务 但是ip不通。直接加入防火墙保险

sleep 进程一般要杀掉 是残留进程

只要有一个还活着,一分钟就能拉一个新的出来

域名不通会换ip

可以通过host bash.givemexyz.in 查看对应域名的ip 一起禁止掉

发现弱密码

普通用户直接删除

userdel -r prod_xxx
# 如果用户有启动的进程 要么修改密码要么修改成不能登录
chsh -s /sbin/nologin webh5

docker优化

摘自阿里云

限制容器之间的网络流量服务配置
描述
默认情况下,同一主机上的容器之间允许所有网络通信。 如果不需要,请限制所有容器间的通信。 将需要相互通信的特定容器链接在一起。默认情况下,同一主机上所有容器之间都启用了不受限制的网络流量。 因此,每个容器都有可能读取同一主机上整个容器网络上的所有数据包。 这可能会导致意外和不必要的信息泄露给其他容器。 因此,限制容器间的通信。检查提示
--加固建议
在守护程序模式下运行docker并传递'--icc = false'作为参数。 例如,/usr/bin/dockerd --icc=false
若使用systemctl管理docker服务则需要编辑/usr/lib/systemd/system/docker.service
文件中的ExecStart参数添加 --icc=false选项 然后重启docker服务
审核Docker文件和目录安全审计
描述
除了审核常规的Linux文件系统和系统调用之外,还审核所有与Docker相关的文件和目录。 Docker守护程序以“ root”特权运行。 其行为取决于某些关键文件和目录。如 /var/lib/docker、/etc/docker、docker.service、 docker.socket、/usr/bin/docker-containerd、/usr/bin/docker-runc等文件和目录检查提示
--加固建议
在/etc/audit/audit.rules与/etc/audit/rules.d/audit.rules文件中添加以下行:-w /var/lib/docker -k docker
-w /etc/docker -k docker
-w /usr/lib/systemd/system/docker.service -k docker
-w /usr/lib/systemd/system/docker.socket -k docker
-w /usr/bin/docker-containerd -k docker
-w /usr/bin/docker-runc -k docker
然后,重新启动audit程序。 例如service auditd restart操作时建议做好记录或备份
限制容器的内存使用量服务配置
描述
默认情况下,Docker主机上的所有容器均等地共享资源。 通过使用Docker主机的资源管理功能(例如内存限制),您可以控制容器可能消耗的内存量。
默认情况下,容器可以使用主机上的所有内存。 您可以使用内存限制机制来防止由于一个容器消耗主机的所有资源而导致的服务拒绝,从而使同一主机上的其他容器无法执行其预期的功能。 对内存没有限制可能会导致一个问题,即一个容器很容易使整个系统不稳定并因此无法使用。检查提示
--加固建议
仅使用所需的内存来运行容器。 始终使用'--memory'参数运行容器。 您应该按以下方式启动容器:docker run --interactive --tty --memory 256m <Container Image Name or ID>操作时建议做好记录或备份
将容器的根文件系统挂载为只读服务配置
描述
容器的根文件系统应被视为“黄金映像”,并且应避免对根文件系统的任何写操作。 您应该显式定义用于写入的容器卷。
您不应该在容器中写入数据。 属于容器的数据量应明确定义和管理。 在管理员控制他们希望开发人员在何处写入文件和错误的许多情况下,这很有用。检查提示
--加固建议
添加“ --read-only”标志,以允许将容器的根文件系统挂载为只读。 可以将其与卷结合使用,以强制容器的过程仅写入要保留的位置。 您应该按以下方式运行容器:docker run --interactive --tty --read-only --volume <writable-volume> <Container Image Name or ID> <Command>
如果您是k8s或其他容器编排软件编排的容器,请按照相应的安全策略配置或忽略。操作时建议做好记录或备份

kubernetes优化

确保将--allow-privileged参数设置为false 用户帐户和环境
描述
特权容器具有所有系统功能,并且还消除了设备cgroup控制器强制执行的所有限制。 换句话说,容器可以完成主机可以做的几乎所有事情。 存在此标志是为了允许特殊用例,例如在Docker中运行Docker,因此应避免在生产工作负载中使用。影响:
您将无法运行任何特权容器。
注意:Kubernetes集群目前使用的许多组件都使用特权容器(例如Container Network Interface插件)。应该注意确保最小化此类插件的使用,尤其是应仔细检查对kube-system名称空间之外的特权容器的任何使用。在可能的情况下,查看此类插件所需的权限,以确定是否可以应用更细粒度的权限集。检查提示
--加固建议
编辑主节点上的/ etc / kubernetes / config文件,并将KUBE_ALLOW_PRIV参数设置为“ --allow-privileged = false”: KUBE_ALLOW_PRIV =“-allow-privileged = false”根据您的系统,重新启动kube-apiserver服务。 例如: systemctl restart kube-apiserver.service操作时建议做好记录或备份

mysql优化

数据库开启secure_file_priv 避免被利用漏洞去系统写文件

# /etc/my.cnf
secure_file_priv=

可参考

https://blog.csdn.net/weixin_42453905/article/details/120067414

https://www.cnblogs.com/yzgblogs/p/15191341.html

https://www.freebuf.com/articles/network/280004.html 记一次套路较深的双家族挖矿事件应急响应 - FreeBuf网络安全行业门户


http://chatgpt.dhexx.cn/article/UbxyIKj9.shtml

相关文章

IDEA连接阿里云ECS运行的docker,及处理挖矿病毒kdevtmpfsi的经历

文章目录 前置条件docker版本&#xff1a;1.13.1相关参考文章 1.修改docker相关配置1.1 修改docker配置文件1.2 重新加载配置文件1.3 重启docker 2.配置阿里云ECS开放端口23753.配置IDEA的原生插件连接Docker4.配置IDEA的AlibabaCloudToolkit插件连接Docker5.因为开放了远程连接…

【安全攻防系列】教你如何 ssh暴力破解、捕捉短连接、清理挖矿病毒、盖茨木马和DDOS病毒

文章目录 ssh暴力破解0x00 前言0x01 应急场景0x02 日志分析系统账号情况/var/log/secure/var/log/auth.log0x03 处理措施0x04 我的实战记录捕捉短连接0x00 前言0x01 应急场景0x02 分析0x03 小结挖矿病毒0x00 前言0x01 应急场景0x02 事件分析A、排查过程B、溯源分析C、清除病毒D…

某云服务器挖矿病毒查杀日记

接手的某项目部署于某云平台centos服务器上&#xff0c;由tomcat作为中间件提供应用&#xff0c;且购买了该平台的域名服务&#xff0c;从2019年底上线运营&#xff0c;一直运行比较平稳&#xff0c;可能还没正式用起来&#xff0c;用的人也不是很多吧。但凡事总有个但是&#…

记一次感染挖矿病毒的经历

2019独角兽企业重金招聘Python工程师标准>>> 下午五点十分、手机开始狂收阿里云ECS实例告警&#xff0c;所有告警都提示机器CPU满载。 迅速登录阿里云查看监控大盘&#xff0c;发现全部38台机器CPU飙升满载。第三方客户也开始在群聊里反馈接口响应慢&#xff0c;失败…

记录一次云服务器被劫持下载了挖矿病毒的处理过程

etc被篡改导致系统中病毒 起因: 一年前买的阿里云服务器 , 买了没多久 , 因为没做什么安全措施 , 然后就莫名奇妙服务器被劫持 , 在上面下载了挖矿的一些脚本 ,当时做的处理方式 简单粗暴 直接重置了我的阿里云服务器 , 并且改了密码 , 同时在阿里云的服务器控制台 -> 安全…

中了挖矿病毒

最近一台服务器运行超级慢&#xff0c;任务管理器查看CPU占用100% &#xff0c;使用autoruns.exe工具查看到异常任务和进程。 打开文件路径还发现以下文件&#xff0c;config.json , c3a.bat , wina.exe config.json 代码如下&#xff1a; {"api": {"id"…

Powershell 挖矿病毒处理与防范

最近&#xff0c;一种利用Powershell的挖矿病毒在企业网络中频繁爆发&#xff0c;该病毒其利用了WMIPowershell方式进行无文件攻击&#xff0c;并长驻内存进行挖矿。 Powershell的挖矿病毒具备无文件攻击的高级威胁外&#xff0c;还具有两种横向传染机制&#xff0c;分别为WMIE…

记云服务器中挖矿病毒与防范

文章目录 前言大致过程发现过程应对措施与防范 前言 我自己的一台腾讯云服务器还有工作室指导老师的电信云服务器都中过挖矿病毒&#xff0c;其特征都是出现CPU拉满的情况。 腾讯云 电信服务器 大致过程 发现过程 腾讯云 这是我自己的一台1核2G的服务器&#xff0c;带宽1mbps…

小程序 - 分享功能

将小程序分享至好友或者微信群&#xff0c;参考文档页面事件处理函数&#xff0c;小程序分享原来是可以监听成功分享的回调&#xff0c;但是该回调事件被微信禁用了&#xff0c;详情可查看分享功能调整 小程序分享&#xff0c;可通过右上角自带的分享按钮&#xff0c;也可以在.…

实现微信小程序分享功能

一、场景介绍 场景&#xff1a; 用户A分享小程序&#xff0c;用户B点击小程序&#xff0c;即用户A成功邀请新用户&#xff0c;用户A升级为VIP。 思路&#xff1a; 用户A分享小程序&#xff0c;用户B点击小程序&#xff0c;获取用户A提供的参数&#xff0c;并向后台发送请求&a…

uniapp微信小程序使用分享功能

实现效果为如下所示的小程序分享功能&#xff1a; 本项目是一个使用uniapp搭建的微信小程序&#xff0c;上线后点击右上角的…&#xff0c;发现其中的发送给朋友和分享到朋友圈是如下图所示的灰色不能点击&#xff1a; 那么&#xff0c;如何设置微信小程序的分享功能呢&#…

微信小程序分享朋友圈

微信小程序在基础库2.11.3之前没有分享到朋友圈的功能&#xff0c;分享的思路是用 canvas画布生成一张分享图片&#xff0c;保存到相册&#xff0c;用户将带有分享二维码的图片发到朋友圈&#xff0c;其他人可以识别图中二维码的方式进入小程序的指定分享页面。可参考智行火车票…

微信小程序分享页面

微信小程序页面无法分享到朋友圈之内的&#xff08;只能分享到好朋友或者群中&#xff09;&#xff0c;并且微信小程序无法打开外部链接&#xff0c;只能跳转到小程序内部的pages页面。 问题来了&#xff0c;怎么通过小程序分享页面呢&#xff1f; 首先&#xff0c;这个页面一定…

uniapp微信小程序分享

uniapp微信公众号H5端分享&#xff1a;uniapp微信公众号h5端分享_停留的章小鱼的博客-CSDN博客 一、uniapp微信小程序分享&#xff08;点击右上角胶囊 分享&#xff09; 1、全局分享&#xff08;每个页面胶囊都可以分享&#xff09; &#xff01;&#xff01;&#xff01;在…

关于微信小程序分享及分享朋友圈、复制链接

1、关于直接隐藏分享及分享朋友圈、复制链接 直接在需要禁用的小程序页面的onShow生命周期里使用 wx.hideShareMenu() 在体验版展示如下&#xff08;分享和分享朋友圈已禁用&#xff0c;复制链接还在&#xff09; 正式版才能完全生效&#xff0c;展示如下&#xff08;分享和复…

微信小程序开启分享给好友及分享朋友圈功能

创建一个空白模板的微信小程序&#xff0c;发布成功后才发现不能分享给好友 及朋友圈 查了下才知道&#xff0c;要有分享功能需要开启。 在小程序首页的里添加以下两个函数 //用户点击右上角分享给好友&#xff0c;要现在分享到好友这个设置menu的两个参数&#xff0c;才可以…

uniapp 微信小程序分享、分享朋友圈功能

页内自定义分享按钮 当页面js上没有添加事件“onShareAppMessage”&#xff0c;右上角‘…’不会出现“转发”事件。 如果有事件&#xff0c;但是没有定义事件内容的话&#xff0c;转发的卡片则是当前页面的截屏信息。 官方文档&#xff1a;https://uniapp.dcloud.io/api/plug…

微信小程序实现分享到朋友圈

2020年7月8日。微信小程序推出分享朋友圈&#xff0c;所以笔者先来试一下&#xff0c;没想到一下搞成了 。。 按照微信官方文档得第一步&#xff0c;我们需要设置允许发给朋友&#xff0c;在小程序得生命周期里面这样写。 首先&#xff0c;把你的小程序基础库&#xff0c;改为…

小程序分享给好友以及分享到朋友圈

前言&#xff1a;小程序分享给好友或者朋友圈仅需我们使用微信自带的API&#xff0c;分享到朋友圈的前提是需要我们允许分享给好友&#xff0c;其次才可以分享到朋友圈&#xff0c;功能简单话不多说直接上官方API链接和代码。 一、分享给好友 wx.onShareAppMessage(function c…

微信小程序 转发 分享功能

官网文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html 第一种情况 点击小程序转发 不加入参数 //转发onShareAppMessage: function() {let users wx.getStorageSync(user);if (res.from button) {}return {title: 转发,…