仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 591|回复: 12
打印 上一主题 下一主题

[学习教程] JAVA教程之图文解说全程追踪进侵JSP网站服务器

[复制链接]
只想知道 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:17:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。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探测的用户范例大抵分歧。至于他们的表和数据的编削权限,如今则完整在我的把握当中了。
  专家支招:利用了一些软件的时分,我们只管修正它的默许目次,将它改成一个不简单被猜解到的名字。同时在会见该目次的时分到场暗码考核机制,就算进侵者找到了这个办理目次也没法取得进进目次的暗码。

关于第二点:俺问问你,如果是企业级项目的话,诸如RMI,EJB,等一些关键技术,这些难道都不需要学么?如果光是使用jsp,servlet,javabean的话。
不帅 该用户已被删除
沙发
发表于 2015-1-20 05:42:21 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.ckuyun.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
分手快乐 该用户已被删除
板凳
发表于 2015-1-31 16:43:33 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
再现理想 该用户已被删除
地板
发表于 2015-2-2 22:33:23 | 只看该作者
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
小魔女 该用户已被删除
5#
发表于 2015-2-3 12:41:21 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
飘灵儿 该用户已被删除
6#
发表于 2015-2-6 00:59:03 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
爱飞 该用户已被删除
7#
发表于 2015-2-7 04:15:40 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
第二个灵魂 该用户已被删除
8#
发表于 2015-3-3 15:27:00 | 只看该作者
是一种使网页(Web Page)产生生动活泼画面的语言
再见西城 该用户已被删除
9#
发表于 2015-3-4 05:03:48 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
深爱那片海 该用户已被删除
10#
发表于 2015-3-8 00:26:17 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
海妖 该用户已被删除
11#
发表于 2015-3-11 14:35:32 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
透明 该用户已被删除
12#
发表于 2015-3-18 19:08:07 | 只看该作者
是一种突破用户端机器环境和CPU
小女巫 该用户已被删除
13#
发表于 2015-3-26 11:56:18 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-15 18:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表