Chia sẻ  Một số cách dùng lệnh để đọc file trên linux mà bạn không tưởng

Mtdev
Xin chào mọi người để đọc nội dung một file trên linux thì thường chúng ta dùng lệnh cat, tail hoặc các editor như nano, vim... hôm nay mình sẽ cho bạn thấy có một số cách để làm được việc đọc, hiển thị nội dung file mà không qua các lệnh thông thường như trên,

Lưu ý: bài đăng này phục vụ mục đích học tập nghiên cứu mình không khuyến khích dùng nó để tấn công local attack mọi trách nhiệm liên quan mình không chịu trách nhiệm.

1587742669446.png


Cách này áp dụng khi bạn dùng vps nhưng tài khoản bạn không có quyền chạy các lệnh để view được file như cat nano....
1: dùng lệnh base64 như sau:

Bash:
LFILE=file_to_read
base64 "$LFILE" | base64 --decode

Dùng với SUID

Bash:
sudo sh -c 'cp $(which base64) .; chmod +s ./base64'

LFILE=file_to_read
./base64 "$LFILE" | base64 --decode

2: Dùng lệnh awk
Cách dùng:
Bash:
LFILE=file_to_read
awk '//' "$LFILE"

kết quả
Bash:
root@Client:~# awk '//' 1.sh
TF=$(mktemp -u)
sudo zip $TF /etc/hosts -T -TT 'sh #'
sudo rm $TF

3: sử dụng busybox

Bash:
LFILE=file_to_read
./busybox cat "$LFILE"

kết quả:

Bash:
root@Client:~# busybox cat 1.sh
TF=$(mktemp -u)
sudo zip $TF /etc/hosts -T -TT 'sh #'
sudo rm $TF

4: Dùng Curl:
Bash:
LFILE=/tmp/file_to_read
curl file://$LFILE

kết quả:

Bash:
root@Client:~# LFILE=/root/1.sh && curl file://$LFILE
TF=$(mktemp -u)
sudo zip $TF /etc/hosts -T -TT 'sh #'
sudo rm $TF

5: dùng lệnh cut

Bash:
LFILE=file_to_read
cut -d "" -f1 "$LFILE"

6: Dùng lệnh date

Bash:
LFILE=file_to_read
date -f $LFILE

7: dùng lệnh file

Mã:
LFILE=file_to_read
file -f $LFILE

8: dùng grep

Bash:
LFILE=file_to_read
grep '' $LFILE

9: Dùng lệnh ip

Bash:
LFILE=file_to_read
ip -force -batch "$LFILE"

10: dùng lệnh man

Bash:
man file_to_read

Tạm thời chỗ này đã và có thời gian mình sẽ cập nhập thêm cho các bạn các lệnh hay và dùng chúng tùy vào mục đích của bạn làm cho công việc của bạn sáng tạo hơn. mình sẽ cập nhập thêm dưới phần bình luận và các lệnh này hầu hết trên linux đều đã có mặc định không cần cài thêm
 
Sửa lần cuối:
Trả lời

Teplice

Offline
Thành viên BQT
Lâu mới thấy J-Mod cho bài viết hay, tích cực đóng góp thêm bạn nhé. Mình hi vọng sẽ nhận được thêm bài viết hay từ bạn.
 

Mtdev


Junior Moderator
11: dùng lệnh cp
lệnh cp ngoài copy file thư mục ra thì nó hoàn toàn có thể read được file bằng cách như sau:
Bash:
LFILE=1.sh && cp "$LFILE" /dev/stdout

Kết quả:

Bash:
root@Client:~# LFILE=1.sh && cp "$LFILE" /dev/stdout
TF=$(mktemp -u)
sudo zip $TF /etc/hosts -T -TT 'sh #'
sudo rm $TF

12: Tương tự lệnh bas64 ở trên chúng ta có lệnh base32

Bash:
LFILE=file_to_read
base32 "$LFILE" | base32 --decode

13: lệnh mawk

Bash:
LFILE=file_to_read
mawk '//' "$LFILE"

14: sử dụng lệnh nl

Bash:
LFILE=file_to_read
nl -bn -w1 -s '' $LFILE

15 sử dụng shuf

Bash:
LFILE=file_to_read
shuf -z "$LFILE"

16: sử dụng tar

Bash:
LFILE=file_to_read
tar xf "$LFILE" -I '/bin/sh -c "cat 1>&2"'

17: sử dụng ul

Bash:
LFILE=file_to_read
ul "$LFILE"

18: dùng ssh

Mã:
LFILE=file_to_read
ssh -F $LFILE localhost

19: dùng sort
Bash:
LFILE=file_to_read
sort -m "$LFILE"

20: dùng uniq

Bash:
LFILE=file_to_read
uniq "$LFILE"