实例讲解:全程追踪入侵JSP网站服务器

news/2024/5/9 20:02:33/文章来源:https://blog.csdn.net/holiday1001/article/details/2235027
在用JSP制作的电子商务网站多如牛毛。但是对于JSP网站而言, 安全性真的能够让人放心吗?面对层出不穷的黑客攻击和病毒袭击,JSP网站的 服务器能够比其他网站的服务器器更加安全吗?前段时间,应朋友之邀,我对他们托管的三台服务器的主机进行了测试,发现了JSP网站存在的几个问题。

  入侵测试第一步:扫描

  扫描是入侵的第一步,它可以让你对即将入侵的目标有一个全面的了解。同时扫描还有可能发现扫描对象的漏洞,为入侵提供一个指导方向。

  朋友的两台服务器为Linux,一台为Windows系统,在路由器后面还有一台Cisco PIX 525对三台主机进行保护,只允许外部用户连接不同主机的部分端口,例如80,25,110。

  根据检测,Cisco PIX防火墙过滤规则设置比较严密,基本上没有多余端口允许外部用户访问。细致分析后,我发现,目标网络的主机通过地址转换来提供对外访问,内部使用192.168.*.*地址段。

  先不考虑那么多,找个扫描软件来看看主机的安全情况。我找来了X-Scan,在外部对这几台主机进行了端口扫描之后,生成了一份关于端口的报表,发现其中有一个Tomcat服务器,解释的自然就是JSP文件了。

  小知识:

  Tomcat Web服务器是一款开源的适合于各种平台的免费网络服务器。eBay.com与Dell 计算机等知名网站都采用或者曾经采用Tomcat的container容器执行Servlet 与JSP。

  看来,只能通过Web服务进行间接攻击。首先检查TCP 80端口的服务。我发现,新闻搜索的功能是由端口8080提供的,输入http:// 202.103.*.168:8080/之后,得到了一个系统管理登录页面,简单地测试了一下,输入“test/test”作为“用户名/口令”,似乎认证成功,但实际上并不能进入下一个页面。

  专家支招:对于扫描来说,它很容易暴露我们网站的弱势方面。应对扫描,我们可以架设一个蜜罐来误导扫描者,蜜罐可以让系统伪装成到处是漏洞,从而遮蔽真正存在的漏洞,也可以伪装成没有任何漏洞,让入侵者不知道从何入手。

  入侵测试第二步:漏洞尝试

  尝试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/,管理员目录赫然在列。默认情况下,“User Name”应该是admin,“Password”应该是空,输入用户和密码后,并点击“Login”按钮,不能进入,陆续使用了几个比较常见的密码,也无济于事。

  默认情况下,Tomcat打开了目录浏览功能,而一般的管理员又很容易忽视这个问题。也就是说,当要求的资源直接映射到服务器上的一个目录时,由于在目录中缺少缺省的index.jsp等文件,Tomcat将不返回找不到资源的404错误,而是返回HTML格式的目录列表。

  想到了这点后,我打开刚才用X-Scan扫描后生成的报表文件,找到“安全漏洞及解决方案”栏目,看到了几个可能会有CGI漏洞的目录。在地址栏输入其中之一,返回结果如图1所示。

  一些很典型的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这个页面(图2)。

  网页对查询窗体不会做任何输入验证,但是对用户名称的窗体则会。将数据填入窗体,来测试一下网页的漏洞,例子如下:

  (1)将<script language="javascript">alert(document.cookie)</script>填入搜索字段,以便用XSS 来显示进程的cookie。

  (2)将<iframe src=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探测的用户类型大致一致。至于他们的表和数据的删改权限,现在则完全在我的掌握之中了。

  专家支招:使用了一些软件的时候,我们尽量修改它的默认目录,将它改为一个不容易被猜解到的名字。同时在访问该目录的时候加入密码审核机制,就算入侵者找到了这个管理目录也无法获得进入目录的密码。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_871262.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

合法练习黑客技术?这15个网站也许可以帮到你

俗话说得好&#xff0c;最好的防守就是进攻&#xff0c;而这句话同样适用于信息安全领域。接下来&#xff0c;我们将给大家介绍15个最新的网络安全网站。无论你是开发人员、安全专家、审计人员、或者是渗透测试人员&#xff0c;你都可以利用这些网站来提升你的黑客技术。熟能生…

我学python3 爬虫之登录网站

一直对编程感兴趣&#xff0c;但始终敬而远之&#xff0c;仅了解过一些皮毛。去年年底戒掉游戏&#xff0c;就突发奇想&#xff0c;认真学一门语言。问了一下度娘&#xff0c;说非科班出生比较适合学Python。因为之前对Python一点不了解&#xff0c;在网上搜了一些资料看&#…

WordPress网站加载WAITING (TTFB) 时间过长解决办法

WordPress 刚刚安装的时候&#xff0c;性能是没问题的&#xff0c;我们安装了主题、插件、添加了一些小工具和菜单&#xff0c;然后我们就开始上传内容了&#xff0c;我们都很勤快 Waiting (TTFB) 时间 Time to First Byte 指的是浏览器开始收到服务器响应数据的时间&#xf…

网站运行缓慢的 12 个原因(以及如何修复它们)

如今用户希望网站速度快。当页面加载时间超过预期时&#xff0c;会对您网站的用户体验 (UX)产生负面影响。这很重要&#xff0c;因为每当您的用户体验受到影响时&#xff0c;您的转化率也会受到影响。您可能还会看到更高的页面放弃率和跳出率。额外的两秒加载时间可以将您网站的…

WordPress网站搬家换域名(数据迁移无丢失)

新站点 新域名 新数据库 利用插件2个步骤即可完成迁移替换等操作&#xff0c;算是和演示站克隆一样的效果&#xff0c;包括主题设置模板那些。百度上的WordPress迁移搬家教程方法都是千篇一律只管复制粘贴&#xff0c;不管情况是否一致正确可行&#xff0c;毫无人性可言。请各位…

谷歌广告联盟(Google Adsense)通过网站获利功能在线创收

Google作为全球最大搜索引擎&#xff0c;拥有全球近27亿用户的使用可以讲是最大的搜索引擎了。。可以说是国内某度没有办法比的。谷歌广告联盟(Google AdSense)门槛较高&#xff0c;一个用户只能申请一个谷歌账号&#xff0c;当你有了一个英文站之后最难的就是这个站的流量。 谷…

采集的网站如何做收录(采集站网站排名优化技巧)

采集站的主要工作是提升网站文章被百度的收录量&#xff0c;基本离不开文章组合工具,支持对词组、字句进行原创随机组合,做文章收录也并不难&#xff0c;只是需要一定的技巧。飓风算法之后采集站还能做吗&#xff1f;毫无疑问&#xff0c;当然可以。本人虽然不像一些大佬那么厉…

黑客是怎么攻击网站的(网站渗透入侵全部教程)

原标题《安全攻击溯源思路及案例》在攻防的视角里&#xff0c;进攻方会占据比较多的主动性&#xff0c;而防守方则略显被动&#xff0c;因为作为防守方&#xff0c;你永远也不知道攻击会在什么时候发生。你所能做的是&#xff0c;做好自己该做的一切&#xff0c;准备好自己该准…

12306铁道部订票网站瘫痪 技术惹的祸?

【IT168 评论】俗话说&#xff0c;新官上任三把火。铁道部掌门人易主&#xff0c;换来了中国铁路史上一个振奋人心的消息——网络实名购票&#xff0c;目标是解决中国铁路长期以来面临的“一票难求“的难题。受此影响&#xff0c;中国铁路订票官方网站12306.cn这个网络新生儿&a…

由12306.cn谈谈网站性能技术

12306.cn网站挂了&#xff0c;被全国人民骂了。我这两天也在思考这个事&#xff0c;我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促&#xff0c;而且完全基于本人有限的经验和了解&#xff0c;所以&#xff0c;如果有什么问题还请大家一起讨论和指正。&#xff0…

这几个宝藏网站,一旦知道,你就离不开了!!!

谁说程序员只有代码&#xff1f; 今天就回归生活 为大家推荐几个鲜为人知的私藏小众网站&#xff0c;每一个都堪称日常神器 并且其中很多网站是完全免费的&#xff0c; 基本上都是非常良心好用&#xff0c;让你相见恨晚&#xff0c;用过就离不开。 有用的话记得分享给需要…

一篇从零开始、步骤完整的网站搭建教程(全篇7000字、102张截图说明,力求每一个人都能看懂,附源码)

从今年八月开始到现在自己也是从0开始做了有两个网站: 这中间也经常有不了解的地方需要去查。其实网上的资料也不少 但可能相对比较零散&#xff0c;需要反复的查来查去&#xff0c;费时又累心 那这次有时间就想着说写一篇从零开始、步骤完整的网站搭建教程 希望能帮助大家节省…

新手爬取51job,智联,boss网站职位信息总结和代码(小杜总结)

爬取要求&#xff1a; &#xff08;1&#xff09; 使用合适的数据保存手段保存爬取数据 &#xff08;2&#xff09; 记每条数据的爬取时间 &#xff08;3&#xff09; 实现数据的增量爬取 &#xff08;4&#xff09; 实现同时基于关键字和页面 URL 的去重元数据说明&#xff1a…

SEO必备工具—百度谷歌关键词采集工具(绿色版)

更多内容请到我的博客:http://mikameng.com 如果您做网站SEO优化&#xff0c; 想必您会经常和关键词打交道。 如果您想拥有海量的网站流量吗&#xff1f; 那采集海量的关键字是很有必要的。 如何快速&#xff0c;高效的获取百度和谷歌的海量关键词呢&#xff0c; 本人开发了…

MacOS解决访问百度很慢,但是其他网站正常的问题

话说这两天隔离结束回到公司宿舍&#xff0c;然后发现宿舍网过期了。。 充了钱之后发现其他设备访问百度都非常正常&#xff0c;但是唯独我的MacBook Pro访问百度巨慢。。 于是用搜狗搜了一下&#xff0c;发现可能是DNS的问题。。就跑到设置的网络这儿 然后在连接的网络里点…

Linux安装apache、发布网站、修改端口、配置第二顺位默认发布文件

1.安装apache服务器&#xff0c;并配置访问端口为9999。 安装apache yum install httpd -y 安装apache手册 yum install httpd-manual 将Apache服务添加到 开机自启中 systemctl start httpd systemctl enable httpd 设置永久允许http firewall-cmd --permanent --add-…

任选一小说网站,爬取任意一部小说,以记事本的形式保存。

1、任选一小说网站&#xff0c;爬取任意一部小说&#xff0c;以记事本的形式保存。 第一种情况(网址可能已失效)&#xff1a; import requests from lxml import etree def get_url():url http://www.yuetutu.com/cbook_24378/r requests.get(url)tree etree.HTML(r.text)…

使用AJAX技术,结合监听器,实现页面中动态显示当前网站在线人数(电子工业出版社《Java Web程序设计》P171第九题)

导航 先上思维图纸第一步&#xff1a; 参考了课本(如题教材)实现了Listener第二步&#xff1a;个性化适配第三步&#xff1a;实现JSP界面总体问题&#xff1a; 刚看到的时候心里想的是写一个Servlet集成Listener的相关接口实现。然后JSP的JS每1ms获取一次doGet()中的数据实时刷…

curl网站开发指南

来源&#xff1a;http://www.ruanyifeng.com/blog/2011/09/curl.html curl网站开发指南 作者&#xff1a; 阮一峰 我一向以为&#xff0c;curl只是一个编程用的函数库。 最近才发现&#xff0c;这个命令本身&#xff0c;就是一个无比有用的网站开发工具&#xff0c;请看我整理…