1. 程式人生 > 其它 >HTTP引數汙染(HPP)

HTTP引數汙染(HPP)

搭建ftp服務

1.需要安裝vsftpd服務
yum install vsftpd -y

2.修改ftp配置檔案,設定賬號密碼,登入ftp伺服器,可以檢視某資料夾下的資料資料(共享資料夾)

3.建立一個linux的使用者(ftp使用linux的使用者資訊,不靠譜)
[root@nfs-31 ~]#useradd ops01
設定該使用者密碼
[root@nfs-31 ~]#echo '123123' |passwd --stdin ops01
Changing password for user ops01.
passwd: all authentication tokens updated successfully.

4.修改ftp配置檔案,設定用於共享的目錄
[root@nfs-31 ~]#rpm -ql vsftpd |grep '.conf$'
/etc/vsftpd/vsftpd.conf

4.1 關閉所有的匿名使用者功能,不安全
找出和匿名使用者相關的配置引數
[root@nfs-31 ~]#grep '^anonymous' /etc/vsftpd/vsftpd.conf 
anonymous_enable=NO


4.2新增自定義的共享資料夾配置引數,筆記的解釋,別寫入linux中,寫筆記上,否則可能會導致編碼不識別,程式出錯

直接在檔案最底行,新增如下配置
直接在檔案最低下,新增如下配置
# 配置解釋
# local_root=/data/kefu  指定本地使用者的預設資料根目錄 
# chroot_local_user=YES 禁錮本地使用者的預設資料目錄(禁止使用者切換到其他目錄)
# allow_writeable_chroot=YES 允許ftp使用者登入後,可以建立資料

你只需要修改如下三個引數即可
# ftp使用者,ops01登入ftp之後,只能看到/test_0224這個資料夾下的資料
## by myself
local_root=/test_0224/
chroot_local_user=YES
allow_writeable_chroot=YES




5.建立用於共享的資料夾
[root@nfs-31 ~]#mkdir /test_0224/
[root@nfs-31 /test_0224]#touch wenjie.png

別忘記修改資料夾的許可權,否則無法讀取了,修改為剛才自定義的使用者
[root@nfs-31 ~]#chown -R ops01:ops01  /test_0224/

[root@nfs-31 ~]#ll -d /test_0224/
drwxr-xr-x 2 ops01 ops01 24 Apr 19 18:11 /test_0224/


6.此時可以重啟vsftpd服務
[root@nfs-31 ~]#systemctl restart vsftpd
[root@nfs-31 ~]#
[root@nfs-31 ~]#ps -ef |grep vsftpd
root       1735      1  0 18:22 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root       1744   1339  0 18:23 pts/0    00:00:00 grep --color=auto vsftpd
[root@nfs-31 ~]#

使用客戶端,驗證ftp的登入,資料檢視

你可以用另一臺機器,安裝ftp程式,登入vsftpd服務端
[root@rsync-41 ~]#yum install ftp -y


登入ftp裝置的命令
ftp 機器的ip地址
如
輸入賬號密碼 ops01 123456
進入之後,輸入? 檢視ftp提供的命令幫助
ftp> pwd  檢視當前的ftp目錄位置

[root@rsync-41 ~]#ftp 172.16.1.31
Connected to 172.16.1.31 (172.16.1.31).
220 (vsFTPd 3.0.2)
Name (172.16.1.31:root): ops01
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> 



ftp提供的上傳下載
下載功能     下載改名為文傑1.png
ftp> get
(remote-file) 文傑.png
(local-file) 文傑1.png
local: 文傑1.png remote: 文傑.png
227 Entering Passive Mode (172,16,1,31,47,228).
150 Opening BINARY mode data connection for 文傑.png (0 bytes).
226 Transfer complete.

[root@rsync-41 /home]#ls 
i_am_41.png  文傑1.png



上傳功能
ftp> put /home/i_am_41.png  41.png
local: /home/i_am_41.png remote: 41.png
227 Entering Passive Mode (10,0,0,31,109,53).
150 Ok to send data.
226 Transfer complete.
ftp> 

[root@nfs-31 /test_0224]#ls 
41.png  wenjie.png  文傑.png
[root@nfs-31 /test_0224]#

[root@rsync-41 /home]#cd /opt
[root@rsync-41 /opt]#touch 0224.jpg

Connected to 10.0.0.31 (10.0.0.31).
220 (vsFTPd 3.0.2)
Name (10.0.0.31:root): ops01
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls 
227 Entering Passive Mode (10,0,0,31,135,35).
150 Here comes the directory listing.
-rw-r--r--    1 1000     1000            0 Apr 19 10:42 41.png
-rw-r--r--    1 1000     1000            0 Apr 19 10:11 wenjie.png
-rw-r--r--    1 0        0               0 Apr 19 10:29 文傑.png
226 Directory send OK.


上傳檔案,並改名為4.jpg
ftp> put
(local-file) /opt/0224.jpg
(remote-file) 4.jpg
local: /opt/0224.jpg remote: 4.jpg
227 Entering Passive Mode (10,0,0,31,172,248).
150 Ok to send data.
226 Transfer complete.

[root@nfs-31 /test_0224]#ls 
41.png  4.jpg  wenjie.png  文傑.png








用於linux和windows共享的samba服務

ftp是客服端,服務端兩個

服務端是  vsftpd
linux客戶端是,ftp命令, 以及其他各種支援ftp協議的工具,如windows下提供很多軟體,支援圖形化上傳下載ftp xftp

ftp執行在31這臺機器上
[root@nfs-31 /test_0224]#ps -ef |grep ftp
root       1735      1  0 18:22 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
root      11614   1339  0 18:54 pts/0    00:00:00 grep --color=auto ftp






windows訪問ftp
命令列操作
圖形化連線ftp裝置

指定協議語法
ftp://10.0.0.31/

samba服務端的部署

client、server軟體的使用,部署流程

1.安裝samba軟體
[root@nfs-31 /opt]#yum install samba -y

顯示如下為安裝完畢
 Complete!

 
2.修改配置檔案,依然是設定一個共享資料夾
samba的軟體配置檔案在
[root@nfs-31 ~]#ls /etc/samba/
lmhosts  smb.conf  smb.conf.example

修改 /etc/samba/smb.conf
新增自定義的,共享資料夾的配置
[root@nfs-31 ~]#vim /etc/samba/smb.conf
[root@nfs-31 ~]#tail -7 /etc/samba/smb.conf

[smb_share]
    comment=myself share dir
    path = /my_smb/
    guest ok=no
    public = no
    writable = yes


3.建立共享資料夾
[root@nfs-31 ~]#mkdir /my_smb/


4.samba也有使用者認證機制,需要通過pdbedit命令設定samba的使用者資訊
4.1 pdbedit命令是給linux以及存在的使用者,設定一個密碼
[root@nfs-31 ~]#useradd samba01
密碼設定為123123
4.2 使用pdbedit命令,給samba的使用者設定密碼
-a 新增smb使用者
-u 指定使用者名稱
[root@nfs-31 ~]#pdbedit -a -u samba01
new password:
retype new password:
Unix username:        samba01
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-2280086692-3291408279-1450459482-1000
Primary Group SID:    S-1-5-21-2280086692-3291408279-1450459482-513
Full Name:            
Home Directory:       \\nfs-31\samba01
HomeDir Drive:        
Logon Script:         
Profile Path:         \\nfs-31\samba01\profile
Domain:               NFS-31
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 23:06:39 CST
Kickoff time:         Wed, 06 Feb 2036 23:06:39 CST
Password last set:    Tue, 19 Apr 2022 19:52:57 CST
Password can change:  Tue, 19 Apr 2022 19:52:57 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF



5.修改smb共享資料夾的許可權
[root@nfs-31 ~]#chown -R samba01:samba01  /my_smb/
[root@nfs-31 ~]#ll -d /my_smb/
drwxr-xr-x 2 samba01 samba01 6 Apr 19 19:12 /my_smb/


6.給該目錄建立些資料
[root@nfs-31 /my_smb]#touch 作業.log
[root@nfs-31 /my_smb]#ls 
作業.log


7.啟動samba服務
[root@nfs-31 ~]#systemctl start smb


8.後續你的確需要部署samba服務,如何使用samba
做哪些後續的學習呢?
說白了,就是學samba的配置檔案,裡面的引數,是什麼功能,就有什麼用
samba是一個軟體,所有的功能,都被以配置檔案形式定義好了
配置檔案時最重要的,控制軟體功能的一個檔案
程式啟動會去讀取配置檔案中的引數,以開啟關閉不同的功能



9.驗證程序,埠
[root@nfs-31 ~]#ps -ef |grep  smb
root      12190      1  0 19:58 ?        00:00:00 /usr/sbin/smbd --foreground --no-process-group
root      12192  12190  0 19:58 ?        00:00:00 /usr/sbin/smbd --foreground --no-process-group
root      12193  12190  0 19:58 ?        00:00:00 /usr/sbin/smbd --foreground --no-process-group
root      12194  12190  0 19:58 ?        00:00:00 /usr/sbin/smbd --foreground --no-process-group
root      12230  12081  0 20:02 pts/1    00:00:00 grep --color=auto smb
[root@nfs-31 ~]#
[root@nfs-31 ~]#netstat -tunlp |grep smb
tcp        0      0 0.0.0.0:445             0.0.0.0:*               LISTEN      12190/smbd          
tcp        0      0 0.0.0.0:139             0.0.0.0:*               LISTEN      12190/smbd          
tcp6       0      0 :::445                  :::*                    LISTEN      12190/smbd          
tcp6       0      0 :::139                  :::*                    LISTEN      12190/smbd          











samb客戶端認證

linux客戶端
需要安裝工具
[root@rsync-41 ~]#yum install samba-client -y




2.使用該命令,連線samba機器即可
# 輸入samba01的密碼即可
#進入後,輸入 ? 檢視samba提供的命令,也就是作用

[root@rsync-41 ~]#smbclient //10.0.0.31/smb_share -U samba01
Enter SAMBA\samba01's password: 
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Tue Apr 19 19:56:11 2022
  ..                                  D        0  Tue Apr 19 19:12:38 2022
  作業.log                          N        0  Tue Apr 19 19:56:11 2022

		17811456 blocks of size 1024. 16162144 blocks available
smb: \> 


建立檔案
smb: \> mkdir 4月19號
smb: \> ls 
  .                                   D        0  Tue Apr 19 20:15:10 2022
  ..                                  D        0  Tue Apr 19 19:12:38 2022
  作業.log                          N        0  Tue Apr 19 19:56:11 2022
  4月19號                           D        0  Tue Apr 19 20:15:10 2022

		17811456 blocks of size 1024. 16162164 blocks available

windowos也有客戶端
配置比較繁瑣


參考圖片
http://apecome.com:9494/03%E7%B3%BB%E7%BB%9F%E6%9C%8D%E5%8A%A1%E7%AF%87/pic/151645101550_.pic.jpg

使用 windows的win快捷鍵+ r,開啟執行視窗
訪問samba的協議是

\\10.0.0.31\smb_share

此時輸入賬號密碼
samba01
123123


開啟後要重啟