侧边栏壁纸
博主头像
Eoser's page!博主等级

@学习@生活@自己

  • 累计撰写 113 篇文章
  • 累计创建 29 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux安全脚本注入

eoser
2023-10-15 / 0 评论 / 0 点赞 / 2 阅读 / 1259 字

Linux安全脚本注入

原因与介绍

想着写这个脚本的原因是因为crontab的编辑误按导致清空了我的定时任务,因为 crontab -e 是编辑定时脚本,而 crontab -r 是清空所有定时脚本,而键盘上E和R是挨在一起的......

今天因为这个原因,错误的清空了两次,所以想着做个防呆措施。

我的脚本定位是在 Ubuntu root 用户终端,普通用户终端和其他系统可能会不兼容。

实现原理:

  • .bashrc末尾加载脚本,重载一些指令的调用

  • 屏蔽 sudo 指令,防止 sudo + 命令 越狱防呆措施

脚本文件
#!/bin/bash
# 在root用户目录下的.bashrc文件末尾source该脚本
function sudo {
  echo "你root用户还sudo个锤子!"
}

function crontab {
  real_app=/usr/bin/crontab
  res=0
  for arg in "$@"
  do
    if [[ "$arg" == "-r" ]] ;then
      res=$(($res+1))
      echo "危险!!!为了安全禁用了 $arg 该命令!!!依然要执行请使用完整路径:$real_app"
    fi
  done
  if [[ $res == 0 ]];then
    $real_app $@
  fi
}

function rm {
  real_app=/usr/bin/rm
  res=0
  tmp_err=""
  for arg in "$@"
  do
    if [[ "$arg" == "-r" || "$arg" == "-rf" || "$arg" == "*" || "$arg" == "/" || "$arg" == "/*" ]] ;then
      res=$(($res+1))
      tmp_err="$tmp_err $arg"
    fi
  done
  if [[ $res < 2 ]];then
    $real_app $@
  else
    echo "危险!!!为了安全禁用了 $tmp_err 命令!!!依然要执行请使用完整路径:$real_app"
  fi
}

0

评论区