Building a Shodan-Based Asset Discovery and ThinkPHP Log Exposure Scanner
Enviroment Setup
Install the official Shodan libray via pip:
pip install shodan
Initialize your API credentials:
shodan init <your_api_key>
Verify connectivity by testing a query count:
shodan count nginx
Basic Host Discovery
The following script demonstrates fundamental interaction with the Shodan API to retrieve web server assets:
im ...
Posted on Tue, 25 Aug 2026 16:35:30 +0000 by midi_mick
Role-Based Access Control Implementation in ThinkPHP 3.2.3
RBAC Architecture in CMS Development
This CMS system built on ThinkPHP 3.2.3 implements Role-Based Access Control (RBAC) for managing user permissions across various modules including content, products, users, roles, and system settings.
RBAC Core Concepts
RBAC operates on the principle that users are assigned to roles, and roles are granted pe ...
Posted on Mon, 17 Aug 2026 16:31:51 +0000 by adamddickinson
Exporting Data to Excel with PHPExcel in ThinkPHP 5
This guide details the process of integrating PHPExcel for data export functionality within a ThinkPHP 5 application.
Setup
Download PHPExcel: Obtain the latest version of PHPExcel from its official GitHub repository: https://github.com/PHPOffice/PHPExcel.
Directory Structure: After downloading and extracting the PHPExcel archive, create a new ...
Posted on Sun, 12 Jul 2026 17:25:07 +0000 by chiprivers
ThinkPHP Template Engine Built-in Tags Reference
Template Replacement
Before rendering templates, the system performs special string substitutions on the template content. This mechanism enables convenient template definitions with the following default replacement rules:
__ROOT__: Replaced with the current website address (without domain)
__APP__: Replaced with the current application URL (w ...
Posted on Mon, 29 Jun 2026 17:40:40 +0000 by zero816
Internal Network Domain Penetration via ThinkPHP 3 Log Disclosure and Webshell Deployment
Information Gathering
Target IP: 192.168.0.104
Port Scanning
Perform full port scanning using masscan for speed, followed by detailed nmap scanning of open ports:
masscan -p 1-65535 192.168.0.104 --rate=1000
Ports 445, 3389, and 80 indicate a Windows server with MySQL database. Web service runs on port 80, displaying a PHPStudy default page.
D ...
Posted on Sun, 14 Jun 2026 17:05:00 +0000 by sgs