412 日 , 2024 22:10:25
file 参数提权 &Linux shell中命令执行的逻辑

一、file 参数提权

当高权限文件 中有 file  *  命令,可以read_file提权

file *   #查看所有文件的类型
ln -sv /root/root.txt root   #root  指向/root/root.txt
file  -f root    #查看root中的内容
 ls
+ ls --color=auto
-f root user.txt
 file *
+ file -f root user.txt
a2b3946358a96bb7a92f61a759a1d972: cannot open `a2b3946358a96bb7a92f61a759a1d972' (No such file or directory)
user.txt: ASCII text

二、Linux  shell 中命令执行

set

命令可以用来设置 shell 的行为特性。其中,-x 选项可以在执行脚本或者命令时显示所有的命令以及它们的参数,这样可以帮助你看到命令执行的每一步,然后执行你的命令序列。执行完毕后,使用 set +x 来关闭调试输出

strace

用来跟踪程序执行时的系统调用和接收到的信号。通过 strace,你可以看到命令执行过程中与内核交互的详细信息

可以看到上面 file *  中,因为 *指代 的文件的文件名 被认为设计为参数的样子

file -f root   被执行了

这是什么原理?  * 指代的文件名被全部写到命令行中,然后当成一整个命令执行。

暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!