Sitemap
MeetCyber

hack the present, secure the future

Member-only story

Business Logic Flaw in a Rating System and Earned €150

--

Bug bounty hunting is often about the little details a forgotten header, a missing validation, or in this case a rating system without limits.

In this post, I’ll share how I discovered a simple but impactful business logic vulnerability in a media website’s rating system. While the vulnerability wasn’t critical in the traditional sense (no RCE, no data leaks), it still had real-world implications for content manipulation — and earned me a €150 bounty.

Press enter or click to view image in full size
yeswehack @ pndsec

During one of my regular reconnaissance sessions, I focused on a invited — private bounty program. I noticed the site had an active and visible comment section under each article, and users could upvote or downvote comments.

What caught my eye was the UI interaction: when I clicked on the “upvote” button, the count incremented immediately without a page reload. That meant JavaScript was involved and most likely, a background API call.

Opening my browser’s developer tools, I watched the network requests as I clicked the vote button. As expected, it sent a POST request to a GraphQL endpoint with a mutation that looked something like this:

mutation {
updateCommentRatingPositive(commentId: "12345")
}

This request increased the vote count by one for the specified comment.

--

--