<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bijan</title>
    <description>The latest articles on DEV Community by Bijan (@bijan53c).</description>
    <link>https://dev.to/bijan53c</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3985731%2F41ac23dc-f551-4d29-a8a0-3fd79a35d893.jpeg</url>
      <title>DEV Community: Bijan</title>
      <link>https://dev.to/bijan53c</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bijan53c"/>
    <language>en</language>
    <item>
      <title>Concept on bypassing 403 pages</title>
      <dc:creator>Bijan</dc:creator>
      <pubDate>Mon, 15 Jun 2026 14:41:25 +0000</pubDate>
      <link>https://dev.to/bijan53c/concept-on-bypassing-403-pages-21p0</link>
      <guid>https://dev.to/bijan53c/concept-on-bypassing-403-pages-21p0</guid>
      <description>&lt;p&gt;On web application security, whether there's a pentest going on or hunting for vulnerabilities, there's a concept or technique for bypassing restrictions. In here we are going on details of bypassing 403 restrictions which usually lead to finding impactful vulnerabilities.&lt;/p&gt;

&lt;h1&gt;
  
  
  How the restriction works?
&lt;/h1&gt;

&lt;p&gt;For bypassing the restriction, we need to know how it works and what it does restrict; and it's obvious that different apps use different mechanisms so, let's explore some real world scenarios. &lt;/p&gt;

&lt;h2&gt;
  
  
  The overall concept
&lt;/h2&gt;

&lt;p&gt;For making a restriction, it has to be defined, so imagine it like a blacklist or whitelist mechanism which has to be bypassed. Now for bypassing them, you gotta understand what factors they are considering for restricting so, you would change focus on that item. Here we explore some types of restrictions:&lt;/p&gt;

&lt;h3&gt;
  
  
  IP restriction
&lt;/h3&gt;

&lt;p&gt;It's the simplest type, turn on your VPN. But remember that the IP can be set to whitelist some static IP's (e.g the admin's specific IP) which can make your job so much harder.&lt;/p&gt;

&lt;h3&gt;
  
  
  Parameters restriction
&lt;/h3&gt;

&lt;p&gt;As you know, in each HTTP request we have some headers or parameters in the URL (For more simplicity I'm referring to both as &lt;em&gt;"Parameters"&lt;/em&gt;). Which they look something like these :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight http"&gt;&lt;code&gt;&lt;span class="err"&gt;GET /somedirectory/?p=parameterdata
HOST: somesite.com
User-Agent: Mozilla...
Cookie: somestuff
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In above HTTP request, you can see parameters with &lt;code&gt;parameterdata&lt;/code&gt; value in URL, and &lt;em&gt;Headers&lt;/em&gt; as &lt;code&gt;HOST&lt;/code&gt;, &lt;code&gt;User-Agent&lt;/code&gt; and &lt;code&gt;Cookie&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Now imagine, the admin uses the &lt;em&gt;Admin Cookie&lt;/em&gt; as he has authenticated to visit &lt;code&gt;/OnlyAdmin/dash.html&lt;/code&gt;. So Anyone without the &lt;em&gt;Admin Cookie&lt;/em&gt; are not allowed to visit that page. So as our small example above, when you have a random cookie (not authenticated as admin) and visit the &lt;code&gt;/OnlyAdmin/dash.html&lt;/code&gt;, you face a 403 status code since you are not authenticated and allowed to visit that admin dashboard.&lt;/p&gt;

&lt;p&gt;So what is happening is that there is a restriction on that parameter/header. It's defined like ==If cookie = Admin --&amp;gt; allowed to visit &lt;code&gt;/OnlyAdmin/dash.html&lt;/code&gt; and if cookie !=(not equal) to Admin, return 403 and don't allow to visit.== &lt;br&gt;
So you are facing a whitelisting mechanism here. &lt;/p&gt;

&lt;p&gt;Before exploring more scenarios and bypassing them, let's have some blacklist examples too.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sites restricting certain user agents&lt;/li&gt;
&lt;li&gt;Restricting certain IP ranges (like people from certain country)&lt;/li&gt;
&lt;li&gt;Restricting users who send too much requests (rate limit)&lt;/li&gt;
&lt;li&gt;Bad user input (Like XSS, SQLi payloads)&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  So, how they are defined
&lt;/h2&gt;

&lt;p&gt;Usually they are set in 3 major ways which are :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some are defined by the &lt;em&gt;WAF (web application firewall)&lt;/em&gt; : For example blocking IP's or malicious parameters (e.g XSS,SQLi payloads)&lt;/li&gt;
&lt;li&gt;Some are put by the &lt;em&gt;reverse proxy&lt;/em&gt; : similar to waf but only processes what waf allowed to go in.&lt;/li&gt;
&lt;li&gt;Some are hardcoded by the developer (&lt;em&gt;source code&lt;/em&gt;): like the cookie scenario we explored&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;In next post I explain some bypass scenarios&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>security</category>
      <category>web</category>
      <category>writeup</category>
    </item>
    <item>
      <title>A bug that led to infinite likes on video sharing platform</title>
      <dc:creator>Bijan</dc:creator>
      <pubDate>Mon, 15 Jun 2026 14:30:48 +0000</pubDate>
      <link>https://dev.to/bijan53c/a-bug-that-led-to-infinite-likes-on-video-sharing-platform-5faj</link>
      <guid>https://dev.to/bijan53c/a-bug-that-led-to-infinite-likes-on-video-sharing-platform-5faj</guid>
      <description>&lt;p&gt;There's a little fun bug I found on a video sharing website, which I can't tell the name of it, but I'm amazed that such bug exists on that platform cause it is more than 10 years for this platform to be online. &lt;br&gt;
With this bug, you can like a video infinite times without the need to log in. So you can become pretty popular with the likes you give to your own video (since more likes cause your video to get seen by more people), or idk, offer someone else amount of likes and get money instead?  Yeah this bug might not be that high impact at first glance or at all (Since I didn't investigate it further). But I'm gonna get into details here.&lt;/p&gt;

&lt;h1&gt;
  
  
  Normal behavior of web app (Getting a lead)
&lt;/h1&gt;

&lt;p&gt;The web app let you to like a video without authorization. That's already sus isn't it? But it could track you across browsers and sessions. E.g you use Firefox to like the video, you make a private tab to like again but... you see the video is already like by you. You switch to Chrome same happens. So you know what is going on, they are tracking users with the IP!&lt;/p&gt;

&lt;p&gt;In that moment I smiled, turned VPN on, checked the site with a fresh session, liked the video, changed IP again and ... What? Video is already liked?! First it might seem strange but, since there isn't an authentication for account to count likes (Exactly unlike Youtube), there must be a way.&lt;/p&gt;

&lt;p&gt;And the most interesting part is that this is not known as a bug from the developer (That's how they are working more than 10 years by the way). &lt;em&gt;It's a feature!&lt;/em&gt; This way people don't have to create and own accounts to like a video they see so it's easier for them to like the videos (Since the platform is not really popular and creating an account can take long so people would ignore and don't like and get on with their lives as they watched the video already and information was useful to them.) So the content creator would get likes easier.&lt;/p&gt;

&lt;h1&gt;
  
  
  The bug
&lt;/h1&gt;

&lt;p&gt;As I said, they track users from IP and setting session on browser side, since we changed IP on same session but the video was already liked. So how can we &lt;em&gt;Hack&lt;/em&gt; it for infinite likes?&lt;br&gt;
Easy, change both of the IP and session cookie/token/whatever that is set on browser side, and the app won't recognize you anymore.&lt;br&gt;
I changed IP while I opened a private tab, liked a random video, repeated the same loop again with a fresh IP and session, liked it again and so on. (I promise the content creator got really happy that day :) )&lt;/p&gt;

&lt;h2&gt;
  
  
  Automating the process
&lt;/h2&gt;

&lt;p&gt;In theory, you just would need a proxy list or a script to change your system's IP while the like request is being made in fresh sessions.&lt;br&gt;
So 3 steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Fresh session (probably selenium)&lt;/li&gt;
&lt;li&gt;Like the video &lt;/li&gt;
&lt;li&gt;Change IP (you can deploy scripts based on your solution (proxy,VPN,...))&lt;/li&gt;
&lt;li&gt;Repeat &lt;/li&gt;
&lt;/ol&gt;

&lt;h1&gt;
  
  
  How to fix it?
&lt;/h1&gt;

&lt;p&gt;Apply user account authentication for liking videos. Authentication can be applied by an OTP to user phone number for faster and more effective authentication, or force user to authenticate before watching the video at first place.&lt;/p&gt;

</description>
      <category>security</category>
      <category>web</category>
      <category>cybersecurity</category>
    </item>
  </channel>
</rss>
