Ubuntu20.04搭建docker
Ubuntu20.04搭建docker1.安装软件源
1sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
2.导入源仓库的 GPG key
1curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
3.将 Docker APT 软件源添加到你的系统
1sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
4.更新源软件包
1sudo apt update
5.安装最新版docker
1sudo apt install docker-ce docker-ce-cli containerd.io
6.查看docker状态
1systemctl status d ...
Ubuntu20.04如何更换国内源
Ubuntu20.04如何更换国内源1.打开终端。
2.输入以下命令备份原来的源。
1sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
3.再输入以下命令打开sources.list配置文件更换源。
1sudo vim /etc/apt/sources.list
配置内容如下 清华大学源
1234567891011121314# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricte ...
Typora写公式
Typora写公式公式块与行内公式的添加1.公式块
创建独立的一块公式区域。
上部分为公式输入区
下部分为效果展示区
编辑别处时展示效果图。
方法一:左上角点击“段落”,再点击“公式块”
方法一:在文中输入$$,再按下回车
2.行内公式
将公式嵌入文字内。
方法一: 在$$的中间加入需要的公式
简便的方法一:先按 $ ,再按 “esc”(键盘左上角)
(行内公式是需要先设置一下)
常用符号的代码
上下标,正负无穷
加减乘,分式,根号,省略号
三角函数
矢量,累加累乘,极限
希腊字母
1.上下标,正负无穷
2.加减乘,分式,根号,省略号
3.三角函数
4.矢量,累加累乘,极限
5.希腊字母
6.关系运算符
矩阵1.简单矩阵使用\begin{matrix}…\end{matrix}生成, 每一行以\\结尾表示换行,元素间以&间隔,式子的表示序号\tag{1}(右边的序号)。
1234567 $$\begin{matrix} 1 & 2 & 3 \\ 4 & 5 ...
TP-link Smart Home Router 命令注入漏洞
TP-link Smart Home Router 命令注入漏洞前言查阅相关资料可知,TDDP协议(TP-LINK Device Debug Protocol) 是TP-LINK申请了专利的一种在UPD通信的基础上设计的协议,而Google安全专家Matthew Garrett在TP-Link SR20设备上的TDDP协议文件中发现了一处可造成 “允许来自本地网络连接的任意命令执行” 的漏洞。
前置知识TP-link SR20 设备运行V1版本的TDDP,而TDDP的V1版本不会验证身份,因此在向SR20的UDP 1040端口发送数据的时候,SR20都会接受并进行处理
目前TDDP有两个版本,分别是v1和v2。其中,v1版本不支持身份验证和对数据包荷载的加密,而v2版本则要求身份验证和对数据包荷载进行加密
TDDP数据格式
一排四个字节,于是我们可以知道真正的数据需要12个字节 ...
Torque函数解析
Torque函数解析valuesArray.elements 在 V8 引擎中的含义这行代码涉及 V8 内部的数组存储机制,是理解 JavaScript 数组在底层如何实现的关键。我来解释其工作原理:
1. valuesArray 是什么?
类型:JSArray 对象(V8 对 JavaScript 数组的内部表示)。
作用:存储 Promise.all() 或 Promise.allSettled() 的最终结果数组。
示例
1234Promise.all([Promise.resolve(1), Promise.resolve(2)]).then(values => { // values 就是这里的 valuesArray // values: [1, 2]});
2. elements 属性的含义
类型:FixedArray 或 NumberDictionary。
作用:存储数组的实际元素。V8 会根据数组的密集度动态选择存储方式:
密集数组(如 [1, 2, 3]):使用 FixedArray(固定长度的连续内存)。
稀疏数组(如 [, ...
Tmux使用教程
Tmux使用教程一、Tmux 是什么?1.1 会话与进程命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称”窗口”),在里面输入命令。用户与计算机的这种临时的交互,称为一次”会话”(session) 。
会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。
一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
为了解决这个问题,会话与窗口可以”解绑”:窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话”绑定”其他窗口。
1.2 Tmux 的作用Tmux 就是会话与窗口的”解绑”工具,将它们彻底分离。
(1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。
(2) 它可以让新窗口”接入”已经存在的会话。
(3)它允许每个会话有多个连接窗口,因此可以多人实时共享会话。
(4)它还支持窗 ...
time_formatter--UAF
[time_formatter]–UAF前言好久没做题了,一直在看链接装载与库,有一说一,这玩意是真的晦涩难懂。最近要开始准备打比赛回来再刷刷题。
这个题挺有意思的,能扩展学习到很多东西。
Find hole先对文件进行基础的分析
64位文件
除了PIE没开其他的保护都开了,FORTIFY是缓冲区溢出检查,用来在编译的时候去替换危险函数。
文件逆向通过分析文件,发现程序就是让我们输入时间,时区,和输出格式,然后调用system函数来运行/bin/data函数来实现功能。
刚开始找了半天hole没找到,看了其他师傅的题解后才找到了。
因为输入格式和时区的函数是用的strdup函数,该函数会调用malloc函数分配一个空间,然后返回该指针。
在退出的时候,程序是先进行free后判断是否继续退出,会导致format指针存储的空间已经是被free掉了的,然后我们选择调用输入时区的函数,就会分配到刚才format的那段空间,我们就可以用这种方式来绕过format的判断语句。
payload找到漏洞和利用方法后,我们就可以来写脚本了
1234567891011121314 ...
Tenda-FH1201多处命令注入漏洞分析和复现
Tenda-FH1201多处命令注入漏洞分析和复现前言腾达(Tenda)是中国的一家网络设备制造商,专注于生产各种网络相关设备,包括路由器、交换机、无线适配器和网络摄像头等。腾达的 FH 系列路由器是其家庭和小型办公网络解决方案中的一种,主要特点是性价比高,易于设置和使用。
环境搭建固件下载enda官网提供固件下载[1]:
1固件版本: FH1201 Firmware V1.2.0.14
binwalk 解压固件:
1$ binwalk -Me US_FH1201V1.0BR_V1.2.0.14\(408\)_EN_TD.bin
查看 bin/busybox 得知是 32位mips架构(小端):
12$ file squashfs-root/bin/busybox squashfs-root/bin/busybox: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), dynamically linked, interpreter /lib/ld-uClibc.so.0, stripped
FirmAE模拟参考的这 ...
tcpdump抓包工具的使用
tcpdump抓包工具的使用一,前言tcpdump是一个用于截取网络分组,并输出分组内容的工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。
另外,tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性。tcpdump存在于基本的Linux系统 中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
二、安装1、介质下载:123456http://www.tcpdump.org/release/tcpdump-4.9.3.tar.gz //依赖libpcap 1.9.1,tcpdump的运行需要pcap的支持,所以最好先行安装pcap软件包http://www.tcpdump.org/r ...
Tcache attack
Tcache attack
tcache makes heap exploitation easy again
前言tcache 是 glibc 2.26 (ubuntu 17.10) 之后引入的一种技术(see commit),目的是提升堆管理的性能。但提升性能的同时舍弃了很多安全检查,也因此有了很多新的利用方式。正如前面说的,在2.26后面增加的tcache使得堆的利用更加方便简单了,下面的文章是整理与ctfwiki上的知识和其他大佬的博客的
tcache结构体tcache引入了两个新的结构体,tcache_entry 和 tcache_perthread_struct。
这两个结构体和fastbin结构体很像,但是不太一样。
tcache_entry
123456/* We overlay this structure on the user-data portion of a chunk when the chunk is stored in the per-thread cache. */typedef struct tcache_entry{ str ...



