metasploit中的JAVA反向TCP做法的研究

在研究CVE-2015-7450这个JAVA反序列化漏洞时,面临着一个问题:在WebSphere中,该漏洞仅可以执行命令,但是不能回显执行结果。遇到这种漏洞,通常的做法都是利用wget或者curl这样的命令来执行一个http请求,将需要的信息送出。但是在我司,这些命令都没法用。原因是我司大量使用的是AIX操作系统,且是不含有任何功能增强的“裸版”。如何在这种环境下回显执行结果,就变得非常重要。 在Google搜索的过程中,发现了一个漏洞利用工程。在该工程的详细介绍中,提到了一种使用metasploit进行shell反弹的做法。研究了该做法后,对于其设计的巧妙深感佩服,遂介绍一下给大家。 1.什么是metasploit metasploit是一套开源的漏洞利用工具集合和框架。正因为是一个框架,每个人都可以提交利用该框架写的漏洞利用模块。久而久之,该模块库就越来越大,最终形成了一套工具库。关于metasploit在各个系统的安装,这里不再赘述。 2.metasploit中的JAVA反向TCP有什么用 通常,一个漏洞利用,可能会遇到两个讨厌的问题: 如前言中所述,我们可以执行某个命令,但是没办法感知命令执行的结果,于是就变成一个只能搞“破坏”,但是无法被利用起来的漏洞 或者,我们通过漏洞可以植入木马,但是因为有防火墙,我们没办法主动和木马联络,因为一般防火墙的规则都是禁止入站,但是不防止出站。 遇到上述情况,…

Shiro中,对已登陆用户再次访问loginUrl的控制

最近在做一个项目,第一次使用Shiro,配置倒是非常简单,测试时有用户抱怨说反复登陆,都停留在登陆界面。于是分析其行为,最终发现,用户很可能是收藏了登陆界面,在已经登陆到系统的前提下,用户没有退出,直接用收藏夹切换到登陆界面,打算用另外一个用户登陆。通过阅读文档,可以知道Shiro对于用户行为有三种方式过滤: 如果用户没有登陆,直接来到了登陆页面,则成功登陆后,用户会被重定向到successUrl界面。 如果用户没有登陆,直接访问了未授权页面,则会被重定向到loginUrl页面(即登陆页面),登陆成功后,会被重新定向到之前用户直接访问的页面。 用户已经登陆,则可以直接访问权限内的页面 那么,问题就出在,用户已经登陆的情况下,用户直接访问了loginUrl,这时候,Shiro不会将其重定向,而Shiro的用户登陆逻辑,又是向loginUrl发送一个POST请求。因此,就出现了似乎是死循环的逻辑。 放狗搜索,最终在stackoverflow得到了一些答案,总结一下,基本上两种结局方案 在loginUrl页面判断用户是否已经登陆,如果已经登陆了,则提示用户可以选择进入系统或者登出: <ui:fragment rendered="#{not empty…