Сравнение чисел
В скриптах можно сравнивать числовые значения. Ниже приведён список соответствующих команд.
В скриптах можно сравнивать числовые значения. Ниже приведён список соответствующих команд.
n1 -eq n2 Возвращает истинное значение, если n1 равно n2.n1 -ge n2 Возвращает истинное значение, если n1 больше или равно n2.n1 -gt n2 Возвращает истинное значение, если n1 больше n2.n1 -le n2 Возвращает истинное значение, если n1 меньше или равно n2.n1 -lt n2 Возвращает истинное значение, если n1 меньше n2.n1 -ne n2 Возвращает истинное значение, если n1 не равно n2.val1=6
if [ $val1 -gt 5 ]
then
echo "The test value $val1 is greater than 5"
else
echo "The test value $val1 is not greater than 5"
fi👍21🔥4👎2
Управляющая конструкция if-then
Управление потоком исполнения команд может быть достигнуто с помощью конструкции
Управление потоком исполнения команд может быть достигнуто с помощью конструкции
if-then. Например, можно использовать ее для поиска пользователя в /etc/passwd и, в случае успешного нахождения, вывести сообщение о его существовании.user=likegeeks
if grep $user /etc/passwd
then
echo "The user $user Exists"
fi👍13🔥7👎2
Математические операции
Для выполнения математических операций в файле скрипта можно использовать конструкцию вида
Для выполнения математических операций в файле скрипта можно использовать конструкцию вида
$((a+b))
var1=$(( 5 + 5 ))
echo $var1
var2=$(( $var1 * 2 ))
echo $var2👍16🔥3
Проверки файлов
-d file Проверяет, существует ли файл, и является ли он директорией.-e file Проверяет, существует ли файл.-f file Проверяет, существует ли файл, и является ли он файлом.-r file Проверяет, существует ли файл, и доступен ли он для чтения.-s file Проверяет, существует ли файл, и не является ли он пустым.-w file Проверяет, существует ли файл, и доступен ли он для записи.-x file Проверяет, существует ли файл, и является ли он исполняемым.file1 -nt file2 Проверяет, новее ли file1, чем file2.file1 -ot file2 Проверяет, старше ли file1, чем file2.-O file Проверяет, существует ли файл, и является ли его владельцем текущий пользователь.-G file Проверяет, существует ли файл, и соответствует ли его идентификатор группы идентификатору группы текущего пользователя.if [ -d $mydir ]
then
echo "The $mydir directory exists"
cd $ mydir
ls
else
echo "The $mydir directory does not exist"
fi👍29🔥7
Сравнение строк
str1 = str2 Проверяет строки на равенство, возвращает истину, если строки идентичны.str1 != str2 Возвращает истину, если строки не идентичны.str1 < str2 Возвращает истину, если str1 меньше, чем str2.str1 > str2 Возвращает истину, если str1 больше, чем str2.-n str1 Возвращает истину, если длина str1 больше нуля.-z str1 Возвращает истину, если длина str1 равна нулю.user ="likegeeks"
if [$user = $USER]
then
echo "The user $user is the current logged in user"
fi🔥8👍5
Обход файлов, содержащихся в директории
Один из самых распространённых вариантов использования циклов for в bash-скриптах заключается в обходе файлов, находящихся в некоей директории, и в обработке этих файлов.
Например, вот как можно вывести список файлов и папок:
Один из самых распространённых вариантов использования циклов for в bash-скриптах заключается в обходе файлов, находящихся в некоей директории, и в обработке этих файлов.
Например, вот как можно вывести список файлов и папок:
for file in /home/likegeeks/*
do
if [ -d "$file" ]
then
echo "$file is a directory"
elif [ -f "$file" ]
then
echo "$file is a file"
fi
done👍18🔥8✍2
Перебор простых значений
Пожалуй, самый простой пример цикла
Хорошо видно, что в переменную
Пожалуй, самый простой пример цикла
for в bash-скриптах — это перебор списка простых значений.Хорошо видно, что в переменную
$var последовательно попадают элементы из списка. Происходит так до тех пор, пока цикл не дойдёт до последнего из них.for var in first second third fourth fifth
do
echo The $var item
done🔥9👍7😐4✍1
Перебор сложных значений
В списке, использованном при инициализации цикла
В списке, использованном при инициализации цикла
for, могут содержаться не только простые строки, состоящие из одного слова, но и целые фразы, в которые входят несколько слов и знаков препинания.for var in first "the second" "the third" "I’ll do it"
do
echo "This is: $var"
done🔥11✍6👍2😐2
Циклы for
Циклы for в оболочке bash позволяют перебирать последовательности значений. Они имеют следующую структуру:
Циклы for в оболочке bash позволяют перебирать последовательности значений. Они имеют следующую структуру:
for var in listВ каждой итерации цикла значение из списка присваивается переменной var. Цикл выполняется для каждого элемента списка по порядку.
do
команды
done
👍13😐3✍1
Циклы for в стиле C
В bash-скриптах можно использовать циклы for, описание которых выглядит очень похожим на циклы в стиле C, правда, без некоторых отличий тут не обошлось.
В bash-скриптах можно использовать циклы for, описание которых выглядит очень похожим на циклы в стиле C, правда, без некоторых отличий тут не обошлось.
for (( i=1; i <= 10; i++ ))
do
echo "number is $i"
done👍25✍1
Цикл while
В цикле можно проверять условие и выполнять тело цикла, пока условие возвращает ноль. Когда условие вернет ненулевое значение, цикл остановится.
В цикле можно проверять условие и выполнять тело цикла, пока условие возвращает ноль. Когда условие вернет ненулевое значение, цикл остановится.
var1=5
while [ $var1 -gt 0 ]
do
echo $var1
var1=$[ $var1 - 1 ]
done👍19🔥5✍1
Посты про инфобезопасность в нашем отдельном канале:
https://t.me/+J34Lc_hJnb02ZmRi
https://t.me/+J34Lc_hJnb02ZmRi
👍4
Вложенные циклы
В теле цикла можно использовать любые команды, в том числе — запускать другие циклы. Такие конструкции называют вложенными циклами.
В теле цикла можно использовать любые команды, в том числе — запускать другие циклы. Такие конструкции называют вложенными циклами.
for (( a = 1; a <= 3; a++ ))
do
echo "Start $a:"
for (( b = 1; b <= 3; b++ ))
do
echo " Inner loop: $b"
done
done✍10👍2
Обработка содержимого файла
Чаще всего вложенные циклы используют для обработки файлов. Так, внешний цикл занимается перебором строк файла, а внутренний уже работает с каждой строкой.
Такой подход можно использовать при обработке файлов формата CSV, или любых подобных файлов, записывая, по мере надобности, в переменную окружения
Чаще всего вложенные циклы используют для обработки файлов. Так, внешний цикл занимается перебором строк файла, а внутренний уже работает с каждой строкой.
Такой подход можно использовать при обработке файлов формата CSV, или любых подобных файлов, записывая, по мере надобности, в переменную окружения
IFS символ-разделитель.IFS=$'\n'
for entry in $(cat /etc/passwd)
do
echo "Values in $entry –"
IFS=:
for value in $entry
do
echo " $value"
done
done🔥17👍5
GooFuzz
Это скрипт, написанный на Bash Scripting , который использует расширенные методы поиска Google для получения конфиденциальной информации в файлах или каталогах без отправки запросов к веб-серверу.
🐙 Перейти на Github
🔨 bash_help
Это скрипт, написанный на Bash Scripting , который использует расширенные методы поиска Google для получения конфиденциальной информации в файлах или каталогах без отправки запросов к веб-серверу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
Docker Backup and VirusTotal Scanner
Этот Bash-скрипт создает резервные копии образов или контейнеров Docker, а затем сканирует их с помощью VirusTotal.
🐙 Перейти на Github
🔨 bash_help
Этот Bash-скрипт создает резервные копии образов или контейнеров Docker, а затем сканирует их с помощью VirusTotal.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍4😐1
Справочная информация по любой команде в Linux
Рекомендуем взглянуть на сервис, который предоставляет удобный интерфейс для поиска справочной информации по любой команде в Linux.
Достаточно просто вбить в поисковую строку соответствующую команду со всеми аргументами и вы получите подробное объяснение того, что именно делает каждый аргумент.
🌐 Перейти на сайт
🔨 bash_help
Рекомендуем взглянуть на сервис, который предоставляет удобный интерфейс для поиска справочной информации по любой команде в Linux.
Достаточно просто вбить в поисковую строку соответствующую команду со всеми аргументами и вы получите подробное объяснение того, что именно делает каждый аргумент.
🌐 Перейти на сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
✍18👍13
Простое преобразование вывода в хэш для поиска IDOR
Иногда требуется конвертировать ввод в md5 / base64 / 32 и т.д непосредственно в консоле. Это бывает полезно, особенно когда вы ищите IDOR и конечная точка имеет значение в виде хэша, например:
Предположим, у вас есть конечная точка, которая принимает параметр id в виде md5. Мы можем проверить его на IDOR с помощью приведенной ниже команды, которая сгенерирует список чисел от 1 до 1000:
🔨 bash_help
Иногда требуется конвертировать ввод в md5 / base64 / 32 и т.д непосредственно в консоле. Это бывает полезно, особенно когда вы ищите IDOR и конечная точка имеет значение в виде хэша, например:
https://targetdomain.com/user/3bf1114a986ba87ed28fc1b5884fc2f8
Для решения этой задачи, вы можете использовать простой bash-скрипт, совместно с ffuf.Предположим, у вас есть конечная точка, которая принимает параметр id в виде md5. Мы можем проверить его на IDOR с помощью приведенной ниже команды, которая сгенерирует список чисел от 1 до 1000:
seq 1 1000 | hashit md5 | ffuf -w - -u https://targetdomain.com/user/FUZZ
Please open Telegram to view this post
VIEW IN TELEGRAM
✍9👍5😐1
Видеоуроки:
1 — Установка и настройка
2 — ls, mkdir, rm команды
3 — mv, cp, nano, less, vi, cat команды
4 — Поиск через grep и find
5 — Команды с выводом и процессами
6 — Команды ping и curl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18✍3