为什么那些攻防教学例子基本都是php网站或者asp之类的?
这个问题这就要从asp和php这二十年多来的各种纠葛说起了。大概97年前互联网基本上是蛮荒之地,全世界大多数网站都是静态的HTML网页,一些科研机构和有技术实力的单位,使用cgi实现网站后台程序,使网站有了交互逻辑。但cgi(通用网关编程接口)实在是太难了,也缺少相关教材,使一般人想做一个动态交互型网站几乎不可能。
随后98年WindowsNT系统已经出来一年多以后慢慢被国人接受,发现他配套的IIs带的asp语言是如此的简单高效,熟悉一点vb语法基本就能上手,微软还提供了大量的学习资料,甚至在Windows95上安装一款pws的微软插件也能运行asp程序,这对早期只能做静态页面的小鸟们,是一个绝对的福音。
于是第一代互联网程序员(我也是其中一员),就在这个时代成长起来了,化学反应就是真奇妙,一个asp语言带动了一个产业——
大家发现asp程序如果要让全世界人看到,那就得买服务器拉一根专线(在那个年代这是天价),后来好事者把一台物理服务器,拆成不同的文件夹出售(这就是最早虚拟主机的雏形)这样广大爱好者就可以以极低的成本,把自己的网站程序部署上线。
没过多久,一个好事的程序员忽然灵光一现,浏览别人网页的时候,在用户名密码的位置,不输入用户名了,改输了一串SQL语句,不出意外的他就绕过了密码验证而进入了某个网站的后台,这就是SQL注入,也是早期黑客的雏形。可悲是这在当时此类问题并未引起广泛关注,反而黑客被渲染成电脑高手的形象,深受追捧。
后来这个好事的程序员发现,他可以上传一个程序,批量的把服务器资源(尤其是同服务器大量的虚拟主机网站)copy下来,然后以极低的价格卖给当时很火爆的源码下载站。
这就形成了一个恶性循环,新入行的站长买一个虚拟主机,去源码站下载一套源码,换换页面风格就上线了,黑客一扫描发现某网站还是之前的某程序的换皮版本,不费吹灰之力,又黑了你的网站,得到了源码继续卖给别人。
又有些黑客黑了你的网站,挂恶意链接,事实上这一波黑客是seo黑帽行业的黑客。有些黑客挂恶意木马,这属于盗号圈的黑客。
一个服务器被攻陷以后,黑客会像分尸一样,把各类资源卖给不同的商家。(形成了多种产业链)
这就把服务器运营商坑了个半死,后来Windows2000出来,安全性大大提升,虚拟主机各个网站的文件夹也基本做到了隔离(一个网站被黑,不会殃及同服务器其他网站),这个问题才逐渐得到改善。
但现在已经二十多年过去了,很多下载站仍然充斥着大量有漏洞的源码,有些源码看似很新,那不过是界面设计的新颖而已,核心程序很多都是很多年前流传下来的老程序改的。
第一代网络程序员,对SQL注入、网络安全问题不是很敏感,导致后来很长一段时间,后续很多代码都有这个问题。
php语言和asp类似,都是在这个时期以这种形态出现,jsp和asp.net相对问题少一点,但仅仅是因为那个年代会Java和.net的人少而已,但同样的SQL注入问题一样存在。
php那些年一直都是asp的小弟,直到Windows2003以后,微软宣布停止支持和后续开发asp引擎后,asp成了没娘的孩子,php才逐渐超过asp,由于编程风格类似(都是HTML里嵌程序)很多asp程序员转投php阵营,大约2005年以后至今php风光无二。“php是最好的语言”这句话不管你承不承认,php的程序员基数绝对够大,因为他继承了asp很多程序员加入。
【题外话】php程序员整体素质不如Java和.net(当年很多asp程序员,基本都是面向过程的思想,不知面向对象为何物,不知道类和方法为何物。)但老的php和asp程序员很多又都是多面手,即是美工又是程序员。这就让当代前后端分工明确的Java和.net程序员望尘莫及。
近五六年,网络安全作为一个独立行业崛起,加上新一代程序员接受了更完善的技能教育,比起老一代自学出身的草根程序员而言,新人活更好、做出的东西也更安全。
这一切都得益于行业的进步,和一代代程序员的不懈努力。
2006年有一次黑客把我服务器黑的很惨,我哭了好几个小时,都是在一次次事故中成长的。[呲牙]
第一代五语全栈程序员 低调飘过
谨以此文纪念我们激情燃烧的岁月