记一次漏洞修复
背景
最近产品被扫出一些中高级漏洞:
[ 高风险 ] jQuery < 3.4.0 Object Extensions 漏洞
[ 中风险 ] jQuery < 3.0.0 跨站脚本攻击漏洞
[ 中风险 ] Lighttpd < 1.4.51多个安全漏洞
[ 中风险 ] Lighttpd < 1.4.50 多个漏洞
[ 中风险 ] 支持SSH弱加密算法
进行了相关模块的升级:
- lighttpd v1.4.39 ==>v1.4.58
- jQuery(jquery.min.js ) v1.11.1==>v3.5.1
- jquery.easyui.min.js v1.4.5==>v1.9.10
- dropbear(ssh) port=22 ==> port=2222
中间遇到了一些问题,特此记录。
升级lighttpd
下载最新版本,交叉编译:
make distclean ./configure --prefix=/home/xxx/lighttpd-1.4.58/out --host=arm-poky-linux-gnueabi --build=aarch64-linux-gnu --disable-FEATURE --enable-shared --disable-static --disable-lfs --disable-ipv6 --without-PACKAGE --without-valgrind --without-openssl --without-kerberos5 --with-pcre --without-zlib --without-bzip2 --without-lua make make install
拷贝
out
目录下相应的sbin
和lib
到目标系统中。
修改/etc/lighttpd.conf
配置文件中的相关配置,主要是网页路径,PHP等支持lighttpd交叉编译后执行加载plugin报dlopen错误?
原因:默认查找插件库(mod_*.so)的路径为交叉编译中指定的prefix/lib
解决:在启动时,加上-m参数
如果手动启动,修改如下:lighttpd -f /etc/lighttpd.conf -m /usr/lib/
如果自动启动,修改/etc/init.d/lighttpd
文件中的OPTS
字段,进行指定:
OPTS="-f /etc/lighttpd.conf -m /usr/lib/"
- 后面又遇到上传文件失败的大坑:
发现用lighttpd的v1.4.56版本才会有,以前的老版本v1.4.39没有,后面升级到目前最新的v1.4.58的也没出现
升级jquery
升级jquery.min.js之后发现网页上传文件的功能有问题,
F12查看发现报错:
Uncaught TypeError: a.indexOf is not a function
原因: 类似.load, .unload 或 .error等这些事件在高版本中已经废弃
在上传插件ajaxfileupload.js
中使用了:
jQuery('#' + frameId).load(uploadCallback );
改为下面的即可
jQuery('#' + frameId).on('load', uploadCallback);
dropbear修改
Dropbear: 轻量级sshd服务器
修改端口: 修改/etc/init.d/dropbear
中的DROPBEAR_PORT
修改加密算法: 支持rsa, dss, ecdsa
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 DD'Notes!
评论