服务器被渗透什么意思,为什么现在web渗透,都用的是php写的源码

第一 PHP语言本身漏洞相当多服务器被渗透什么意思,尤其是很多人不喜欢用最新版本,现在PHP8都发布了,现在竟然还有一大批人用PHP5.2, 越早的版本漏洞越多。 漏洞多自然就好做渗透。

第二 PHP web框架漏洞也非常多。 国内最常用的PHP框架 thinkphp经常爆出各种严重漏洞,比如5.x的远程可执行命令漏洞,导致大量使用此框架的网站中招。 这个漏洞利用之容易,做个程序可以随便感染一大批网站。 有的人利用这个漏洞拿到的肉鸡多到自己都数不过来。

反观Java web, 大多数人都会用sprint 全家桶。 而Spring MVC 和Spring security提供的安全认证,起安全性都是非常强的。

虽然Spring也出一些漏洞,但是我印象中还没有出过非常容易利用,非常简单就能拿到最高权限的傻瓜式漏洞。

第三 网上劣质php源码最多。 很多人是根本不具备独立编程能力的,这些所谓的“程序员”最喜欢干的事是去网上下载各种免费源码,然后改吧改吧就算自己做了网站了。

这种免费源码,以PHP居多。什么的dede CMS,什么xxshop,xxmall,微盟, 这里垃圾PHP源码简直是千疮百孔,漏洞百出。可以说是黑客们的最爱。 用这类垃圾源码最的网站,随便一个中学生捣鼓捣鼓就能入侵, 简直和裸奔没啥区别。

同时,会用这些垃圾代码做网站的程序员,一般水平都不会太高,按理说连编程入门都算不上。这些所谓程序自然根本无法做到防止黑客入侵。

第四 很多人安全意识太差。 不管你用什么语言做网站,大多都要在网站程序外在跑一个Nginx,apache,或者IIS。 即使使用Java, Nginx 做反向代理+静态处理,后面再加tomcat的构架也很多。

凡是,很多人要么是技术不到位,要么是偷懒,不去自己编译tomcat或者apache,而是用网上现成的的一键安装包或者傻瓜安装程序。这些程序可能会默认安装PHP支持。

也就是说,一些安全意识不强或者水平比较差的程序员编写的java web 很有可能也会支持PHP。

很多人在入侵提权的时候,不管你是什么网站,都会先试一下PHP能不能执行,入侵几率比较高。

关于最后一个问题, 如果你找到了Java web的漏洞,可以上传文件了, 下一步要做的就是提权。这个时候你直接上传Java源代码是没有用的。 php是动态执行的,源码可以直接被执行,而Java则需要编译。

拿到上传权限后想提权,就必须先弄清楚对方服务器的jre版本,然后再本地用相应的版本编译后,再把jar包传上去,才能够执行。

这里还有一个不同,一般php提权,只需要拿到网站根目录的上传权限即可。 但是Java web 很有可能网站的根目录,和存放可执行jar包的目录不是一个目录,想要执行Java代码,你就必须想法拿到jar包所在目录的上传权限(同时也要拿到网站根目录权限),这是一个难点。

这里简单介绍一下吧,主要从5个方面来判断服务器是否被入侵,感兴趣的朋友可以尝试一下:

服务器被渗透什么意思,为什么现在web渗透,都用的是php写的源码

01查看当前登录用户这种方式最简单也最基本,查看当前登录服务器的用户,如果有异常用户或IP地址正在登录,则说明服务器很可能被入侵,命令的话,使用w,who,users等都可以:

服务器被渗透什么意思,为什么现在web渗透,都用的是php写的源码

服务器被渗透什么意思,为什么现在web渗透,都用的是php写的源码

02查看历史登录记录服务器会记录曾经登录过的用户和IP,以及登录时间和使用时长,如果有异常用户或IP地址曾经登录过,就要注意了,服务器很可能被入侵,当然,对方为了掩盖登录,会清空/var/log/wtmp日志文件,要是你运行了last命令,只有你一个人登录,而你又从来没清空过记录,说明被入侵了:

服务器被渗透什么意思,为什么现在web渗透,都用的是php写的源码

服务器被渗透什么意思,为什么现在web渗透,都用的是php写的源码

03查看特别消耗CPU进程一般情况下,服务器被入侵后,对方通常会执行一些非常消耗CPU任务或程序,这时你就可以运行top命令,查看进程使用CPU的情况,如果有异常进程非常消耗CPU,而你又从来没有执行过这个任务,说明服务器很可能被入侵了:

04检查所有系统进程消耗CPU不严重或者未经授权的进程,一般不会在top命令中显示出来,这时你就需要运行“ps auxf”命令检查所有系统进程,如果有异常进程在后台悄悄运行,而你又从来没有执行过,这时就要注意了,服务器很可能被入侵了:

05查看端口进程网络连接通常攻击者会安装一个后门程序(进程)专门用于监听网络端口收取指令,该进程在等待期间不会消耗CPU和带宽,top命令也难以发现,这时你就可以运行“netstat -plunt”命令,查看当前系统端口、进程的网络连接情况,如果有异常端口开放,就需要注意了,服务器很可能被入侵:

目前,就分享这5个方面来判断服务器是否被入侵,当然,服务器如果已经被入侵,你就需要赶在对方发现你之前夺回服务器的控制权,然后修改密码、设定权限、限定IP登录等,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

2022-06-09

2022-06-09