问题梳理

记录一下,近期处理的一个问题,

描述一下问题,有两个tomcat应用,先称之为 A系统。提供我们系统的用户和权限模块,在进行测试的时候被扫描出来一些tomcat的漏洞,而且测试人员说,因为软需里面说明连接都是https,而现在的A系统是http,tomcat是可以改成https,但是由于A系统当初为了通过电科院3级测试,加了很多限制。再加上不认识他们项目组的人,所以我得自己想办法。

首先,我想到了,用nginx把A系统http变成https,这个不难,我一会儿的功夫nginx配置好了跳转(Windows版本配置的文件拿到linux配置不能用,而且不要用默认端口做跳转。。),但是当我输入登录地址时候,没有报错是一个空白页面。我看一下后台,发现后台打印的日志说明,非法的地址,这是因为A系统做了白名单限制,我需要用压缩工具打开jar修改它的配置信息,添加一个ip:port(nginx的ip和监听端口也要配置进来,因为用nginx做代理,你的服务器地址就会变成nginx的ip和杜鳌口),我再次输入登录地址,没有报错还是一个空白页面。我看一下后台,发现后台打印的日志说明,请求头部非法字段,这。。。最近用反编译工具排查问题,我想看看它源码,首先,我会知道它的判断位置是过滤器或者拦截器里面判断。我把tomcat下的webapp的程序用反编译工具打开,就是一些连接信息,里面有好的jar,用反编译工具打开终于找到了,所以,这是靠运气的。。。还有写程序,可以加一些混淆,要不类名字容易被猜到它是干什么的。就是下面这个

这个里面是白名单的判断,看复合白名单列表不, 判断为真跳出当前方法,也就是不让它往下走。这个不用管,往下看

就是这里,不知道它头部带的什么信息,好吧,改它源码,去掉 return.就可以了。 

用javac编译它老是报错。这怎么行。我有想到把它用开发工具打包。首先把原来这个jar放到lib下面,在创建那个类一样包名的路径。 在那个路径下创建  .java文件,把class文件里面内容拷贝进来

 把它去掉

打包,用解压工具打开,把这个class文件,覆盖到A系统里面它应该的位置。

这时候。我登录nginx代理的https地址,页面显示出来了。这只是显示。别的系统调用的话,https会报错,会话超时。所以linux上启用防火墙,

这是我的笔记,添加好端口 在启用防火墙。7默认开放22.。再加一条白名单

firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=10.126.109.121 port port=9000 protocol=tcp accept'  

这条防火墙命令是只让这个IP和端口通过,我添加的只让应用服务器访问这个服务,好的。重启防火墙。

大功告成

猜你喜欢

转载自blog.csdn.net/liuno0/article/details/106744249
今日推荐