shell bypass 403

UnknownSec Shell

: /usr/bin/ [ dr-xr-xr-x ]

name : dpkg-realpath
#!/bin/sh
#
# Copyright © 2020 Helmut Grohne <helmut@subdivi.de>
# Copyright © 2020 Guillem Jover <guillem@debian.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

set -e

PROGNAME=$(basename "$0")
version="1.20.9"
EOL="\n"

PKGDATADIR_DEFAULT='/usr/share/dpkg'
PKGDATADIR="${DPKG_DATADIR:-$PKGDATADIR_DEFAULT}"

. "$PKGDATADIR/sh/dpkg-error.sh"

show_version()
{
  cat <<END
Debian $PROGNAME version $version.

This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
END
}

show_usage()
{
  cat <<END
Usage: $PROGNAME [<option>...] <pathname>

Options:
  -z,  --zero                   end output line with NUL, not newline.
       --instdir <directory>    set the root directory.
       --root <directory>       set the root directory.
       --version                show the version.
  -?,  --help                   show this help message.
END
}

canonicalize() {
  local src="$1"
  local root="$DPKG_ROOT"
  local loop=0
  local result="$root"
  local dst

  # Check whether the path is relative and make it absolute otherwise.
  if [ "$src" = "${src#/}" ]; then
    src="$(pwd)/$src"
    src="${src#"$root"}"
  fi

  # Remove prefixed slashes.
  while [ "$src" != "${src#/}" ]; do
     src=${src#/}
  done
  while [ -n "$src" ]; do
    # Get the first directory component.
    prefix=${src%%/*}
    # Remove the first directory component from src.
    src=${src#"$prefix"}
    # Remove prefixed slashes.
    while [ "$src" != "${src#/}" ]; do
      src=${src#/}
    done
    # Resolve the first directory component.
    if [ "$prefix" = . ]; then
      # Ignore, stay at the same directory.
      :
    elif [ "$prefix" = .. ]; then
      # Go up one directory.
      result=${result%/*}
      if [ -n "$root" ] && [ "${result#"$root"}" = "$result" ]; then
        result="$root"
      fi
    elif [ -h "$result/$prefix" ]; then
      loop=$((loop + 1))
      if [ "$loop" -gt 25 ]; then
        error "too many levels of symbolic links"
      fi
      # Resolve the symlink within $result.
      dst=$(readlink "$result/$prefix")
      case "$dst" in
      /*)
        # Absolute pathname, reset result back to $root.
        result=$root
        src="$dst${src:+/$src}"
        # Remove prefixed slashes.
        while [ "$src" != "${src#/}" ]; do
          src=${src#/}
        done
        ;;
      *)
        # Relative pathname.
        src="$dst${src:+/$src}"
        ;;
      esac
    else
      # Otherwise append the prefix.
      result="$result/$prefix"
    fi
  done
  # We are done, print the resolved pathname, w/o $root.
  result="${result#"$root"}"
  printf "%s$EOL" "${result:-/}"
}

setup_colors

DPKG_ROOT="${DPKG_ROOT:-}"
export DPKG_ROOT

while [ $# -ne 0 ]; do
  case "$1" in
  -z|--zero)
    EOL="\0"
    ;;
  --instdir|--root)
    shift
    DPKG_ROOT=$1
    ;;
  --instdir=*)
    DPKG_ROOT="${1#--instdir=}"
    ;;
  --root=*)
    DPKG_ROOT="${1#--root=}"
    ;;
  --version)
    show_version
    exit 0
    ;;
  --help|-\?)
    show_usage
    exit 0
    ;;
  --)
    shift
    pathname="$1"
    ;;
  -*)
    badusage "unknown option: $1"
    ;;
  *)
    pathname="$1"
    ;;
  esac
  shift
done

# Normalize root directory.
DPKG_ROOT="${DPKG_ROOT:+$(realpath "$DPKG_ROOT")}"
# Remove default root dir.
if [ "$DPKG_ROOT" = "/" ]; then
  DPKG_ROOT=""
fi

[ -n "$pathname" ] || badusage "missing pathname"
if [ "${pathname#"$DPKG_ROOT"}" != "$pathname" ]; then
  error "link '$pathname' includes root prefix '$DPKG_ROOT'"
fi

canonicalize "$pathname"

exit 0

© 2025 UnknownSec
Courses | Anyleson - Learning Platform
INR (₹)
India Rupee
$
United States Dollar

Courses

17 Courses
Course
Full Stack Web Development

Full Stack Web Development

in Web Development
83:20 Hours
10 Oct 2024
₹28,318.82
Course
Installment and Secure Host

Installment and Secure Host

in Business Strategy
5.00
1:30 Hours
16 Mar 2023
₹118
Course
New Update Features

New Update Features

in Language
4.00
1:30 Hours
21 Jun 2022
Free
Not conducted
Bestseller
New In-App Live System

New In-App Live System

in Communications
5.00
2:30 Hours
1 Mar 2026
₹11.80
Featured
New Learning Page

New Learning Page

in Lifestyle
5.00
3:30 Hours
1 Mar 2022
Free
Finished
How to Travel Around the World

How to Travel Around the World

in Lifestyle
5.00
2:30 Hours
2 Mar 2022
₹29.50

Type

More options