Linux Kernel

通达OA权限提升漏洞通告

99封情书 提交于 2021-02-20 10:50:21
0x00 漏洞背景 2020年04月22日, 360CERT监测发现 通达OA官方 发布了编号为 11.5.200417 的更新通告,此次更新修复了一枚权限提升漏洞,漏洞等级: 高危 。 通达OA是由北京通达信科科技有限公司研发的一款通用型OA产品,涵盖了个人事务、行政办公、流程审批、知识管理、人力资源管理、组织机构管理等企业信息化管理功能。2015年,通达云OA入驻阿里云企业应用专区,已为众多中小企业提供了稳定、可靠、强悍的云计算支撑。 通达OA 存在 权限提升漏洞 , 攻击者 通过 发送特制请求包 ,可以造成 权限提升(未认证用户提升到管理员) 。 对此,360CERT建议广大用户及时安装最新补丁,做好资产自查以及预防工作,以免遭受黑客攻击。 0x01 风险等级 360CERT对该漏洞的评定结果如下 评定方式 等级 威胁等级 高危 影响面 有限 0x02 漏洞详情 在 通达OA 存在如下代码逻辑 $UID = intval( $_POST [ "UID" ]); ... $query = "SELECT * from USER where UID=' $UID '" ; if($ROW = mysql_fetch_array( $cursor )){ $USER_ID = $ROW [ "USER_ID" ]; $PWD = $ROW [ "PASSWORD" ];

Linux 系统时间设置

纵饮孤独 提交于 2021-02-18 02:24:24
from:https://blog.csdn.net/yjh314/article/details/51669238 今早看到一台机器时间对不上,本以为系统时间与网络北京时间不同步,就在终端命令执行网络时间同步 [plain] view plain copy [root@localhost ~]# ntpdate time.windows.com 执行完之后,在执行终端命令,查看时间还是一样,其实EDT和CST是有区别的,时区不一样 EDT:指美国东部夏令时间,波士顿、纽约市、 华盛顿哥伦比亚特区 ,都在这个时区内,跟 北京时间 有12小时的时差,晚12小时。 CST:可以指下面两种: 1. 美国中部标准时间(西六区,-6:00),中国是东八区(+8:00),北京时间比美国中部标准时间早14个小时。3:45 PM CST 是北京时间凌晨1:45。 2. 中澳大利亚标准时间(+10:30),中国是东八区(+8:00),北京时间比中澳大利亚标准时间晚2个半小时。3:45 PM CST 是北京时间下午上午5:45。 那么现在只要改成北京时间的时区CST就可以了,修改如下: [plain] view plain copy [root@localhost ~]# mv /etc/localtime /etc/localtime.bak [root@localhost ~]# ln -s

Linux内核 TCP/IP、Socket参数调优

亡梦爱人 提交于 2021-02-14 16:58:09
/proc/sys/net目录   所有的TCP/IP参数都位于/proc/sys/net目录下(请注意,对/proc/sys/net目录下内容的修改都是临时的,任何修改在系统重启后都会丢失),例如下面这些重要的参数: 参数(路径 + 文件) 描述 默认值 优化值 /proc/sys/net/core/rmem_default 默认的TCP数据接收窗口大小(字节)。 229376 256960 /proc/sys/net/core/rmem_max 最大的TCP数据接收窗口(字节)。 131071 513920 /proc/sys/net/core/wmem_default 默认的TCP数据发送窗口大小(字节)。 229376 256960 /proc/sys/net/core/wmem_max 最大的TCP数据发送窗口(字节)。 131071 513920 /proc/sys/net/core/netdev_max_backlog 在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。 1000 2000 /proc/sys/net/core/somaxconn 定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。 128 2048 /proc/sys/net/core/optmem_max 表示每个套接字所允许的最大缓冲区的大小。

Fix-Mapped Addresses

不问归期 提交于 2021-02-12 01:44:27
一、前言 某天,wowo同学突然来了一句:如果要在start_kernel中点LED,ioremap在什么时间点才能调用呢?我想他应该是想通过点LED灯来调试start_kernel之后的初始化的代码(例如DTB解析部分的代码)。那天,我们两个花了二十分钟的时间,讨论相关的问题,我觉得很有意思,因此决定写fix mapped address这样的一份文档。 在汇编代码中,由于没有打开MMU,想怎么访问外设都很简单,直接使用物理地址即可,然而,进入start kernel之后(打开了MMU),想要访问硬件都是那么的不方便,至少需要通过ioremap获取了虚拟地址之后才可以访问。但是,实际上,在内核的启动的初始阶段,内存管理子系统还没有ready,ioremap还不能调用(在mm_init之后可以正常使用)。 实际上,这个需求是和early ioremap模块相关,此外,还有一些其他的需求,内核合并了这些需求并提出了fix mapped address的概念。本文就是描述关于fix mapped address的方方面面,BTW,本文的代码来自4.4.6内核,体系结构相关的代码依然选择的是ARM64。 二、什么是fixmap? Fix map中的fix指的是固定的意思,那么固定什么东西呢?其实就是虚拟地址是固定的,也就是说,有些虚拟地址在编译(compile-time

Linux内存管理基本概念

好久不见. 提交于 2021-02-10 02:43:40
1. 前言 内存(memory)在Linux系统中是一种牵涉面极广的资源,上至应用程序、下至kernel和driver,无不为之魂牵梦绕。加上它天然的稀缺性,导致内存管理(Memory Management,简称MM)是linux kernel中非常重要又非常复杂的一个子系统。 重要性就不多说了,Kernel自有分寸。关于复杂性(鉴于Linux kernel优秀的抽象能力),应该不会被普通人(Linux系统的使用者、应用工程师、驱动工程师、轻量级的内核工程师)感知到才对。事实确实如此,Kernel屏蔽掉了大多数的实现细节,尽量以简单、易用的方式向其它模块提供memory服务。 不过呢,这个世界上没有完美的存在,kernel的内存管理也是如此,由于两方面的原因:一、众口难调,内存管理有关的需求实在太复杂了;二、CPU、Device和Memory之间纠结的三角恋(参考下面图片),导致它也(不得不)提供了很多啰里啰唆的、不易理解的功能(困扰了很多从入门级到资深级的linux软件工程师)。 图片1 CPU, Device and Memory 基于上面的原因,本站 内存管理子系统 发布了很多分析文章,以帮助大家理解内存管理有关的概念。不过到目前为止,还缺少一篇索引类的文章,从整体出发,理解Kernel内存管理所需要面对的软硬件局面、所要解决的问题,以及各个内存管理子模块的功能和意义

Hacker News 简讯 2021-01-31

懵懂的女人 提交于 2021-01-31 00:58:25
最后更新时间: 2021-01-31 00:00 Offline Algorithms in Low-Frequency Trading - (acm.org) 低频交易中的离线算法 得分:121 | 评论:20 Dark Patterns at Scale: Findings from a Crawl of 11K Shopping Websites (2019) - (princeton.edu) 规模上的黑暗模式:对11K个购物网站的调查结果(2019) 得分:95 | 评论:18 Uniwidth Typefaces for Interface Design - (uxdesign.cc) 界面设计用单幅字体 得分:68 | 评论:10 Show HN: Collection of deep learning implementations with side-by-side notes - (labml.ai) Show HN:带并排注释的深度学习实施集合 得分:127 | 评论:12 New Xquartz release with native Apple Silicon support - (mail-archive.com) 新的Xquartz版本,支持原生Apple硅 得分:129 | 评论:14 Fast Commits for Ext4 - (lwn.net

版本号命名指南

不羁岁月 提交于 2021-01-14 01:24:27
首先看看某些常见软件的版本号: Linux Kernel: 0.0.1,1.0.0,2.6.32,3.0.18…,若用 X.Y.Z 表示,则偶数 Y 表示稳定版本,奇数 Y 表示开发版本。 Windows:windows 98,windows 2000,windows xp,windows 7…,最大的特点是杂乱无章,毫无规律。 SSH Client:0.9.8。 OpenStack:2014.1.3,2015.1.1.dev8。 从上可以看出,不同的软件版本号风格各异,随着系统的规模越大,依赖的软件越多,如果这些软件没有遵循一套规范的命名风格,容易造成 Dependency Hell 。所以当我们发布版本时,版本号的命名需要遵循某种规则,其中 Semantic Versioning 2.0.0 定义了一套简单的规则及条件来约束版本号的配置和增长。本文根据 Semantic Versionning 2.0.0 和 Semantic Versioning 3.0.0 选择性的整理出版本号命名规则指南。 版本号命名规则指南 版本号的格式为 X.Y.Z(又称 Major.Minor.Patch),递增的规则为: X 表示主版本号,当 API 的兼容性变化时,X 需递增。 Y 表示次版本号,当增加功能时(不影响 API 的兼容性),Y 需递增。 Z 表示修订号,当做 Bug 修复时(不影响

crash工具分析大型Linux服务器死锁实战

淺唱寂寞╮ 提交于 2021-01-04 13:06:00
Linux服务器背景: CPUS: 40 MEMORY: 127.6 GB MACHINE: x86_64 (2199 Mhz) Linux Kernel: 4.4.121 TASKS: 19411 其实这不算大型服务器,我见过大型的一般内存4T起步,300多个cpu. 故障背景: 客户发现系统卡死,手动触发了kdump. 使用下面命令发现有3092个D状态进程。 crash> ps | grep UN | wc -l 3092 小编头一回碰到这么多进程变成D状态,第一感觉应该就是死锁导致。 于是: crash> ps | grep UN > UN (导入UN文件慢慢玩) 发现UN里面有大量的ps、sudo这样的进程。 于是挑了一个ps进程查看它的堆栈: crash > bt 50486 PID : 50486 TASK : ffff881171480c80 CPU : 18 COMMAND : " ps " #0 [ffff8810d1d9bce0] schedule at ffffffff815f353d #1 [ffff8810d1d9bd40] rwsem_down_read_failed at ffffffff815f61ea #2 [ffff8810d1d9bd98] call_rwsem_down_read_failed at ffffffff813271d4 #3

TCP/IP及内核参数调优

◇◆丶佛笑我妖孽 提交于 2020-12-30 21:01:04
Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等。 如下配置是写在sysctl.conf中,可使用sysctl -p生效, 相关参数仅供参考,具体数值还需要根据机器性能,应用场景等实际情况来做更细微调整。 net.core.netdev_max_backlog = 400000 #该参数决定了,网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。 net.core.optmem_max = 10000000 #该参数指定了每个套接字所允许的最大缓冲区的大小 net.core.rmem_default = 10000000 #指定了接收套接字缓冲区大小的缺省值(以字节为单位)。 net.core.rmem_max = 10000000 #指定了接收套接字缓冲区大小的最大值(以字节为单位)。 net.core.somaxconn = 100000 #Linux kernel参数,表示socket监听的backlog(监听队列)上限 net.core.wmem_default = 11059200 #定义默认的发送窗口大小;对于更大的 BDP 来说,这个大小也应该更大。 net.core.wmem_max = 11059200

开源开发者为任天堂 N64 主机带来了新的 Linux 内核移植

拜拜、爱过 提交于 2020-12-27 10:06:13
开源开发者为任天堂 N64 主机带来了新的 Linux 内核移植 据 cnbeta 报道,最近主机游戏领域开源有一些新成就,索尼为 PS5 标配的 DualSense 手柄提供了官方 Linux 驱动程序。而任天堂 N64 主机亦迎来了 Linux 内核的新移植。作为一款距今已有 20 个年头的主机,该项目着实让粉丝们感到有些意外。曾为 Mesa 和 Linux 图形驱动作出过贡献的开源开发者于今年圣诞节期间正式宣布了这一喜讯。 拍一拍:总是有些极客愿意挑战一些有趣的事情。 Linux 5.10 的 Btrfs 性能严重衰退 据 cnbeta 报道,在紧急发布的维护版本更新中修复 RAID、AMDGPU 等问题之后,长期支持(LTS)的 Linux Kernel 5.10 内核再次爆出新问题:部分用户遭遇到了惊人的 Btrfs 性能倒退。例如解压一个大型 .tar.zst 文件,解压时间可能会从原本的 15 秒左右变成将近 5 分钟。不过,维护人员已经在圣诞节之前找到了问题根源,很快就能解决。 拍一拍:看来 Linus 对 5.10 要赶在圣诞节前推出有点乐观,所以才出现了这些问题。 Rust 编写的 Redox OS 0.6发布 据 slashdot 报道,基于微内核的 Rust 编写的操作系统 Redox OS 出了一个新的圣诞版本,有许多错误修复和新功能。完全重写了其 RMM