为什么现在web渗透用php写的源代码?
第二,PHPweb框架有很多漏洞。国内最常用的php框架Thinkphp经常爆出各种严重漏洞,比如5.x的远程可执行命令漏洞,导致大量网站使用该框架。这个漏洞很容易被利用,一个程序可以随意感染大量网站。有些人利用这个漏洞得到的肉鸡多得数不过来。
另一方面,Javaweb,大多数人会使用sprint family bucket。SpringMVC和Springsecurity提供的安全认证非常强大。
虽然Spring有一些漏洞,但是我不记得有一个傻瓜式的漏洞是非常好用的,可以非常简单的获得最高权限。
劣质php第三网上源码最多。很多人根本没有独立编程的能力。这些所谓的“程序员”最喜欢做的事情就是在网上下载各种免费的源代码,然后修改,哪怕是自己做网站。
这类免费源代码多为PHP。DedeCMS,xxshop,xxmall,魏梦,这里的垃圾PHP源代码千疮百孔。可以说是黑客们的最爱。垃圾源代码最多的网站,随便一个中学生都能入侵,跟裸奔没什么区别。
同时,会用这些垃圾代码做网站的程序员一般都不会太高,按理说连编程入门都算不上。这些所谓的程序自然无法阻止黑客入侵。
第四,很多人安全意识差。不管你用什么语言做网站,大部分都要在网站程序之外运行一个Nginx,apache或者IIS。即使用Java和Nginx做反向代理和静态处理,也有很多框架是tomcat遵循的。
总的来说,很多人要么不熟练,要么懒,不自己编译tomcat或者apache,而是用网上现成的一键安装包或者忽悠安装程序。这些程序可能默认安装了PHP支持。
换句话说,一些安全意识不强或者水平差的程序员写的javaweb很可能是支持PHP的。
很多人在入侵索赔的时候,不管你是什么网站,都会先试试PHP能不能实现,入侵的概率比较大。
关于最后一个问题,如果发现Javaweb有漏洞,可以上传文件,下一步就是提权了。这个时候你直接上传Java源代码是没有用的。Php是动态执行的,源代码可以直接执行,而Java需要编译。
如果你在获得上传权限后想要认领权限,首先要搞清楚对方服务器的jre版本,然后用相应的版本在本地编译,再上传jar包,然后才能执行。
这里还有一个区别。一般来说,php只需要获得网站根目录的上传权限即可。但是,Javaweb很可能网站的根目录和存储可执行jar包的目录不是同一个目录。如果要执行Java代码,必须设法获得jar包所在目录的上传权限(同时还要获得网站的根目录权限),这是一个难点。