网易首页 > 网易号 > 正文 申请入驻

隐藏与篡改Linux命令行参数

0
分享至

【CSDN 编者按】有时候会遇到这样的需求,不希望命令行的某些参数被ps出来,比如命令行参数里可能存在一些用户名和密码之类的东西,在Linux下如果你想隐藏这些东西的话,你该如何操作?

作者 | dog250 责编 | 欧阳姝黎

如果一个程序的命令行是一个password之类的不便展示的字符串,如何不让ps打印出来呢?

ps是从/proc/$pid/cmdline里拿的命令行,而/proc/$pid/cmdline则是在内核空间解析用户程序的stack区域获取的数据,那么答案很简单,只需要覆盖掉这个区域即可,下面是个示例:


#include#include#include
int main(int argc, char **argv)char orig[16];
// 获取stack上的命令行strcpy(orig, argv[1]);// 获取命令行之后第一时间覆盖stack上的命令行strcpy(argv[1], "skinshoe");getchar();}

如果应用程序不可修改代码重新编译,有没有什么统一的办法呢?当然有,用LD_PRELOAD很方便:


// inject.c#define _GNU_SOURCE#include#include#include#include
int (*_main) (int, char * *, char * *);static int pixie_main(int argc, char **argv, char **env){char tmp[16];strcpy(tmp, argv[1]);strncpy(argv[1], "pixie", strlen(argv[1]));argv[1] = tmp;return _main(argc, argv, env);}
int (*orig_start_main)(int (*main)(int, char **, char **),int argc,char **argv,void (*init) (void),void (*fini) (void),void (*_fini) (void),void (*stack_end));

int __libc_start_main(int (*main)(int, char **, char **),int argc, char **argv,void (*init)(void),void (*fini)(void),void (*_fini)(void),void (*stack_end)){orig_start_main = dlsym(RTLD_NEXT, "__libc_start_main");_main = main;return orig_start_main(pixie_main, argc, argv, init, fini, _fini, stack_end);}

编译之:


gcc -O2 -fPIC -shared -o libinject.so inject.c -ldl

下面是一个“不能改的现有程序”:


// demo.c#include#include
int main(int argc, char **argv){printf("%s\n", argv[1]);getchar();}

用LD_PRELOAD执行之:


LD_PRELOAD=./libinject.so ./demo 12345

此时,demo程序打印的依然是12345,然后ps看到的就是pixie了。

把LD_PRELOAD部署到路径里就好了。这是劫库的标准手法。

事事都是双刃剑,能做好事就能做坏事,用上面的把戏其实是可以任意修改任意程序的命令行的:


int (*_main) (int, char * *, char * *);static int pixie_main(int argc, char **argv, char **env)argv[1] = "pixie";return _main(argc, argv, env);

试试看:


root@zhaoya-VirtualBox:~# LD_PRELOAD=./libinject.so ls -als: cannot access 'pixie': No such file or directoryroot@zhaoya-VirtualBox:~# LD_PRELOAD=./libinject.so /bin/echo hellopixie

2020-2021中国开发者调查报告重磅来袭,直接扫码或微信搜索「CSDN」公众号,后台回复关键词「开发者」,快速获取完整的报告内容!

☞纳尼?!波多野结衣要发NFT写真集了!

☞利用 GitHub Actions 在 GitHub 上进行加密挖矿?☞库克考虑卸任苹果CEO,谁会是下一任接班人?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
国际足联世界杯新规:门将倒地时,其他球员不得离场

国际足联世界杯新规:门将倒地时,其他球员不得离场

懂球帝
2026-06-01 18:48:25
京东180亿德国大并购案被欧盟紧急叫停

京东180亿德国大并购案被欧盟紧急叫停

出海老斯基
2026-06-01 15:20:40
湖北襄阳“割四赔五”事件后续:主播翻车,官方发声网上争执不断

湖北襄阳“割四赔五”事件后续:主播翻车,官方发声网上争执不断

Mr王的饭后茶
2026-05-31 23:17:57
全球90%都来自日本,一旦断供,中国如何应对?为啥别国无法生产

全球90%都来自日本,一旦断供,中国如何应对?为啥别国无法生产

霁寒飘雪
2026-04-19 10:03:43
郑丽文今晚赴美,会不会和特朗普会面,李德维给出答案,不简单

郑丽文今晚赴美,会不会和特朗普会面,李德维给出答案,不简单

往后相濡以沫
2026-06-02 02:45:18
重磅!中国科学院院士周成虎官宣被查

重磅!中国科学院院士周成虎官宣被查

李昕言温度空间
2026-06-01 20:33:54
奉劝所有人:退休后,跟别人关系再好,一日游、二日游都行,但千万别尝试长时间一起游,否则早晚会后悔

奉劝所有人:退休后,跟别人关系再好,一日游、二日游都行,但千万别尝试长时间一起游,否则早晚会后悔

背包旅行
2026-05-28 18:04:35
世界杯48强夺冠概率出炉:西班牙力压法国!日本仅1.2% 5队零可能

世界杯48强夺冠概率出炉:西班牙力压法国!日本仅1.2% 5队零可能

我爱英超
2026-06-01 20:40:28
6月3日+央视直播:中国女足VS俄罗斯,票价48元!球迷:王霜加油

6月3日+央视直播:中国女足VS俄罗斯,票价48元!球迷:王霜加油

开成运动会
2026-06-01 18:50:28
快讯!谁干的,竟敢公然袭击行驶中的高铁列车!

快讯!谁干的,竟敢公然袭击行驶中的高铁列车!

故事终将光明磊落
2026-06-01 14:04:21
日媒:高市正准备对华发动战争?日专家“重兵部署,战场选好了”

日媒:高市正准备对华发动战争?日专家“重兵部署,战场选好了”

二爷台球解说
2026-05-30 12:54:57
"Love Island"女选手因种族歧视视频翻车,开播前惨遭除名

"Love Island"女选手因种族歧视视频翻车,开播前惨遭除名

生活观察员啊
2026-06-01 00:03:36
崩溃!山东女子怒斥公婆未经同意入住婚后新房,此前买房支持90万

崩溃!山东女子怒斥公婆未经同意入住婚后新房,此前买房支持90万

火山詩话
2026-06-01 07:48:42
一个残酷真相:5个月前,被美军抓走的马杜罗,已经被彻底遗忘?

一个残酷真相:5个月前,被美军抓走的马杜罗,已经被彻底遗忘?

蜉蝣说
2026-05-23 21:57:24
杭州女子征婚:不要彩礼,能提供5分钟夫妻生活,每月给男人3000

杭州女子征婚:不要彩礼,能提供5分钟夫妻生活,每月给男人3000

谭谈社会
2026-05-28 18:34:27
为什么明知道槟榔有毒,还在生产?背后的现实,远比想象中复杂

为什么明知道槟榔有毒,还在生产?背后的现实,远比想象中复杂

消化石医生
2026-05-30 11:33:21
现在黄金的价格变成了一个大的笑话,买黄金的人可笑到什么程度?

现在黄金的价格变成了一个大的笑话,买黄金的人可笑到什么程度?

白浅娱乐聊
2026-06-02 00:36:54
48岁大学教授,突然离世

48岁大学教授,突然离世

双一流高校
2026-06-02 00:09:55
陈涛刚从新鹏城下课!就有两位深圳主力球员为他发声,引发热议

陈涛刚从新鹏城下课!就有两位深圳主力球员为他发声,引发热议

振刚说足球
2026-06-01 10:37:01
4998 的 iPhone 16 Pro,终于上架了!

4998 的 iPhone 16 Pro,终于上架了!

花果科技
2026-06-01 20:34:32
2026-06-02 05:24:49
CSDN incentive-icons
CSDN
成就一亿技术人
26598文章数 242292关注度
往期回顾 全部

科技要闻

黄仁勋演讲实录|40年来PC首次重设计!

头条要闻

伊朗计划彻底封锁霍尔木兹海峡 特朗普回应

头条要闻

伊朗计划彻底封锁霍尔木兹海峡 特朗普回应

体育要闻

杰威:如果我没受伤,我们能击败马刺

娱乐要闻

奚梦瑶婚礼现场图!一双儿女当花童

财经要闻

宇树过会,杭州赢麻了

汽车要闻

奇瑞集团5月销量24.8万辆 同比增长20.5% 出口18.2万辆再创新高

态度原创

本地
家居
时尚
艺术
公开课

本地新闻

用剪纸的方式,打开江苏扬州

家居要闻

自信舒展 高背座椅

夏天裤子不用多买,阔腿裤一整个夏天都能穿,日常出行好打理

艺术要闻

吴镇写竹,清清爽爽

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版