国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah Tutorial sistem LINUX Pemajuan port SFTP: Membolehkan fungsi ditindas

Pemajuan port SFTP: Membolehkan fungsi ditindas

Mar 17, 2025 am 09:43 AM

Pemajuan port SFTP: Membolehkan fungsi ditindas

Pengenalan

Protokol SSH menyokong tiga kategori utama aktiviti pelayan jauh: a) Pelaksanaan arahan (termasuk shell login), b) Pemajuan dan operasi rangkaian, dan c) Pemindahan fail.

Penyelenggara OpenSSH telah menentukan bahawa SFTP dan SCP tidak mempunyai tujuan undang -undang untuk penghantaran pelabuhan (melalui pilihan -L dan -R). Semasa pemindahan fail menggunakan utiliti ini, bendera yang secara eksplisit melumpuhkan ciri -ciri ini diluluskan tanpa syarat kepada SSH Executable Child.

Sesetengah pengguna mungkin memerlukan ciri -ciri ini. Subset yang jelas ialah penguji penembusan yang tugasnya mengesahkan bahawa ciri ini secara jelas dilumpuhkan pada pelayan SFTP awam.

Berikut adalah dua teknik untuk membolehkan ciri -ciri yang ditindas ini dengan mengubah suai rentetan binari SFTP itu sendiri, atau mengalihkan melalui shell yang dengan mudah boleh mengedit baris arahan. Bergantung pada fungsi platform, sama ada teknologi mungkin diperlukan untuk mencapai matlamat ini.

Butiran menekan

Pertama, adalah penting untuk mencari proses minat yang berjalan. Fungsi shell di bawah akan memaparkan PID yang sepadan dengan corak shell (perhatikan bahawa ini bukan ungkapan biasa). Ini berjalan di bawah dash debian (dan kebanyakan kerang biasa lain) dan bergantung pada pilihan PS BSD:

 <code>pps () { local a= b= c= IFS=$'\r'; ps ax | while read -ra do [ "$b" ] || c=1; for b; do case "$a" in *"$b"*) c=1;; esac; done; [ "$c" ] && printf '%s\n' "$a" && c=; done; }</code>

Mulakan sesi SFTP tradisional untuk menyemak proses yang berkaitan dengannya:

 <code>$ id uid=1001(aturing) gid=1001(aturing) groups=1001(aturing)... $ sftp aturing@sftp.victimandum.com aturing@sftp.victimandum.com's password: Connected to sftp.victimandum.com. sftp></code>

Kami mengandaikan bahawa pengguna UNIX tempatan di atas mempunyai akaun nama pengguna yang sama pada pelayan SFTP jauh.

Selepas sesi dijalankan, proses proses tempatan untuk nama pengguna akan memaparkan proses SSH kanak -kanak yang dihasilkan oleh SFTP:

 <code>$ pps aturing PID TTY STAT TIME COMMAND 9666 pts/0 S 0:00 sftp aturing@sftp.victimandum.com 9667 pts/0 S 0:00 /usr/bin/ssh -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings yes -oForwardAgent no -l aturing -s -- sftp.victimandum.com sftp</code>

Parameter Clearallforwardings Ya di atas akan menindas sebarang percubaan penghantaran tanpa mengambil tindakan untuk memecahkannya.

Bendera pemajuan port -l dan -r tidak wujud sebagai pilihan yang sah untuk baris arahan SFTP, tetapi kita boleh menggunakan pilihan -s untuk mencetuskan mereka secara jelas untuk menentukan pengendali SSH tersuai, dalam hal ini pelayan mel:

 <code>$ cat portssh #!/bin/sh exec ssh -L2525:smtp.victimandum.com:25 "$@"</code>

Sekiranya penindasan penghantaran tidak disediakan, panggilan SFTP ini mencukupi untuk mewujudkan sambungan penghantaran:

 <code>$ sftp -S ./portssh -oClearAllForwardings\ no aturing@sftp.victimandum.com aturing@sftp.victimandum.com's password: Connected to sftp.victimandum.com. sftp></code>

Sekarang anda dapat melihat percubaan penghantaran dalam proses SSH kanak -kanak:

 <code>$ pps aturing PID TTY STAT TIME COMMAND 9897 pts/0 S 0:00 sftp -S ./portssh -oClearAllForwardings no aturing@sftp.victimandum.com 9898 pts/0 S 0:00 ssh -L2525:smtp.victimandum.com:25 -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings yes -o ClearAllForwardings no -oForwardAgent no -l aturing -s -- sftp.victimandum.com sftp</code>

Walau bagaimanapun, cuba menghubungi pelayan mel jauh melalui port pemajuan tempatan tidak berjaya kerana mengatasi eksplisit:

 <code>$ nc localhost 2525 $</code>

Penindasan tanpa syarat ini dapat dilihat dalam kod sumber:

 <code>$ sed -n /X11/,/Forwardings/p openssh-8.7p1/sftp.c addargs(&args, "-oForwardX11 no"); addargs(&args, "-oPermitLocalCommand no"); addargs(&args, "-oClearAllForwardings yes");</code>

Rentetan statik ini juga dapat dilihat dalam fail binari yang disusun:

 <code>$ strings /usr/bin/sftp | grep [-]o[CFP] -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings yes -oForwardAgent no -oPort %d</code>

Akhirnya, dokumentasi dengan jelas menyatakan bahawa penindasan ini disengajakan dan memberikan alasan yang munasabah:

 <code>$ man ssh_config | sed -n /ClearAllForwardings/,/default/p ClearAllForwardings Specifies that all local, remote, and dynamic port forwardings specified in the configuration files or on the command line be cleared. This option is primarily useful when used from the ssh(1) command line to clear port forwardings set in configura‐ tion files, and is automatically set by scp(1) and sftp(1). The argument must be yes or no (the default).</code>

Perubahan rentetan yang disusun

Bagi mereka yang ingin melumpuhkan konfigurasi Clearallforwardings Ya, satu pilihan adalah menggunakan SED untuk mengedit rentetan dalam binari SFTP secara langsung (dengan asumsi Platform Sed adalah binari selamat):

 <code>$ sed 's/AllForwardings yes/AllForwardings no /' sftp.noclearforward</code>

Pengubahsuaian langsung ini lebih mudah daripada menyusun fail binari baru.

Kami dapat mengesahkan bahawa rentetan telah diubah suai dengan jayanya:

 <code>$ strings ./sftp.noclearforward | grep [-]o[CFP] -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings no -oForwardAgent no -oPort %d</code>

Walaupun kandungan dan cek SFTP yang diubahsuai akan berbeza, mana -mana Linux BuildID SHA1 yang sedia ada akan tetap sama (tetapi tidak mengemukakan tiket sokongan apabila menggunakan SFTP yang diedit):

 <code>$ file /usr/bin/sftp ./sftp.noclearforward /usr/bin/sftp: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d7e77e24d5fac0fdc89e62a4c9c656091f2c4a33, for GNU/Linux 3.2.0, stripped ./sftp.noclearforward: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d7e77e24d5fac0fdc89e62a4c9c656091f2c4a33, for GNU/Linux 3.2.0, stripped $ sha1sum /usr/bin/sftp ./sftp.noclearforward d8bdaf0b4642b9c324f9c2e0aeee2d9578fbe383 /usr/bin/sftp b12dda8ecfd7bd2847919b5531aea7c03364c123 ./sftp.noclearforward $ sha256sum /usr/bin/sftp ./sftp.noclearforward 986eecdfc654c9b3ff3fd0dce59690d47cf56be96a4b98a04a3682aef95d3f52 /usr/bin/sftp c8f99ce33fc129250c11dc6dbb8a01112e01124e470a92d0acefb955fd17d670 ./sftp.noclearforward</code>

Anda boleh menghubungi binari SFTP yang diubah suai untuk membolehkan penghantaran port:

 <code>$ chmod 755 sftp.noclearforward $ ./sftp.noclearforward -S ./portssh aturing@sftp.victimandum.com aturing@sftp.victimandum.com's password: Connected to sftp.victimandum.com. sftp></code>

Sekarang anda dapat melihat tetapan yang diubah suai dalam proses kanak -kanak:

 <code>$ pps aturing PID TTY STAT TIME COMMAND 9991 pts/0 S 0:00 ./sftp.noclearforward -S ./portssh aturing@sftp.victimandum.com 9992 pts/0 S 0:00 ssh -L2525:smtp.victimandum.com:25 -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings no -oForwardAgent no -l aturing -s -- sftp.victimandum.com sftp</code>

Ciri ini diaktifkan dan dijalankan pada pelayan jauh dan dapat mengesahkan sambungan dalam shell yang berasingan:

 <code>$ nc localhost 2525 220 smtp.victimandum.com Microsoft ESMTP MAIL Service, Version: 1.2.3456.78901 ready at Sun, 1 Jan 2023 01:23:45 -0100 ^C</code>

Apabila penghantaran dilumpuhkan pada pelayan, pelanggan akan menerima pemberitahuan yang menunjukkan status ini apabila sambungan cuba:

 <code>channel 3: open failed: administratively prohibited: open failed</code>

Pentadbir SFTP yang diberikan akaun yang tidak dipercayai sepatutnya mengesahkan bahawa konfigurasi pelayan secara eksplisit melumpuhkan pemajuan dan pelaksanaan perintah.

Beyond Posix Shell

Walaupun piawaian Dash dan Posix menyediakan set - sebagai cara untuk menetapkan semula parameter baris perintah, ciri -ciri yang lebih canggih disediakan dalam Bash dan KSH93:

 <code>$ cat ynargs #!/bin/bash echo "${@//yes/no}"</code>

Ujian cepat mengesahkan penyuntingan yang berjaya:

 <code>$ ./ynargs -oForwardX11 no -oPermitLocalCommand yes -oClearAllForwardings yes -oForwardAgent no -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings no -oForwardAgent no</code>

Perhatikan bahawa di atas $ {@// .../...} bukanlah POSIX yang sah dan tidak boleh berjalan di Dash atau mana -mana shell (MKSH, OKSH) yang diperoleh dari PDKSH. Banyak platform tidak mengikat kerang dengan ciri ini (seperti Android dan OpenBSD, walaupun ada cara untuk menambahnya);

Untuk memanfaatkan ciri ini dengan shell yang kuat, kami membuat direktori dan kemudian membuat pembalut SSH di dalamnya untuk membersihkan tetapan masalah:

 <code>$ cat ~/switcharoo/ssh #!/bin/bash exec /usr/bin/ssh "${@//yes/no}"</code>

Kemudian tetapkan direktori sebelum Sistem SSH dalam $ Path:

 <code>$ export PATH=~/switcharoo:$PATH $ which ssh ~/switcharoo/ssh</code>

Kemudian, kami memanggil sistem SFTP dalam persekitaran yang diubah suai ini:

 <code>$ /usr/bin/sftp -S ./portssh aturing@sftp.victimandum.com aturing@sftp.victimandum.com's password: Connected to sftp.victimandum.com. sftp></code>

Kami melihat bahawa shell menetapkan semula parameter masalah:

 <code>$ pps aturing PID TTY STAT TIME COMMAND 10058 pts/0 S 0:00 /usr/bin/sftp -S ./portssh aturing@sftp.victimandum.com 10059 pts/0 S 0:00 /usr/bin/ssh -L2525:smtp.victimandum.com:25 -oForwardX11 no -oPermitLocalCommand no -oClearAllForwardings no -oForwardAgent no -l aturing -s -- sftp.victimandum.com sftp</code>

Mengesahkan semula sambungan tempatan ke port pemajuan:

 <code>$ nc localhost 2525 220 smtp.victimandum.com Microsoft ESMTP MAIL Service, Version: 1.2.3456.78901 ready at Sun, 1 Jan 2023 01:23:45 -0100 ^C</code>

Sebagai demonstrasi akhir, pertukaran SMTP lengkap boleh dilakukan menggunakan skrip berikut:

 <code>$ cat awkmail #!/bin/gawk -f BEGIN { smtp="/inet/tcp/0/localhost/2525"; ORS="\r\n"; r=ARGV[1]; s=ARGV[2]; sbj=ARGV[3]; # /bin/awkmail to from subj 0) print |& smtp print "." |& smtp; smtp |& getline j; print j print "quit" |& smtp; smtp |& getline j; print j close(smtp) } # /inet/protocol/local-port/remote-host/remote-port</code>

Kami boleh menggunakan skrip ini untuk menghantar surat kami sendiri ke penerima jauh yang boleh diakses oleh pelayan SMTP:

 <code>$ ./awkmail jatanasoff@victimandum.com aturning@localhost awkmail Queued mail for delivery</code>

Dalam persekitaran yang sangat terkawal, kehadiran fungsi ini tidak optimum.

Sekatan pelayan

Adalah difahami bahawa pentadbir SFTP tidak mahu membenarkan pengguna mereka membuat sambungan TCP sewenang -wenang dengan bantuan pelayan, yang boleh meletakkan rangkaian sensitif berisiko. Mengehadkan aktiviti ini adalah tetapan keselamatan yang berhati -hati.

Konfigurasi yang sama adalah untuk menambah pengguna SFTP yang tidak dipercayai kepada kumpulan dan kemudian menghalang aktiviti kumpulan ini dalam sshd_config:

 <code>Match Group sftponly ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no</code>

Konfigurasi yang disyorkan ini biasanya mencukupi untuk mencegah semua percubaan penghantaran.

Adalah disyorkan untuk menambah Disableforwarding Ya:

 <code>$ man sshd_config | sed -n /DisableForwarding/,/configurations/p DisableForwarding Disables all forwarding features, including X11, ssh-agent(1), TCP and StreamLocal. This option overrides all other forwarding- related options and may simplify restricted configurations.</code>

Ini ditinggalkan kepada pentadbir untuk amalan.

kesimpulannya

Terlalu ketat tetapan klien SFTP boleh membawa kepada beberapa tahap kebutaan pengurusan pelayan. Sekatan pelanggan SFTP mudah dielakkan melalui pelbagai kaedah.

Bagi pentadbir pelayan SFTP, adalah penting untuk mengetahui di mana ia terhad dan di mana ia terhad, dan tidak bergantung kepada pelanggan untuk melindungi pelayan dari kawalan TCP sewenang -wenangnya. Pelanggan dikawal oleh pengguna, dan jika konfigurasi itu salah, sukar untuk melaksanakan arahan TCP ke pelayan. Sebarang ujian perlu dilakukan tanpa penghantaran yang luas dalam pengguna ssh_config, perhatikan amaran dalam dokumen.

Walaupun ciri ini mungkin mempunyai tujuan undang -undang yang boleh dibayangkan, penyalahgunaan akan jarang berlaku.

Isu -isu ini tidak baru, kerana varian Exec Tapak telah hadir dalam Plaintext FTP selama beberapa dekad. SFTP bukanlah alternatif mudah untuk pemindahan fail plaintext, ia juga mempunyai banyak ciri yang mudah digunakan.

Semoga pentadbir dapat menggunakan kaedah ini untuk mengesahkan keselamatan pelayan mereka agar tidak ditangkap.

Atas ialah kandungan terperinci Pemajuan port SFTP: Membolehkan fungsi ditindas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1488
72
Pasang LXC (bekas Linux) di RHEL, ROCKY & ALMALINUX Pasang LXC (bekas Linux) di RHEL, ROCKY & ALMALINUX Jul 05, 2025 am 09:25 AM

LXD digambarkan sebagai bekas generasi akan datang dan pengurus mesin maya yang menawarkan sistem Linux yang mendalam yang berjalan di dalam bekas atau sebagai mesin maya. Ia memberikan imej untuk bilangan pengagihan Linux yang sangat besar dengan sokongan

Bagaimana cara menyelesaikan masalah DNS pada mesin Linux? Bagaimana cara menyelesaikan masalah DNS pada mesin Linux? Jul 07, 2025 am 12:35 AM

Apabila menghadapi masalah DNS, mula -mula semak fail /etc/resolv.conf untuk melihat sama ada nameserver yang betul dikonfigurasi; Kedua, anda boleh menambah DNS awam secara manual seperti 8.8.8.8 untuk ujian; Kemudian gunakan arahan NSLOOKUP dan Dig untuk mengesahkan sama ada resolusi DNS adalah normal. Sekiranya alat ini tidak dipasang, anda boleh memasang pakej DNSutils atau Bind-UTILS terlebih dahulu; Kemudian periksa status perkhidmatan yang diselesaikan SystemD dan fail konfigurasi /etc/systemd/resolved.conf, dan tetapkan DNS dan fallbackDNS seperti yang diperlukan dan mulakan semula perkhidmatan; Akhirnya periksa status antara muka rangkaian dan peraturan firewall, sahkan bahawa port 53 tidak

Bagaimanakah anda menyahpepijat pelayan yang perlahan atau mempunyai penggunaan memori yang tinggi? Bagaimanakah anda menyahpepijat pelayan yang perlahan atau mempunyai penggunaan memori yang tinggi? Jul 06, 2025 am 12:02 AM

Jika anda mendapati bahawa pelayan berjalan perlahan -lahan atau penggunaan memori terlalu tinggi, anda harus memeriksa sebab sebelum beroperasi. Pertama, anda perlu menyemak penggunaan sumber sistem, menggunakan atas, HTOP, FREE-H, IOSTAT, SS-ANTP dan arahan lain untuk memeriksa CPU, Memory, Disk I/O dan sambungan rangkaian; Kedua, menganalisis masalah proses tertentu, dan menjejaki tingkah laku proses penghuni tinggi melalui alat seperti PS, Jstack, Strace; Kemudian semak log dan pemantauan data, lihat rekod OOM, permintaan pengecualian, pertanyaan perlahan dan petunjuk lain; Akhirnya, pemprosesan yang disasarkan dijalankan berdasarkan sebab -sebab biasa seperti kebocoran memori, keletihan kolam sambungan, ribut kegagalan cache, dan konflik tugas masa, mengoptimumkan logik kod, menubuhkan mekanisme percubaan masa, menambah fius had semasa, dan sumber pengukuran tekanan dan penilaian secara teratur.

Pasang guacamole untuk akses jauh Linux/Windows di Ubuntu Pasang guacamole untuk akses jauh Linux/Windows di Ubuntu Jul 08, 2025 am 09:58 AM

Sebagai pentadbir sistem, anda mungkin mendapati diri anda (hari ini atau pada masa akan datang) bekerja di persekitaran di mana Windows dan Linux wujud bersama. Bukan rahsia lagi bahawa beberapa syarikat besar lebih suka (atau harus) menjalankan beberapa perkhidmatan pengeluaran mereka di Windows Boxes

Cara Membakar CD/DVD di Linux Menggunakan Brasero Cara Membakar CD/DVD di Linux Menggunakan Brasero Jul 05, 2025 am 09:26 AM

Terus terang, saya tidak dapat ingat pada kali terakhir saya menggunakan PC dengan pemacu CD/DVD. Ini adalah terima kasih kepada industri teknologi yang sentiasa berkembang yang telah melihat cakera optik digantikan oleh pemacu USB dan media penyimpanan yang lebih kecil dan padat yang menawarkan lebih banyak simpanan

Bagaimana untuk mencari alamat IP peribadi dan awam saya di Linux? Bagaimana untuk mencari alamat IP peribadi dan awam saya di Linux? Jul 09, 2025 am 12:37 AM

Dalam sistem Linux, 1. Gunakan arahan IPA atau HostName-I untuk melihat IP peribadi; 2. Gunakan curlifconfig.me atau curlipinfo.io/ip untuk mendapatkan ip awam; 3. Versi desktop boleh melihat IP peribadi melalui tetapan sistem, dan penyemak imbas boleh mengakses laman web tertentu untuk melihat IP awam; 4. Perintah umum boleh ditetapkan sebagai alias untuk panggilan cepat. Kaedah ini mudah dan praktikal, sesuai untuk keperluan tontonan IP dalam senario yang berbeza.

Cara Memasang NodeJS 14/16 & NPM di Rocky Linux 8 Cara Memasang NodeJS 14/16 & NPM di Rocky Linux 8 Jul 13, 2025 am 09:09 AM

Dibina pada enjin V8 Chrome, Node.js adalah persekitaran runtime JavaScript yang didorong oleh acara terbuka yang dibuat untuk membina aplikasi berskala dan API backend. Nodejs dikenali sebagai ringan dan cekap kerana model I/O yang tidak menyekat dan

Cara Menyiapkan Replikasi MySQL di Rhel, Rocky dan Almalinux Cara Menyiapkan Replikasi MySQL di Rhel, Rocky dan Almalinux Jul 05, 2025 am 09:27 AM

Replikasi data adalah proses menyalin data anda merentasi pelbagai pelayan untuk meningkatkan ketersediaan data dan meningkatkan kebolehpercayaan dan prestasi aplikasi. Dalam replikasi MySQL, data disalin dari pangkalan data dari pelayan induk ke OT

See all articles