<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Gavin K on Medium]]></title>
        <description><![CDATA[Stories by Gavin K on Medium]]></description>
        <link>https://medium.com/@atomiczsec?source=rss-3c3ca3e6fe3f------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*qYBNRM5H9nfjKOQgM8nWMA.jpeg</url>
            <title>Stories by Gavin K on Medium</title>
            <link>https://medium.com/@atomiczsec?source=rss-3c3ca3e6fe3f------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 06 Apr 2026 01:08:27 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@atomiczsec/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[How Hacking for Free Made Me Employable]]></title>
            <link>https://medium.com/@atomiczsec/how-hacking-for-free-made-me-employable-cfe6a9cf984d?source=rss-3c3ca3e6fe3f------2</link>
            <guid isPermaLink="false">https://medium.com/p/cfe6a9cf984d</guid>
            <category><![CDATA[red-team]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <dc:creator><![CDATA[Gavin K]]></dc:creator>
            <pubDate>Fri, 07 Nov 2025 03:49:21 GMT</pubDate>
            <atom:updated>2025-11-07T03:49:21.423Z</atom:updated>
            <content:encoded><![CDATA[<p>tldr: bug bounty allowed me to start my career in offensive security early.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/832/1*2BPxmmPsVZmIH92JHTuftA.jpeg" /><figcaption>a great representation of my desk</figcaption></figure><p><strong>Introduction:</strong><br>I found out about and started bug bounties in the beginning of high school while looking for ways to make money online. This seemed like a good idea because it was related to security which I was already interested in and it did not have any requirement to start. The programs offer a part of the pathway into cybersecurity careers without requiring traditional job applications or entry-level positions. Bug bounty is the only path where anyone can legally hack real companies without being hired. You also get the knowledge of how companies are run (tech and personnel) and the systems behind them. You learn this during interacting with the company via the vulnerability reports but also when researching/manipulating the systems they use. Bug bounty can teach you more technical skills than some jobs that do require applications. This path for me was one of the things that enabled me to secure multiple internships during my current college experience.</p><p><strong>Bug bounty is a great training ground:</strong></p><p>Doing hands-on security research with live production systems across diverse tech stacks and real environments, you learn how companies and infrastructure actually operate. The knowledge comes from seeing their product development or dealing with security team sizes (sometimes just one person) all the way to different resource constraints like money or development time. It forces you to master reconnaissance and identification of potential bugs or vulns, in mostly black box and constrained situations. The experience builds five key transferable skills for red teaming: general process flow understanding (systems, HR, finance, IT), application security (APIs, Access Control, etc.), timing and processing vulnerabilities, privilege escalation, and understanding the business implications the vulnerabilities have (payment bugs, compliance fees, etc)</p><p><strong>The psychology, beyond the money:</strong></p><p>The benefits of participating in bug bounties extend far beyond financial gain. Initially, I did not achieve success with monetary bounties, but the experience taught me invaluable lessons about security flaws that I would never have thought about. As a side note, I eventually did start to receive some nice paying bounties. The psychological aspects to security in general are crucial, but specifically when you are hunting for bugs. Using persistence to your advantage by focusing on one app, one site, one function, you will become an expert and know it inside out. Leading to finding bugs or inconsistencies faster. Handling rejection is a big part of the game as well, you must control your emotions and understand there is never 100% success. You must also recognize there is an aspect of luck to the entire process of vulnerability reporting. Dealing with duplicates teaches you that you aren’t the only one that can do what you do, which means there’s actual competition. This is good. That means you have to become fast at finding things or looking at them in a unique way to survive. Lastly, learning from triage feedback becomes a skill in itself. You have to be able to take criticism and not let your ego get in the way.</p><p><strong>Building a network and reputation</strong></p><p>Being involved in the security community in general helped me build a network and ultimately led to a job opportunity. By being online constantly, liking, searching, following all got me there, engagement is key. Make it so that people can’t ignore you. Go to webinars, discord servers, and publish things to GitHub. The word I ring in my head everyday: <strong>output</strong>. Before applying for positions, I built a resume and site to be able to showcase my contributions to the field.</p><p><strong>Creating tools and sharing knowledge:</strong></p><p>I have built multiple projects that have helped spread my name and also help operators as well. Building tools or sharing research for free proves multiple things. First, you are doing it for no cost, showing interest and pride in your work it also proves your competence and establishes your credibility in the community.</p><p><strong>Filling the gap:</strong></p><p>I have used resources to learn beyond pure experimentation on platforms. To learn more of the technical and foundational ideas, I used sites like TryHackMe and HackTheBox, watching a lot of videos on YouTube, and taking different certifications and their subsequent courses.</p><p>The skills I needed to learn for red teaming that bug bounty didn’t teach are included but not limited to OPSEC, command and control structure, looking for different material sometimes (not just strict credentials), and being attack path focused. There is a heavy focus on credential material and using that to expand your scope of damage as an attacker. This shows you, with whatever you are studying, there is always something else to explore or learn.</p><p><strong>Start now:</strong></p><p>I started in the beginning of high school to get capital and experience without employment. Just find one that has a good amount of functionality and dig in, no questions asked. Focus on learning, not just bounties.</p><p><strong>Document everything:</strong></p><p>How you document your learning &amp; building journey matters. I use blog posts for spreading your research, X and short form for quicker info, YouTube for longer form content, LinkedIn for the career side, and GitHub repos to store all the code, research, and POCs. A lot of the work you are doing doesn&#39;t matter unless it is shared to the community or proper consumers. Security is a community effort, therefore we should all give some of our output towards it.</p><p><strong>Conclusion:</strong></p><p>I started my career as a high school student with no formal experience. Bug bounty provided technical training, real-world experience, and networking opportunities. It teaches you to think critically about security from both attacker and defender perspectives. The backwards implications of bug bounty help you learn a technical skill, gain experience, and transfer that into career knowledge or career positions. As you advance, you either abstract from the previous job or get really fine tuned from your starting point, and bug bounty is the perfect foundation for either path. Start researching and hacking. Everything will fall into place as you go. Don’t ask too many questions or you will never get started.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=cfe6a9cf984d" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Sneaky Patch Writeup TryHackMe]]></title>
            <link>https://medium.com/@atomiczsec/sneaky-patch-writeup-tryhackme-b77e8ce5df3a?source=rss-3c3ca3e6fe3f------2</link>
            <guid isPermaLink="false">https://medium.com/p/b77e8ce5df3a</guid>
            <dc:creator><![CDATA[Gavin K]]></dc:creator>
            <pubDate>Sat, 12 Jul 2025 16:22:11 GMT</pubDate>
            <atom:updated>2025-07-12T16:22:11.045Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/717/1*MZ9DmHA1tD6S1kIdSTLQdw.png" /></figure><p>Hello everyone! Today I have completed the “<a href="https://tryhackme.com/room/hfb1sneakypatch">Sneaky Patch</a>” box, which is rated <strong>easy </strong>but is a forensics box which I have not had to much experience with. Although it was pretty straight forward. Lets start with reading the description:</p><blockquote>Investigate the potential kernel backdoor implanted within the compromised system.</blockquote><p>This means we should keep our eyes peeled for a couple items:</p><ul><li>A patch?</li><li>Backdoor?</li></ul><p>Lets keep that in mind, while we list loaded kernel modules and look for anything unusual. We run:</p><pre>lsmod | sort</pre><p>and get the following output:</p><pre>8021q 45056 0<br>Module Size Used by<br>aesni_intel 356352 0<br>autofs4 57344 2<br>binfmt_misc 24576 1<br>crc32_pclmul 12288 0<br>crct10dif_pclmul 12288 1<br>cryptd 24576 2 crypto_simd,ghash_clmulni_intel<br>crypto_simd 16384 1 aesni_intel<br>dm_multipath 45056 0<br>efi_pstore 12288 0<br>ena 151552 0<br>garp 20480 1 8021q<br>ghash_clmulni_intel 16384 0<br>input_leds 12288 0<br>ip_tables 32768 0<br>llc 16384 2 stp,garp<br>lp 32768 0<br>mrp 20480 1 8021q<br>msr 12288 0<br>nfnetlink 20480 2<br>parport 73728 3 parport_pc,lp,ppdev<br>parport_pc 53248 0<br>polyval_clmulni 12288 0<br>polyval_generic 12288 1 polyval_clmulni<br>ppdev 24576 0<br>psmouse 217088 0<br>sch_fq_codel 24576 3<br>serio_raw 20480 0<br>sha1_ssse3 32768 0<br>sha256_ssse3 32768 0<br>spatch 12288 0<br>stp 12288 1 garp<br>x_tables 65536 1 ip_tables</pre><p>The first thing that pops out to me is the size of certain modules and if they are being used by anything. Also what we were looking for earlier, a patch or a backdoor? We see <strong>spatch 12288 0 </strong>with a relatively low module size and is not being used by anything, it also matches the name for a patch.</p><p>Lets investigate this module further, with the following command:</p><pre>sudo modinfo spatch</pre><p>and we get the following output:</p><pre>filename:       /lib/modules/6.8.0-1016-aws/kernel/drivers/misc/spatch.ko<br>description:    Cipher is always root<br>author:         Cipher<br>license:        GPL<br>srcversion:     81BE8A2753A1D8A9F28E91E<br>depends:        <br>retpoline:      Y<br>name:           spatch<br>vermagic:       6.8.0-1016-aws SMP mod_unload modversions </pre><p>I am not too sure for what to look at here but two things stand out to me, the location and author of the module. <em>author: Cipher </em>and <em>/misc/spatch.ko.</em></p><p>With knowing the location, lets take a look at the strings of it, to see if we can identify any<em> </em>IP addresses, URLs, or commands. With the following command:</p><pre>strings /lib/modules/6.8.0-1016-aws/kernel/drivers/misc/spatch.ko</pre><p>and we get the following output at the top of the file:</p><pre>Linux<br>Linux<br>AUATL<br>[A\A]]1<br>AUATL<br>get_flagH9<br>[A\A]]1<br>cipher_bd<br>/tmp/cipher_output.txt<br>/bin/sh<br>%s &gt; %s 2&gt;&amp;1<br>get_flag<br>/root/src/spatch.c<br>HOME=/root<br>3[CIPHER BACKDOOR] Failed to create /proc entry<br>6[CIPHER BACKDOOR] Module loaded. Write data to /proc/%s<br>6[CIPHER BACKDOOR] Module unloaded.<br>3[CIPHER BACKDOOR] Failed to read output file<br>6[CIPHER BACKDOOR] Command Output: %s<br>3[CIPHER BACKDOOR] No output captured.<br>6[CIPHER BACKDOOR] Executing command: %s<br>3[CIPHER BACKDOOR] Failed to setup usermode helper.<br>6[CIPHER BACKDOOR] Format: echo &quot;COMMAND&quot; &gt; /proc/cipher_bd<br>6[CIPHER BACKDOOR] Try: echo &quot;%s&quot; &gt; /proc/cipher_bd<br>6[CIPHER BACKDOOR] Here&#39;s the secret: 544-HEX-REDACTED-FOR-WRITEUP<br>PATH=/sbin:/bin:/usr/sbin:/usr/bin</pre><p>This seems to be exactly what we are looking for, the <strong>Cipher Backdoor. The </strong>last line of that<strong> [CIPHER BACKDOOR] </strong>looks interesting, by decoding that, we find the flag.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/767/1*2hPscYvCufIdo-ws8PLQfg.png" /></figure><p>If you liked this and want to see more, consider following me here on medium or visiting my site:<br><a href="https://atomiczsec.net">https://atomiczsec.net</a></p><p>and don’t forget to check out <a href="https://tryhackme.com/room/hfb1sneakypatch">https://tryhackme.com/room/hfb1sneakypatch</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=b77e8ce5df3a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[One Bug at a Time: Patent Pirating using IDOR | RE’ing US Patent and Trademark Office for fun]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@atomiczsec/one-bug-at-a-time-patent-pirating-using-idor-reing-us-patent-and-trademark-office-for-fun-813f6c389e44?source=rss-3c3ca3e6fe3f------2"><img src="https://cdn-images-1.medium.com/max/1792/1*IEW_vnRe-MRnXFsr4freXA.jpeg" width="1792"></a></p><p class="medium-feed-snippet">Hello readers! Today I will be going into a fun story on how I used an IDOR within the US Patent and Trademark Office for fun with a&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/@atomiczsec/one-bug-at-a-time-patent-pirating-using-idor-reing-us-patent-and-trademark-office-for-fun-813f6c389e44?source=rss-3c3ca3e6fe3f------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@atomiczsec/one-bug-at-a-time-patent-pirating-using-idor-reing-us-patent-and-trademark-office-for-fun-813f6c389e44?source=rss-3c3ca3e6fe3f------2</link>
            <guid isPermaLink="false">https://medium.com/p/813f6c389e44</guid>
            <category><![CDATA[government]]></category>
            <category><![CDATA[infosec]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <dc:creator><![CDATA[Gavin K]]></dc:creator>
            <pubDate>Wed, 25 Oct 2023 18:17:37 GMT</pubDate>
            <atom:updated>2023-10-25T18:17:37.375Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[One Bug at a Time: Admin Panel Access | I’m now an Employee!]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@atomiczsec/one-bug-at-a-time-admin-panel-access-im-now-an-employee-7f4c03537950?source=rss-3c3ca3e6fe3f------2"><img src="https://cdn-images-1.medium.com/max/1024/0*oh1v0WAxaupw2iZ-" width="1024"></a></p><p class="medium-feed-snippet">Welcome back readers! Today, I will be sharing a story on a private program where I was able to get into an admin panel and manage the&#x2026;</p><p class="medium-feed-link"><a href="https://medium.com/@atomiczsec/one-bug-at-a-time-admin-panel-access-im-now-an-employee-7f4c03537950?source=rss-3c3ca3e6fe3f------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@atomiczsec/one-bug-at-a-time-admin-panel-access-im-now-an-employee-7f4c03537950?source=rss-3c3ca3e6fe3f------2</link>
            <guid isPermaLink="false">https://medium.com/p/7f4c03537950</guid>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[writeup]]></category>
            <category><![CDATA[bug-bounty-tips]]></category>
            <category><![CDATA[infosec]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <dc:creator><![CDATA[Gavin K]]></dc:creator>
            <pubDate>Tue, 03 Oct 2023 19:25:01 GMT</pubDate>
            <atom:updated>2023-10-03T19:25:01.097Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[One Bug at a Time: $1,500 worth of XSS]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@atomiczsec/one-bug-at-a-time-1-500-worth-of-xss-33455b384b8a?source=rss-3c3ca3e6fe3f------2"><img src="https://cdn-images-1.medium.com/max/1024/0*_oZ7oXaI_wGj9z_e.png" width="1024"></a></p><p class="medium-feed-snippet">Welcome back people! Today we will be digging into how to find XSS that others are not finding.</p><p class="medium-feed-link"><a href="https://medium.com/@atomiczsec/one-bug-at-a-time-1-500-worth-of-xss-33455b384b8a?source=rss-3c3ca3e6fe3f------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@atomiczsec/one-bug-at-a-time-1-500-worth-of-xss-33455b384b8a?source=rss-3c3ca3e6fe3f------2</link>
            <guid isPermaLink="false">https://medium.com/p/33455b384b8a</guid>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[bug-bounty-tips]]></category>
            <dc:creator><![CDATA[Gavin K]]></dc:creator>
            <pubDate>Wed, 20 Sep 2023 18:35:12 GMT</pubDate>
            <atom:updated>2023-09-20T18:35:12.388Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[One Bug at a Time: In depth analysis of business logic vulnerabilities]]></title>
            <link>https://medium.com/@atomiczsec/one-bug-at-a-time-in-depth-analysis-of-business-logic-vulnerabilities-8e3814040f24?source=rss-3c3ca3e6fe3f------2</link>
            <guid isPermaLink="false">https://medium.com/p/8e3814040f24</guid>
            <dc:creator><![CDATA[Gavin K]]></dc:creator>
            <pubDate>Wed, 16 Aug 2023 14:00:57 GMT</pubDate>
            <atom:updated>2023-08-16T14:00:57.059Z</atom:updated>
            <content:encoded><![CDATA[<p>Welcome back! Today I will be writing about a couple of my business logic vulnerabilities that I have found in public and private programs.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/1*bx3wufPrhS1cZH0Fic8vOA@2x.jpeg" /></figure><p>These are one of my favorite bugs to hunt for because it requires a different type of thinking. Plus it’s all manual so there is a little less chance of duplicates.</p><p><strong>First Bug: Request Manipulation leads to infinite amount of money on trading simulator</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/948/1*ud_ZVdjzwcH21INsVeScQg.png" /></figure><p>Introduction: Trading simulators offer a safe platform to learn about cryptocurrency markets without real financial risks. However, vulnerabilities can be exploited for unauthorized gains. This article discusses a significant bug in a trading simulator that allowed users to generate limitless money through a logic error.</p><p>The Bug: Exploiting Negative Trading, Within the trading simulator’s trade function, a flaw enabled users to manipulate trading requests. By purchasing “negative” amounts of cryptocurrency using a tool like Burp Suite, users could trick the system into adding funds to their cash wallet.</p><p>Exploitation Process: Burp Suite was used to intercept and alter the trading requests, changing the intended purchase amount to a negative value. The system’s flawed logic failed to account for this, resulting in unauthorized wealth generation. I did this through changing the purchase order from 5000 to -5000</p><p>Impact:<br>Unauthorized Funds Gain: The attacker can exploit the ability to buy “negative” amounts of cryptocurrencies, essentially receiving money back into their cash wallet. This unauthorized funds gain can lead to financial losses for the crypto exchange, as well as undermine the integrity of the market simulator.</p><p>Market Manipulation: By injecting fake trades with negative quantities, the attacker can manipulate the market simulation, distorting prices, and misleading other users. This can create a false sense of market activity and affect legitimate traders’ decisions.</p><p>Financial Losses for Legitimate Users: The presence of an attacker engaging in negative trades could potentially impact other legitimate users’ trades. It may lead to unexpected price movements, liquidity issues, or failed trades, resulting in financial losses for innocent participants.</p><p>Reputation Damage: The existence of such a vulnerability in a crypto exchange simulator can significantly damage the platform’s reputation and trust among its users. Security flaws in financial systems, even if limited to a simulation environment, raise concerns about the overall security and reliability of the platform.</p><p>Regulatory and Legal Implications: If the crypto exchange market simulator is being used for training or demonstration purposes within a regulated financial environment, the presence of this vulnerability may raise regulatory compliance issues. Such issues could result in legal consequences for the organization operating the simulator.</p><p>Loss of User Confidence: Users who are testing the crypto exchange simulator for learning or training purposes might lose confidence in the platform’s reliability and data accuracy, affecting its educational value.</p><p>Tips to test for this bug:</p><ol><li><strong>Input Validation and Boundary Testing:</strong> Similar to the described bug, always test input fields for unexpected inputs. Manipulating inputs beyond the expected boundaries, such as negative values or excessive values, can reveal vulnerabilities.</li><li><strong>Use Tools like Burp Suite:</strong> Tools like Burp Suite are invaluable for intercepting and modifying requests. By altering requests and observing how the application responds, you can identify potential vulnerabilities like the one described.</li><li><strong>Logic Errors:</strong> Look for logic errors in the application flow. Consider scenarios that the developers might not have anticipated, like buying negative quantities in this case. Exploiting overlooked logic can lead to unauthorized gains.</li><li><strong>Simulator Environments:</strong> In simulated environments, developers might not prioritize security as much as in production environments. Exploit this by checking if flaws in the simulator exist due to relaxed security measures.</li><li><strong>Impact Assessment:</strong> Analyze the potential consequences of discovered vulnerabilities. Consider how they could be exploited beyond just immediate financial gain. This could include market manipulation, data integrity, and potential harm to legitimate users.</li><li><strong>Market Manipulation:</strong> Be aware of how vulnerabilities could manipulate the intended behavior of the platform. This can distort prices, create false market trends, and mislead users.</li><li><strong>User Interaction:</strong> Analyze how different users’ actions might interact with one another and how vulnerabilities could impact user experiences. This includes considering interactions between malicious and legitimate users.</li><li><strong>Reputation and Trust:</strong> Think about how vulnerabilities, even in non-real environments, can impact user trust and reputation. Consider how these issues might be perceived by users, even if they don’t result in real financial losses.</li><li><strong>Regulatory and Legal Implications:</strong> If the platform is related to a regulated industry, be aware of the potential regulatory and legal consequences of discovered vulnerabilities. This can add another layer of seriousness to the situation.</li><li><strong>User Education:</strong> If the platform is used for educational purposes, vulnerabilities can impact the learning experience. Explore how vulnerabilities might affect users’ confidence in the platform’s educational value.</li><li><strong>Third-Party Components:</strong> Investigate any third-party components or libraries used in the platform. These can sometimes introduce vulnerabilities that attackers can exploit.</li><li><strong>Continuous Testing:</strong> Just as developers need to continuously update and maintain applications, security testers should continuously explore for new vulnerabilities, as new features and changes can introduce new attack vectors.</li></ol><p><strong>Second Bug: Race Condition Leads to infinite enterprise seats bypassing pricing model</strong></p><p>The bug identified is a race condition vulnerability in the “Invite Collaborators” feature of the bug bounty platform. By exploiting this vulnerability, an attacker can bypass the seat limit of a pro license and invite an unlimited number of users to their project, gaining enterprise-level access without paying for it. This can lead to unauthorized access to resources and privileges, potentially compromising the integrity and security of the platform.</p><p>Exploitation:<br>I used the race condition vulnerability to rapidly send multiple requests to the “Invite Collaborators” feature. This manipulates the system’s response time, allowing the attacker to invite collaborators beyond the intended seat limit before the system can properly enforce restrictions.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/656/1*J3TP-1hrI0Wx7IVoqh26PA.png" /></figure><h3>Impact:</h3><p>Unauthorized Enterprise Access: Attackers can exploit this flaw to access enterprise-level privileges without the necessary payment or authorization. This not only devalues the premium pricing model but also jeopardizes the platform’s integrity by allowing unauthorized users to benefit from premium features.</p><p>Financial Losses: By bypassing the pricing model, attackers can avoid paying for higher-tier licenses. This results in direct financial losses for the platform, undermining its sustainability and ability to provide quality services.</p><p>User Management Disruption: Legitimate users might face confusion as unauthorized users occupy available seats, impacting their collaborative efforts and diminishing the platform’s functionality.</p><p>Security Compromises: Unrestricted access granted through this vulnerability may compromise the security of sensitive resources and data shared within projects. The integrity of the platform is at stake as unauthorized access can lead to data breaches and exposure.</p><p>Trust Erosion: The presence of such a vulnerability erodes user trust. Clients expect that access tiers are maintained to ensure fair pricing and resource allocation. Discovering that these boundaries can be manipulated damages the platform’s reputation.</p><p>Mitigation and Prevention: Bug bounty platforms must prioritize security by conducting comprehensive testing and implementing rigorous access controls. Regular vulnerability assessments and code reviews can identify and rectify such flaws before they are exploited.</p><p><strong>Tips to find this bug:</strong></p><p>1. <strong>Understand Race Conditions:</strong> Develop a solid understanding of what race conditions are and how they can occur. A race condition happens when multiple processes or threads compete to access shared resources, potentially leading to unexpected behavior.</p><p><strong>2. Identify Critical User Actions:</strong> Focus on user actions that involve multiple steps or transactions, especially those that might involve simultaneous interactions with the system. In this case, the “Invite Collaborators” feature triggered a race condition.</p><p><strong>3. Concurrency Testing:</strong> Use tools or techniques that allow you to simulate concurrent interactions. You can run multiple instances of an action simultaneously to see if they interfere with each other and lead to unintended outcomes.</p><p><strong>Third Bug:</strong> User Impersonation Vulnerability in Retention Request Form</p><p>The Retention Request Form on this program allows users to submit a request for items in your department would like to retain on the website. However, there is a vulnerability in the form that allows an attacker to impersonate another user and submit this request on their behalf. The vulnerability is due to a lack of validation and authentication checks on the form inputs. Furthermore, there is no rate limiting on the number of submissions that can be made from a single IP address. This means that an attacker can send a number of messages acting like different emails to convey a message or frame users.</p><p>Impact: <br>An attacker can use this vulnerability to impersonate any staff or faculty member of the website and submit a request on their behalf. This could lead to reputational damage for the impersonated individual and potentially compromise the security of the website. An attacker could also use this vulnerability to gather sensitive information by tricking users into submitting feedback containing confidential data. In addition, the lack of rate limiting allows an attacker to submit a large number of Retentions from different emails and with different messages, potentially overwhelming the system and causing a denial-of-service (DoS) attack. This can impact the availability and performance of the website and disrupt normal operations.</p><p>Tips to find this:</p><ul><li><strong>Test Different Inputs:</strong> Experiment with different types of inputs. Try submitting requests with fake email addresses, attempting to impersonate other users. Test if you can inject malicious content into the form fields.</li><li><strong>Use Tools:</strong> Utilize web security tools like Burp Suite, OWASP ZAP, or similar tools to intercept and inspect the requests being made. These tools can help you understand the data being sent and received by the form.</li><li><strong>Inspect Server-Side Processing:</strong> Examine the server-side code that processes form submissions. Check whether the submitted data is being properly validated and authenticated. Look for any potential vulnerabilities or weaknesses in this part of the code.</li><li><strong>Check for Authentication Flaws:</strong> Verify if the form properly enforces user authentication before allowing submission. Ensure that only authorized users are allowed to submit requests on behalf of others.</li><li><strong>Implement Proper Validation:</strong> Enhance the form’s input validation to ensure that only legitimate data is accepted. Validate email addresses, limit the input length, and sanitize input to prevent potential injection attacks.</li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=8e3814040f24" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[One Bug at a Time: In depth analysis of 3 IDOR bugs]]></title>
            <link>https://medium.com/@atomiczsec/one-bug-at-a-time-in-depth-analysis-of-3-idor-bugs-2fb016e21b96?source=rss-3c3ca3e6fe3f------2</link>
            <guid isPermaLink="false">https://medium.com/p/2fb016e21b96</guid>
            <category><![CDATA[bug-bounty-hunter]]></category>
            <category><![CDATA[bugbounty-writeup]]></category>
            <category><![CDATA[bug-bounty-tips]]></category>
            <category><![CDATA[bug-bounty-writeup]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <dc:creator><![CDATA[Gavin K]]></dc:creator>
            <pubDate>Sun, 23 Jul 2023 00:47:33 GMT</pubDate>
            <atom:updated>2023-07-26T18:03:53.799Z</atom:updated>
            <content:encoded><![CDATA[<p>Hello everyone! Thank you for taking the time to read this blog. I will be going in depth on some bugs I have found recently. I will have to blur out a lot of information for company protection purposes but you will be able to grasp the methods from what I show.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/512/1*EmoDt0NdHKPdYkY9PCSXRA@2x.jpeg" /></figure><p>Bug Number One:<br>IDOR leading to disclosure of location of any team</p><p>I was hunting on a program on hackerone and I was spidering through their application. For this, I click on every function through the app. I click every single button, and try every single feature it has to offer. Sometimes I will go to the extent of buying the premium version just to get access to more functionality.</p><p>I came across this one endpoint: /forecasts/ which allowed you to get the forecast of your teams weather so you know when to have practice or meet. I then looked at the full request in my burp history and saw the full endpoint: “api.redacted.com/forecasts/search?team_id=123” I looked at what type of data I am getting back from the program and the response was showing [State, City, County, Longitude , Latitude ] of the team! Next thing in mind was for me to change the team id. I changed the ID and BOOM! I got a new location with all of this information. An attacker could enumerate a team by its name and exact location.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/877/1*DmVrqi13S5L7EBKfT2AX5w.png" /><figcaption>Proof Of Concept</figcaption></figure><p>Bug Number Two: IDOR leading to viewing messages of any user</p><p>Stumbling Upon the POST Request<br> While sifting through the Burp Suite’s HTTP history, I noticed an intriguing POST request — /Messages/MostRecent. My curiosity piqued as I realized this could be a significant entry point into the companies messaging system.</p><p>Analyzing the Payload:</p><p>Delving deeper into the POST request, I examined the request payload and identified a critical parameter called “userId.” It seemed that this parameter dictated whose recent messages were fetched by the application.</p><p>Testing with My Own User ID</p><p>I decided to start with my own user ID and crafted a POST request with the payload containing my ID. To my confirmation, the calculator responded by displaying my most recent messages.</p><pre>POST /Messages/MostRecent HTTP/2<br>Host: www.redacted.com<br>Content-Length: 94<br><br>{&quot;userId&quot;:57231173,&quot;count&quot;:18,&quot;freeStepsTrialTest&quot;:{&quot;cvid&quot;:null,&quot;type&quot;:0}}</pre><p>The Vulnerability Unveiled</p><p>With growing concern, I realized that if I could access my messages this way, there was a possibility that other users’ private conversations could be exposed too. The vulnerability of an Insecure Direct Object Reference (IDOR) loomed before me.</p><p>Tampering with the “userId” Parameter</p><p>To validate my suspicions, I devised a plan to tamper with the “userId” parameter in the POST request’s payload. Changing the value to a random user ID, I executed the request again. To my dismay, the application obediently returned private messages that did not belong to me.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/968/1*Msq7ovbXUtgyJQgdESboQQ.png" /></figure><p>Bug Number Three: Information Disclosure with IDOR</p><p>This IDOR was the quickest IDOR I have ever found. I was hunting on a private programming with one of my friends and we were exploring the application. I once again was checking all of the requests through my burp history and found the endpoint:</p><pre>/v2/groups/ID-HERE</pre><p>I noticed the ID as usual and change the ID to see what would happen. This bug lead to me being able to get the following information for random teams:</p><p>The data returned includes the full names, phone numbers, and amount of users subscribed to the group, among other sensitive information.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*TFeoJCj8GM9tTb9AUjGjkg.png" /></figure><ol><li><strong>Deep Dive into HTTP History</strong>: When hunting for Insecure Direct Object References (IDORs), always take the time to thoroughly inspect the HTTP history within Burp Suite or any other interception proxy. Frequently, you’ll stumble upon undiscovered endpoints with sensitive functionalities or data that can lead to significant vulnerabilities.</li><li><strong>Parameter Manipulation Testing</strong>: Don’t limit yourself to testing only the most obvious parameters for IDOR vulnerabilities. Go beyond the standard parameters and explore different combinations, custom headers, cookies, or even URL variations. Sometimes, a simple tweak in these elements can expose critical IDOR flaws.</li><li><strong>Contextual Assessment for Impact</strong>: Understand the potential impact of an IDOR beyond the immediate vulnerable endpoint. Consider how the information obtained can be leveraged to attack other parts of the application or the system. For instance, if you can access user data, can you escalate privileges or compromise other accounts?</li><li><strong>Bypassing Access Controls</strong>: Investigate whether there are any access controls in place for sensitive resources. Often, IDOR vulnerabilities can be mitigated by proper access control mechanisms. Attempt to bypass these controls to ensure they are robust and effectively protect against unauthorized access.</li><li><strong>Comparative Analysis</strong>: When you discover an IDOR in one part of the application, check if there are similar functionalities or endpoints that handle similar data. These might be susceptible to the same vulnerability. Look for patterns and commonalities in how the application handles object references.</li><li><strong>Parameter Whitelisting</strong>: Some applications use parameter whitelisting to restrict user access to specific resources. Look for patterns in the allowed values for parameters and test whether you can manipulate these values to access unauthorized resources.</li><li><strong>Enumerate and Exploit User Roles</strong>: If the application employs role-based access control, systematically test each user role to identify potential IDORs. Different roles might have varying access privileges, so enumerate all possible roles and test them individually.</li><li><strong>Horizontal and Vertical IDORs</strong>: Distinguish between horizontal and vertical IDORs. Horizontal IDORs involve accessing the same type of resources belonging to other users (e.g., accessing another user’s profile). Vertical IDORs entail escalating privileges to access higher-level resources (e.g., administrative accounts). Both types can coexist, so check for both.</li><li><strong>Context-Specific Testing</strong>: Tailor your testing approach based on the application’s specific functionalities and requirements. Different applications handle data and resources differently, so adapt your testing methods accordingly to improve the chances of discovering IDOR vulnerabilities.</li><li><strong>Limiting Scope</strong>: While IDOR testing should be thorough, it’s essential to stay within the scope defined by the program or the project. Avoid testing resources that are clearly out of scope, as it may violate the rules and negatively impact your reputation as a security researcher.</li><li><strong>Document and Report Clearly</strong>: When you find an IDOR, document the steps to reproduce the vulnerability thoroughly. Provide a clear and concise report to the development team or the organization, including the potential impact and possible remediation steps. A well-documented report increases the likelihood of a swift and effective fix.</li></ol><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2fb016e21b96" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[One Bug at a Time: Last 15 days of #30daysofbugbounty]]></title>
            <link>https://medium.com/@atomiczsec/one-bug-at-a-time-last-15-days-of-30daysofbugbounty-e6f59cb8b621?source=rss-3c3ca3e6fe3f------2</link>
            <guid isPermaLink="false">https://medium.com/p/e6f59cb8b621</guid>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[money]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <dc:creator><![CDATA[Gavin K]]></dc:creator>
            <pubDate>Sun, 18 Jun 2023 00:00:50 GMT</pubDate>
            <atom:updated>2023-06-18T00:00:50.149Z</atom:updated>
            <content:encoded><![CDATA[<p>Sorry for the wait! Here is the rest of my 15 days of the #30daysofbugbounty challenge.</p><figure><img alt="https://www.harvardmagazine.com/sites/default/files/styles/4x3_main/public/img/article/0223/hm_ma23_art_page_04_image_0007.jpg" src="https://cdn-images-1.medium.com/max/632/0*DVYs3Bcc3rNWSxhA.jpg" /></figure><p>Here are the stats that I will be breaking down for my last 15:</p><p><strong>Total Hours Spent: 20.95 hours</strong></p><p><strong>Total Bugs Reported: 26</strong></p><p><strong>Triaged &amp; Resolved : 4<br>Duplicate Bugs: 6<br>Paid: 4 <br>Informative: 13</strong></p><p>Several bugs have been discovered across a diverse range of platforms and websites, encompassing a wide array of vulnerabilities. These include impersonation vulnerabilities in various forms. Additionally, CSRF attacks and information exposure vulnerabilities have been identified. Other bug types that were found include default admin credential misuse, enumeration vulnerabilities, XSS vulnerabilities, and instances where users were able to pass courses without completing them. These bug discoveries have played a crucial role in improving security measures and reinforcing the importance of bug bounty programs. Like I have said previously, the rewards for finding and reporting these bugs were significantly higher than what I could have earned from any job at my current age.</p><p><strong>Here are some tips to aid in finding bugs:</strong></p><ol><li>Utilize Shodan: Shodan is a search engine for Internet-connected devices. By using Shodan, you can identify hidden services and potential entry points that may contain vulnerabilities.</li><li>Explore Non-Public Workflows: Pay attention to workflows or processes that are not publicly advertised. These hidden areas may have overlooked security flaws that can be exploited. Try to navigate through different steps and inputs to identify any potential vulnerabilities.</li><li>Analyze API Requests: Examine API requests thoroughly. Check the parameters, IDs, and email inputs for potential vulnerabilities. Test different payloads and inputs to ensure the system handles them securely and does not expose any sensitive information.</li><li>Practice Comprehensive Testing: Leave no stone unturned and test every possible entry point or interaction within the system. This includes form inputs, file uploads, user authentication, and any other user-driven actions. The goal is to identify potential vulnerabilities across the entire application or platform.</li><li>Employ a Methodical Approach: Systematically go through different components and features, keeping a detailed record of your findings. This helps in identifying patterns, common vulnerabilities, and potential attack vectors.</li></ol><p><strong>Summary</strong></p><p>Over the course of my 30-day bug hunting journey, I have gained valuable experience and learned a great deal. Throughout this period, I dedicated myself to improving my skills and exploring various platforms and websites for vulnerabilities. It was an enlightening experience, and I am pleased to note that I have seen progress in terms of my accuracy in identifying bugs. However, it’s important to acknowledge that I am still young and have much to learn. I recognize that mistakes are an inherent part of the learning process, and I am committed to continually enhancing my knowledge and refining my bug hunting techniques.</p><p>Happy Hunting!!!</p><p>— atomiczsec : )</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e6f59cb8b621" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[One Bug at a Time: First 15 days of #30daysofbugbounty]]></title>
            <link>https://medium.com/@atomiczsec/one-bug-at-a-time-first-15-days-of-30daysofbugbounty-1ebef80d482a?source=rss-3c3ca3e6fe3f------2</link>
            <guid isPermaLink="false">https://medium.com/p/1ebef80d482a</guid>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[bugbounty-writeup]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[bugbounty-tips]]></category>
            <dc:creator><![CDATA[Gavin K]]></dc:creator>
            <pubDate>Fri, 26 May 2023 15:32:58 GMT</pubDate>
            <atom:updated>2023-05-26T15:32:58.403Z</atom:updated>
            <content:encoded><![CDATA[<p>Before we start, thank you for coming here and reading this blog!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_V9525yjazyOEba6rpNRrw.png" /></figure><p>Now lets get started with my first 15 days of the #30daysofbugbounty challenge. I got the idea from:</p><figure><img alt="https://twitter.com/_mrd7_/status/1635500485506629632?s=20" src="https://cdn-images-1.medium.com/max/575/1*EI70raTydVabAqHf7ZgMbA.png" /><figcaption>Idea for 30 days of bug bounty</figcaption></figure><p>Here are the stats that I will be breaking down for my first 15:</p><p><strong>Total Hours Spent: 22.84 hours</strong></p><p><strong>Total Bugs Found: 15</strong></p><p><strong>Triaged : 4<br>Paid: 2 (Still waiting for other bounties)</strong></p><p><strong>Informative: 9</strong></p><p><strong>Duplicate Bugs: 2</strong></p><p>Several bug reports were marked as informative based on specific program specifications. The reports include issues such as broken link hijacking with a Facebook account, low-level user access to admin-only features, information disclosure vulnerability due to improper access control, leakage of name and email of organization users in, access to internal documents, low-level user access to admin-only information, confidential information exposed in a PDF, and access to confidential information in another PDF. The severity levels vary from high to medium and low, while some reports did not specify any severity.</p><p>With just those 2 bounties paid, I made more hourly than I do at any job I can get at my age.</p><p>There aren’t much technical details about the bugs I have found but I can describe some methodologies to look for these types of bugs:</p><p><strong>Broken Link Hijacking:</strong></p><ol><li>Identify the target: Choose a website or web application that includes links to unclaimed social media accounts. These are typically links pointing to social media profiles that haven’t been claimed or associated with any specific user or organization.</li><li>Explore unclaimed social media profiles: Visit the unclaimed social media profiles mentioned on the target website. Check if these profiles are associated with any vulnerabilities or misconfiguration that could be exploited.</li><li>Analyze the profile URLs: Examine the URLs of the unclaimed social media profiles. Look for patterns or parameters that indicate the profile’s uniqueness or identify a specific user or organization.</li><li>Attempt account claiming: Try to claim the unclaimed social media profiles by following the account recovery or verification processes provided by the respective social media platforms. This may involve providing ownership proof or completing any required steps to prove control over the profile.</li><li>Monitor for successful claiming: If you successfully claim an unclaimed social media profile, document the steps taken and any relevant information regarding the vulnerability.</li><li>Document and report findings: Compile a report detailing the broken link hijacking vulnerability, including the affected URLs, the process followed to claim the unclaimed profiles, and the potential impact of this vulnerability. Submit the report to the website or web application owner, following responsible disclosure guidelines.</li></ol><p><strong>Internal Documents:</strong></p><p>1. Understand the target: Identify the website or web application where you suspect information disclosure vulnerabilities may exist. These vulnerabilities typically involve sensitive internal documents being accessible to unauthorized users.<br><br>2. Define site-specific dorks: Craft specific search queries, known as dorks, tailored to the target website or web application. These dorks will help you narrow down the search results to pages or documents that are potentially sensitive or internal in nature.<br><br>3. Utilize Google Dorking: Use search engines like Google and leverage advanced operators to perform site-specific searches. Combine relevant keywords, file types, and other search operators with the site operator to restrict results to the target website.<br><br>4. Analyze search results: Examine the search results obtained from the site-specific dorks. Look for URLs that point to internal document repositories or directories. Pay attention to file extensions like .doc, .pdf, .xls, .ppt, or any other formats that indicate potentially sensitive documents.<br><br>5. Access and review the documents: Access the URLs of the discovered documents and review their contents. Look for sensitive information such as confidential reports, financial data, employee records, customer information, or any other information that should not be publicly accessible.<br><br>6. Document and report findings: Capture screenshots or record any relevant details about the identified information disclosure vulnerabilities. Compile a report that includes the URLs of the exposed documents, the nature of the vulnerability, and any other pertinent information.</p><p>These methodologies have helped me find a good amount of bugs that are typically low but will still pay out : )</p><p>In later blogs, I will be going into detail about some of more specific parts of the bugs!</p><p>Thanks for reading ❤</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=1ebef80d482a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[One Bug at a Time: My First Paid Bug ($1,000 IDOR)]]></title>
            <link>https://medium.com/@atomiczsec/one-bug-at-a-time-my-first-paid-bug-1-000-idor-4b89b63b2b4b?source=rss-3c3ca3e6fe3f------2</link>
            <guid isPermaLink="false">https://medium.com/p/4b89b63b2b4b</guid>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[bug-bounty-tips]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <dc:creator><![CDATA[Gavin K]]></dc:creator>
            <pubDate>Thu, 11 May 2023 21:07:13 GMT</pubDate>
            <atom:updated>2023-05-11T21:07:13.549Z</atom:updated>
            <content:encoded><![CDATA[<h3>One Bug at a Time: I failed my quiz on purpose to get $1,000!</h3><p>Hello all! Glad to see you back : ) Today I will be writing about my first paid bug, it has a funny story line so read along!</p><p>Here is the art for today’s story by <a href="https://twitter.com/rez0__/">rez0</a> : )</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*8JfHDrXpMSwLNBNZ6EVr3g.jpeg" /></figure><p><strong>So lets start with how I found this IDOR</strong></p><ol><li><strong>Setup: </strong>I was in English class on my laptop which is not my main hacking device. I was peeking around on burp suite, waiting for class to start and decided to look at this specific company.</li><li><strong>Recon:</strong> I first started with the scope of *.redacted.com, I did not know a lot about subdomain recon and what not which doesn&#39;t matter in this case. Also, In general most of the bugs I have found on platforms has been on the main application so don&#39;t forget to check that : ) I started browsing through every endpoint on the site, but there wasn&#39;t a lot of functionality I was seeing. Once I have browsed every possible link on the site I moved on to the second step.</li><li><strong>Analyze: </strong>Once I had all of those endpoints, I started looking through my burp suite site map which looked something like this:</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/263/1*Opp5GsnTIM1GVb3-AFEUFA.jpeg" /></figure><p>After looking through a couple of these folders I saw a weird lonely endpoint. The endpoints name was “/opt-out/”. I went to check the request in burp but nothing rendered so I visited the URL in my browser. I then came with a page that looked like an older version of the website that let me enter an email to “Opt-Out” of their mailing lists and what not. This is normal functionality, but I wanted to see what happens when I submit an email. <strong>At this point my teacher said “we have a quiz today guys!” but I knew I found something interesting, so I decided to fail my quiz on purpose and fill in random answers so I could keep hacking.</strong></p><p><strong>4. Exploit: </strong>Once submitted, I got redirected to a new subdomain which looked extremely old, this peaked my interest for multiple reasons:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*jeEgGPHa2YFLKsakMmwncA.png" /></figure><p>The new subdomain was something like: http://link.XXX-XXX.redacted.com/manage/optout/. When I entered in an email I got this page asking to “Opt Back In” or “Do Not Email”. I then looked at the URL and saw ?profile_id=54613e813b35d0f1328c4533 ….. OK, we are getting somewhere ;) Now I go to change the id by 1 digit to ?profile_id=54613e813b35d0f1328c4534 and BOOM! A new email pops up. Perfect, I can now Opt-Out any user on this platform which includes password reset requests. I can also enumerate emails on this huge platform.</p><p><strong>5. Report: </strong>My report included all of the details above and at the time, I wasn&#39;t the best at writing reports but it did the job. I included the steps to get to this endpoint, 2 screenshots of different emails, and an entire video of each step.</p><p>Here is a timeline for reference:</p><ul><li><strong>Reported: 2021–10–28</strong></li><li><strong>Internal Discussion: 2021–11–02 20:24</strong></li><li><strong>Triaged &amp; Bounty: 2021–12–03 13:30</strong></li><li><strong>Resolved: 2022–02–09</strong></li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*how3KEENswr0b2ceC6OhWQ.png" /></figure><p><strong>6. Conclusion: </strong>I made $1,000 in class but consequently failed my quiz. In my opinion, it was worth it! Stay in school but maybe…. hack in school :)</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4b89b63b2b4b" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>