fastjson < 1.2.67 反序列化远程代码执行漏洞升级及思考

星期三, 2020-03-25 | Author: Lee | JAVA-and-J2EE | 没有评论 105 views

阿里云推送了fastjson 安全提醒,记得上次升级到61版本还没有多久,这次又有0day漏洞,其实对很多应用基本上是没有影响的,不用管它就行.

只是有短信 邮件等提醒 还是让人心不安的,从墨菲定律的上面说,你不知道其他人是怎么使用的就有可能会中招,从公司角度就是督促升级或者移除fastjson依赖、

或者购买安全服务拦截.

一:准备移除fastjson的依赖了,看了下封装个工具类JsonKit,实现下面的几个方法,就可以很好的替换了,更多功能根据自己的实际应用处理.

据华为云披露升级到1.2.67也无法完全避免,还有部分没有完全添加到黑名单中,默认关闭type即可.

public static String toJSONString(Object data) {
		try {
			return mapper.writeValueAsString(data);
		} catch (JsonProcessingException e) {
			e.printStackTrace();
		}
		return "";
	}
 
	public static String parseObjectVal(String data, String key) {
		try {
			JsonNode node = mapper.readTree(data);
			return node.get(key).toString();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}
 
	public static <t> T parseArray(String data, TypeReference</t><t> valueTypeRef) {
		T ret = null;
		try {
			ret = mapper.readValue(data, valueTypeRef);
		} catch (JsonParseException e) {
			e.printStackTrace();
		} catch (JsonMappingException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return ret;
	}
 
	public static Map<String, Object> parseObject(String data) {
		Map<String, Object> map = parseObject(data, new TypeReference<Map<String, Object>>() {
		});
		return map;
	}
 
       // ......
</t>

› 继续阅读

Tags: ,

tomcat9配置优化及使用jdk11的调整

星期四, 2020-03-12 | Author: Lee | JAVA-and-J2EE | 没有评论 61 views

把常用调整的部分整理记录了下,方便自己以后翻阅和调整

本人实际tomcat9应用中,只注释了conf/server.xml下ajp的服务,新增了bin下的setenv.sh 的JVM配置及spring外置的配置文件

那些调整数值的根据自行配置调整.

1.系统启用nginx+tomcat配合

2.本文主要优化tomcat的配置项目

配置项参考:http://tomcat.apache.org/tomcat-9.0-doc/config/http.html

2.1 关闭AJP端口及war包的热部署
› 继续阅读

Tags: , , ,

网站监控功能上线

星期日, 2020-03-01 | Author: Lee | JAVA-and-J2EE | 没有评论 45 views

监控网站是否运行正常一直是个问题,终于花了2天时间,开发了此后台功能.

1.实行指定页面的访问监控系统的运行状况

功能包括:

1.1 每10分钟扫描一次待验证的站点,每个站点的间隔时间支持自定义,以10分钟为基本刻度

1.2 记录每次扫描站点的信息,供后续出问题及时排查也留档当时的一些情况.

1.3 返回系统异常时候 此处打通钉钉的群通知进行手机提醒,虽说很讨厌钉钉的夺命连环CALL功能,但能免费提醒还是不

错的,接入微信的通知比较麻烦,接手机短信的还要收费等,一系列下来感觉还是钉钉比较方便,有更好的,再接入

其他通知即可, 接口开放很方便.

2.查看扫描信息、添加、修改监控站点信息钉钉通知渠道,间隔通知时间,关闭检测 常用的功能,

后续只要添加需要监控的网站即可

3.目前只是监控自己旗下网站是否可以正常访问,发现异常好及时处理

4.拓展功能,后续开放给用户,或者监控指定网站的异动及更新等

Tags:

PHP7.2 下mcrypt_module_open() 无法使用的解决方法

星期五, 2020-02-28 | Author: Lee | php | 没有评论 91 views

php版本升级到7.2后,其他看下来没有什么问题,在小程序的授权上,出现了错误,无法找到mcrypt_module_open的函数.

查询网上方法修复之.

主要是使用 openssl_decrypt来替换解决,解密协议为AES-128-CBC,

如果无法解析可以尝试AES-256-CBC,本人使用AES-128-CBC正常解析的

微信那边解密错误会返回错误码-41003,则解析错误.

1.修改文件wxBizDataCrypt.php
› 继续阅读

Tags: ,

Apache Tomcat AJP协议文件读取与包含漏洞的版本升级及关闭AJP功能

星期六, 2020-02-22 | Author: Lee | JAVA-and-J2EE | 没有评论 445 views

1.阿里云提醒对应的安全风险:

Apache Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器。默认情况下,Apache Tomcat会开启AJP连接器,方便与其他Web服务器通过AJP协议进行交互。

但Apache Tomcat在AJP协议的实现上存在漏洞,导致攻击者可以通过发送恶意的AJP请求,可以读取或者包含Web应用根目录下的任意文件,如果存在文件上传功能,将可以导致任意代码执行。

漏洞利用AJP服务端口实现攻击,未开启AJP服务对外不受漏洞影响(tomcat默认将AJP服务开启并绑定至0.0.0.0)。

阿里云应急响应中心提醒 Apache Tomcat用户尽快排查AJP端口对外情况并采取安全措施阻止漏洞攻击。

影响版本

Apache Tomcat 6
 
Apache Tomcat 7 < 7.0.100
 
Apache Tomcat 8 < 8.5.51
 
Apache Tomcat 9 < 9.0.31

安全版本

Apache Tomcat 7.0.100
 
Apache Tomcat 8.5.51
 
Apache Tomcat 9.0.31

2.查看了下自己并不需要ajp的功能,最简单的方法只时间注销此项功能即可,同时也可以少监听一个端口

具体操作:

› 继续阅读

Tags: ,

不root的情况下修改手机hosts,使用电脑的fiddler代理的模式

星期三, 2020-02-19 | Author: Lee | JAVA-and-J2EE | 没有评论 103 views

1.想测试手机版的网站,需要把对应的域名指向内部的机器地址,想和电脑版本一样去改手机的hosts文件,

查了下感觉还是很麻烦的,需要root手机,随放弃,启用fiddler代理的模式

2.电脑C:\Windows\System32\drivers\etc下的HOSTS的文件修改对应域名和ip即可

3.PC下载的话直接百度搜索Fiddler 下载即可:

在手机里的wifi里面设置代理ip和端口即可完成监听

› 继续阅读

Tags: ,

nginx配置ssl后代理tomcat获取不到https

星期五, 2020-02-14 | Author: Lee | JAVA-and-J2EE | 没有评论 264 views

1.前置使用nginx做了反向代理

2.服务有tomcat提供,在tomcat里有获取getScheme总是http而不是https,需要解决.

遇见的问题如下:

request.getScheme()  //总是 http,而不是实际的http或https  
request.isSecure()  //总是false(因为总是http)  
request.getRemoteAddr()  //总是 nginx 请求的 IP,而不是用户的IP  
request.getRequestURL()  //总是 nginx 请求的URL 而不是用户实际请求的 URL  
response.sendRedirect( 相对url )  //总是重定向到 http 上 (因为认为当前是 http 请求)

3.解决办法

› 继续阅读

Tags: ,

解决XML文件中的警告提示“No grammar constraints (DTD or XML Schema) referenced in the document.”

星期三, 2020-02-12 | Author: Lee | JAVA-and-J2EE | 没有评论 119 views

在springboot项目中使用的自定义的xml文件,

但是显示警告信息“No grammar constraints (DTD or XML Schema) referenced in the document.”

解决如下:

#加上 <!DOCTYPE xml> 即可

› 继续阅读

Tags:

certbot配置letsencrypt遭遇Installing Python packages

星期一, 2020-02-03 | Author: Lee | JAVA-and-J2EE, linux | 没有评论 177 views

同样的问题再次触发,害的查了半天

使用certbot来配置ssl,比较方便,遭遇下列错误

1.Creating virtual environment…
Installing Python packages…

查看了系统的python版本都已经是python3.6.8不会出现版本低的情况

根据报错提示发现是pip的问题,使用的镜像地址还是http://mirrors.cloud.aliyuncs.com

更换之http://mirrors.aliyun.com再执行搞定

vim ~/.pip/pip.conf

国内的镜像源分别如下:
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
阿里:https://mirrors.aliyun.com/pypi/simple
豆瓣:http://pypi.douban.com/simple/
中国科学技术大学: https://pypi.mirrors.ustc.edu.cn/simple
华中理工大学: http://pypi.hustunique.com/simple
山东理工大学: http://pypi.sdutlinux.org/simple

推荐使用豆瓣的源,更新的比较及时和快:

[global]
timeout = 300
#index-url=http://mirrors.aliyun.com/pypi/simple/
index-url=http://pypi.douban.com/simple/
[install]
#trusted-host=mirrors.aliyun.com
trusted-host=pypi.douban.com

同样适用于centos8版本:

使用certbot来进行Let’s Encrypt的ssl 配置

Tags: , ,

Centos8使用yum出现无法访问的错误

星期一, 2020-02-03 | Author: Lee | JAVA-and-J2EE, linux | 没有评论 914 views

1.服务器升级系统到centos8,发现无法使用yum update

错误为:Failed to synchronize cache for repo ‘AppStream’, ignoring this repo.

2.修复之法:

2.1:检测网络是否通畅

2.2:修改 baseurl 的地址 http://mirrors.cloud.aliyuncs.com(在另外一台机器上好用,这台怎么都ping不通)

替换成http://mirrors.aliyun.com

即可,这两个地址可以尝试下哪个好用,把/etc/yum.repos.d/下的.repo文件都替换下,主要是下面三个

/etc/yum.repos.d/CentOS-AppStream.repo
/etc/yum.repos.d/CentOS-Base.repo
/etc/yum.repos.d/CentOS-Extras.repo
› 继续阅读

Tags: ,

Search

文章分类

Meta