第二,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包所在目錄的上傳權限(同時還要獲得網站的根目錄權限),這是壹個難點。