<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>harpi — Security Researcher</title><link>https://harpi.cc/harpi-portfolio/</link><description>Recent content on harpi — Security Researcher</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 22 Mar 2026 17:14:13 +0200</lastBuildDate><atom:link href="https://harpi.cc/harpi-portfolio/index.xml" rel="self" type="application/rss+xml"/><item><title>HTB: Previous</title><link>https://harpi.cc/harpi-portfolio/blog/htb-previous/</link><pubDate>Tue, 26 Aug 2025 00:00:00 +0000</pubDate><guid>https://harpi.cc/harpi-portfolio/blog/htb-previous/</guid><description>&lt;div class="htb-card">
 &lt;span class="htb-tag htb-difficulty htb-medium">Medium&lt;/span>
 &lt;span class="htb-tag htb-os">Linux&lt;/span>
 
 &lt;span class="htb-tag htb-date">Retired: 2025-08-26&lt;/span>
&lt;/div>

&lt;h2 id="reconnaissance">Reconnaissance&lt;/h2>
&lt;h3 id="service-scan">Service Scan&lt;/h3>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">nmap -sCV -vv previous.htb
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl">PORT STATE SERVICE VERSION
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.13
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">80/tcp open http nginx 1.18.0 (Ubuntu)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">|_http-title: Did not follow redirect to http://previous.htb/
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Two ports — SSH and an nginx reverse proxy redirecting to &lt;code>previous.htb&lt;/code>. Adding that to &lt;code>/etc/hosts&lt;/code> and visiting the site reveals &lt;strong>PreviousJS&lt;/strong> — a documentation platform built on Next.js.&lt;/p></description></item><item><title>Web Application Security Checklist for Penetration Testers</title><link>https://harpi.cc/harpi-portfolio/blog/web-app-security-checklist/</link><pubDate>Wed, 23 Jul 2025 00:00:00 +0000</pubDate><guid>https://harpi.cc/harpi-portfolio/blog/web-app-security-checklist/</guid><description>&lt;h1 id="web-application-security-checklist-for-penetration-testers">Web Application Security Checklist for Penetration Testers&lt;/h1>
&lt;p>As a penetration tester, having a systematic approach to web application security testing is crucial. This checklist covers the essential areas to examine during a web application security assessment.&lt;/p>
&lt;h2 id="pre-assessment-phase">Pre-Assessment Phase&lt;/h2>
&lt;h3 id="information-gathering">Information Gathering&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Identify all subdomains and virtual hosts&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Map the application architecture&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Identify technologies used (frameworks, servers, databases)&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Gather information from public sources (Google dorking, Shodan)&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Review source code if available&lt;/li>
&lt;/ul>
&lt;h3 id="scope-definition">Scope Definition&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Confirm testing boundaries&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Identify critical business functions&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Understand user roles and access levels&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Document testing methodology and timeline&lt;/li>
&lt;/ul>
&lt;h2 id="authentication--session-management">Authentication &amp;amp; Session Management&lt;/h2>
&lt;h3 id="authentication-testing">Authentication Testing&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Test for default credentials&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify password policy enforcement&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test account lockout mechanisms&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for username enumeration&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test multi-factor authentication bypass&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify secure password recovery process&lt;/li>
&lt;/ul>
&lt;h3 id="session-management">Session Management&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Analyze session token generation&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test session fixation vulnerabilities&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify session timeout implementation&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for concurrent session handling&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test session token transmission security&lt;/li>
&lt;/ul>
&lt;h2 id="input-validation--injection-attacks">Input Validation &amp;amp; Injection Attacks&lt;/h2>
&lt;h3 id="sql-injection">SQL Injection&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Test all input parameters for SQL injection&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for blind SQL injection&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test stored procedures for injection&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify parameterized queries usage&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test NoSQL injection if applicable&lt;/li>
&lt;/ul>
&lt;h3 id="cross-site-scripting-xss">Cross-Site Scripting (XSS)&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Test for reflected XSS in all parameters&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for stored XSS in user inputs&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test DOM-based XSS vulnerabilities&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify Content Security Policy implementation&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test XSS filter bypass techniques&lt;/li>
&lt;/ul>
&lt;h3 id="other-injection-types">Other Injection Types&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Command injection testing&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> LDAP injection assessment&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> XML injection (XXE) testing&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Template injection vulnerabilities&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Server-Side Request Forgery (SSRF)&lt;/li>
&lt;/ul>
&lt;h2 id="authorization--access-control">Authorization &amp;amp; Access Control&lt;/h2>
&lt;h3 id="vertical-privilege-escalation">Vertical Privilege Escalation&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Test access to administrative functions&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify role-based access controls&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for direct object references&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test API endpoint authorization&lt;/li>
&lt;/ul>
&lt;h3 id="horizontal-privilege-escalation">Horizontal Privilege Escalation&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Test access to other users&amp;rsquo; data&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify user isolation&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for insecure direct object references&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test parameter manipulation&lt;/li>
&lt;/ul>
&lt;h2 id="business-logic-flaws">Business Logic Flaws&lt;/h2>
&lt;h3 id="workflow-testing">Workflow Testing&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Test business process bypass&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify transaction integrity&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for race conditions&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test time-based attacks&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify input validation in business context&lt;/li>
&lt;/ul>
&lt;h3 id="data-validation">Data Validation&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Test negative values and edge cases&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify data type validation&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for business rule enforcement&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test concurrent operations&lt;/li>
&lt;/ul>
&lt;h2 id="file-upload--management">File Upload &amp;amp; Management&lt;/h2>
&lt;h3 id="upload-security">Upload Security&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Test file type validation&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check file size restrictions&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify malicious file detection&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test path traversal in uploads&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for executable file upload&lt;/li>
&lt;/ul>
&lt;h3 id="file-access">File Access&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Test directory traversal vulnerabilities&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify access controls on uploaded files&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for information disclosure&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test file inclusion vulnerabilities&lt;/li>
&lt;/ul>
&lt;h2 id="configuration--deployment">Configuration &amp;amp; Deployment&lt;/h2>
&lt;h3 id="server-configuration">Server Configuration&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Check for default pages and files&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test HTTP methods allowed&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify security headers implementation&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for information disclosure in errors&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test SSL/TLS configuration&lt;/li>
&lt;/ul>
&lt;h3 id="application-configuration">Application Configuration&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Review debug information exposure&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for backup files&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test administrative interfaces&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify logging and monitoring&lt;/li>
&lt;/ul>
&lt;h2 id="client-side-security">Client-Side Security&lt;/h2>
&lt;h3 id="browser-security">Browser Security&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Test for clickjacking vulnerabilities&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify CSRF protection mechanisms&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for sensitive data in client-side code&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test HTML5 security features&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify secure cookie attributes&lt;/li>
&lt;/ul>
&lt;h2 id="api-security-if-applicable">API Security (if applicable)&lt;/h2>
&lt;h3 id="rest-api-testing">REST API Testing&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Test API authentication mechanisms&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify rate limiting implementation&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Check for mass assignment vulnerabilities&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Test API versioning security&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Verify input validation in API endpoints&lt;/li>
&lt;/ul>
&lt;h2 id="reporting-phase">Reporting Phase&lt;/h2>
&lt;h3 id="documentation">Documentation&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Document all vulnerabilities found&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Provide clear reproduction steps&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Assess business impact and risk&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Recommend specific remediation steps&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Include proof-of-concept code where appropriate&lt;/li>
&lt;/ul>
&lt;h3 id="risk-assessment">Risk Assessment&lt;/h3>
&lt;ul>
&lt;li>&lt;input disabled="" type="checkbox"> Categorize vulnerabilities by severity&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Consider business context in risk rating&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Prioritize remediation efforts&lt;/li>
&lt;li>&lt;input disabled="" type="checkbox"> Provide timeline for fixes&lt;/li>
&lt;/ul>
&lt;h2 id="tools-recommendation">Tools Recommendation&lt;/h2>
&lt;h3 id="essential-tools">Essential Tools&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Burp Suite Professional&lt;/strong>: Comprehensive web application testing&lt;/li>
&lt;li>&lt;strong>OWASP ZAP&lt;/strong>: Free alternative to Burp Suite&lt;/li>
&lt;li>&lt;strong>Nmap&lt;/strong>: Network discovery and port scanning&lt;/li>
&lt;li>&lt;strong>Gobuster/Dirb&lt;/strong>: Directory and file enumeration&lt;/li>
&lt;li>&lt;strong>SQLMap&lt;/strong>: Automated SQL injection testing&lt;/li>
&lt;/ul>
&lt;h3 id="specialized-tools">Specialized Tools&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Nikto&lt;/strong>: Web server scanner&lt;/li>
&lt;li>&lt;strong>Wfuzz&lt;/strong>: Web application fuzzer&lt;/li>
&lt;li>&lt;strong>XSSer&lt;/strong>: Cross-site scripting detection&lt;/li>
&lt;li>&lt;strong>Commix&lt;/strong>: Command injection testing&lt;/li>
&lt;li>&lt;strong>SSLyze&lt;/strong>: SSL/TLS configuration analysis&lt;/li>
&lt;/ul>
&lt;h2 id="conclusion">Conclusion&lt;/h2>
&lt;p>This checklist provides a comprehensive framework for web application security testing. Remember that each application is unique, and this checklist should be adapted based on the specific technologies and business logic involved.&lt;/p></description></item></channel></rss>