冷月葬花魂 发表于 2015-1-18 11:15:16

JAVA网页设计实例解说:全程追踪进侵JSP网站服务器

再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。js|服务器  在用JSP制造的电子商务网站不可偻指算。可是关于JSP网站而言,平安性真的可以让人宁神吗?面临层见叠出的黑客打击和病毒打击,JSP网站的服务器可以比其他网站的服务器器加倍平安吗?前段工夫,应伴侣之邀,我对他们托管的三台服务器的主机举行了测试,发明了JSP网站存在的几个成绩。
  进侵测试第一步:扫描

  扫描是进侵的第一步,它可让你对行将进侵的方针有一个周全的懂得。同时扫描另有大概发明扫描对象的毛病,为进侵供应一个引导偏向。
  伴侣的两台服务器为Linux,一台为Windows体系,在路由器前面另有一台CiscoPIX525对三台主机举行回护,只同意内部用户毗连分歧主机的部分端口,比方80,25,110。
  依据检测,CiscoPIX防火墙过滤划定规矩设置对照周密,基础上没有过剩端口同意内部用户会见。仔细剖析后,我发明,方针收集的主机经由过程地点转换来供应对外会见,外部利用192.168.*.*地点段。
  先不思索那末多,找个扫描软件来看看主机的平安情形。我找来了X-Scan,在内部对这几台主机举行了端口扫描以后,天生了一份关于端口的报表,发明个中有一个Tomcat服务器,注释的天然就是JSP文件了。
  小常识:

  TomcatWeb服务器是一款开源的合适于各类平台的收费收集服务器。eBay.com与Dell盘算机等出名网站都接纳大概已经接纳Tomcat的container容器实行Servlet与JSP。
  看来,只能经由过程Web服务举行直接打击。起首反省TCP80端口的服务。我发明,旧事搜刮的功效是由端口8080供应的,输出http://202.103.*.168:8080/以后,失掉了一个体系办理登录页面,复杂地测试了一下,输出“test/test”作为“用户名/口令”,仿佛认证乐成,但实践上其实不能进进下一个页面。
  专家支招:关于扫描来讲,它很简单表露我们网站的弱势方面。应对扫描,我们能够架设一个蜜罐来误导扫描者,蜜罐可让体系假装成各处是毛病,从而掩蔽真正存在的毛病,也能够假装成没有任何毛病,让进侵者不晓得从何动手(在客岁第47期《电脑报》中,我们对制造蜜罐举行了先容)。
  进侵测试第二步:毛病实验

  实验JSP各类已知毛病,这个是在扫描了局中没法取得任何无效信息引导进侵的情形下,自愿利用的办法。这类办法固然效果纷歧定好,可是常常可以起到意想不到的效果,从而让进侵持续下往。

  我举行了JSP巨细写的测试,由于JSP对巨细写是敏感的,Tomcat只会将小写的jsp后缀的文件看成是一般的JSP文件来实行,假如年夜写了就会引发Tomcat将index.JSP看成是一个能够下载的文件让客户下载,多少测试后,我发明这个办法其实不见效,大概办理员已在服务器软件的网站高低载了最新的补钉。
  我发明年夜部分的JSP使用程序在以后目次下城市有一个WEB-INF目次,这个目次一般寄存的是JavaBeans编译后的class文件,假如不给这个目次设置一般的权限,一切的class就会暴光。
  而接纳JAD软件对下载的class文件反编译后,原始的Java文件乃至变量名都不会改动。假如网页制造者入手下手把数据库的用户名暗码都写在了Java代码中,反编译后,说不定还能看到数据库的主要信息。那末,怎样失掉这些文件呢?

  Tomcat版本的缺省“/admin”目次是很简单会见的。输出:http://202.103.*.168/admin/,办理员目次鲜明在列。默许情形下,“UserName”应当是admin,“Password”应当是空,输出用户和暗码后,并点击“Login”按钮,不克不及进进,连续利用了几个对照罕见的暗码,也杯水车薪。
  默许情形下,Tomcat翻开了目次扫瞄功效,而一样平常的办理员又很简单无视这个成绩。也就是说,当请求的资本间接映照到服务器上的一个目次时,因为在目次中短少缺省的index.jsp等文件,Tomcat将不前往找不到资本的404毛病,而是前往HTML格局的目次列表。
  想到了这点后,我翻开方才用X-Scan扫描后天生的报表文件,找到“平安毛病及办理计划”栏目,看到了几个大概会有CGI毛病的目次。在地点栏输出个中之一,前往了局如所示。



  一些很典范的JSP文件和JS文件都列出来了。年夜喜之下,任意选择一个文件,点击右键,然后,选择“用FlashGet下载全体链接”选项,因而,这个目次下的一切文件都被我下载到了当地。
  个中最有代价的是一个名字为dbconn.js的文件,看来程序计划者是为了便利费事,把一些数据库毗连的暗码和毗连地点都写在内里了(这是良多开辟者大概会疏忽的成绩)。不外,我如今最体贴的仍是Tomcat的办理员暗码。
  复杂破解后,发明Tomcat体系中的admin用户利用了十分复杂的口令:web123456。使用这个毛病,有了这个暗码,上面的事情就绝对复杂了。
  专家支招:关于网站中的毛病,我们要立即打上各类补钉,然后对几个已知的平安弱势方面举行增强,好比我们能够将“/admin”目次举行修正,让进侵者不简单找到办理路径。然后封闭Tomcat的目次扫瞄功效,让进侵者的毛病实验完全失利。
  进侵测试第三步:注进打击

  良多网站关于注进提防做得都很不到位,注进打击可让网站表露出本人的数据库信息以致于表露数据库表中的办理员账号和暗码。

  从头登录Tomcat的办理界面,点击“Context(Admin)”这个链接,列出了WEB目次下的一些文件和目次的称号,如今就能够对Tomcat的Context举行办理,比方检察、增添、删除Context。
  回到Tomcat的办理界,我发明了一个上传文件的组件,而且网站另有一个论坛。因而,我编写了一个input.jsp文件,并将它看成一样平常的Web使用程序,经由过程上传的组件上传到对方的WEB目次里。翻开input.jsp这个页面()。



  网页对查询窗体不会做任何输出考证,可是对用户称号的窗体则会。将数据填进窗体,来测试一下网页的毛病,例子以下:
  (1)将<scriptlanguage="javascript">alert(document.cookie)</script>填进搜刮字段,以便用XSS来显现历程的cookie。
  (2)将<iframesrc=http://jakarta.apache.org></iframe>填进搜刮字段来树模HTML注进打击。
  经由过程这些办法,我失掉了一些论坛的用户信息,固然,这些都是针对JSP做的一些测试,以考证Web使用程序中的一切输出字段。有了用户信息,却没有暗码,怎样办?在登录时,我发明了一个8888端口,这会是个甚么服务呢?
  专家支招:在网页毗连数据库的计划中,网页计划职员要到场对一些敏感标记的考核机制,屏障一些在数据库中有感化的标记,这能够在很年夜水平上乐成进攻注进打击。
  进侵第四步:攻其“软肋”

  依据进侵的渐渐深切,体系存在的平安成绩也垂垂分明,上面就是针对网站的平安“软肋”举行打击。一样平常针对平安“软肋”的打击会使进侵乐成。
  翻开地点后,我发明这个端口运转的是Apache+PHP。也就是说,这台主机还能够编译PHP。从履历剖析来看,办理员在JSP主机上同时安装PHP的次要目标多是为了办理MySQL数据库。因而,这个端口极可能有phpMyadmin这款MySQL数据库办理软件。这个端口上会不会无数据库办理目次呢?
  公然不出我所料,在输出这个目次以后我发明,我进进了一个phpMyadmin的办理界面,能够对MySQL数据库举行恣意操纵。它撑持从当地操纵体系读进大概写进数据。更不成了解的是,办理员竟然用root账户写在了数据库链接内里,想不把持这个数据库都不可了。
  翻开个中的一个数据库,在“SQL”中输出“SELECT*FROM`administer`”,administer表中的数据全体显现出来了。和我后面用JSP探测的用户范例大抵分歧。至于他们的表和数据的编削权限,如今则完整在我的把握当中了。
  专家支招:利用了一些软件的时分,我们只管修正它的默许目次,将它改成一个不简单被猜解到的名字。同时在会见该目次的时分到场暗码考核机制,就算进侵者找到了这个办理目次也没法取得进进目次的暗码。

还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。

透明 发表于 2015-1-20 18:32:50

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

因胸联盟 发表于 2015-1-24 16:03:03

Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。

小魔女 发表于 2015-1-29 11:15:47

是一种将安全性(Security)列为第一优先考虑的语言

爱飞 发表于 2015-1-29 19:20:08

如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。

仓酷云 发表于 2015-2-6 03:25:05

你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。

精灵巫婆 发表于 2015-2-9 16:30:02

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

分手快乐 发表于 2015-2-27 00:49:59

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

灵魂腐蚀 发表于 2015-3-8 18:45:59

Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。

小妖女 发表于 2015-3-11 15:26:08

另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。

兰色精灵 发表于 2015-3-18 22:51:19

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

小女巫 发表于 2015-3-26 17:52:26

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
页: [1]
查看完整版本: JAVA网页设计实例解说:全程追踪进侵JSP网站服务器