<?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: Jocelyn (she/her)</title>
    <description>The latest articles on DEV Community by Jocelyn (she/her) (@noodulz).</description>
    <link>https://dev.to/noodulz</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%2F480687%2F942ac86f-8c8b-422d-9578-464ea6b8a495.png</url>
      <title>DEV Community: Jocelyn (she/her)</title>
      <link>https://dev.to/noodulz</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/noodulz"/>
    <language>en</language>
    <item>
      <title>Hacktoberfest 2020: PRs and Game Dev Galore</title>
      <dc:creator>Jocelyn (she/her)</dc:creator>
      <pubDate>Sun, 01 Nov 2020 05:50:38 +0000</pubDate>
      <link>https://dev.to/noodulz/hacktoberfest-2020-prs-and-game-dev-galore-m7n</link>
      <guid>https://dev.to/noodulz/hacktoberfest-2020-prs-and-game-dev-galore-m7n</guid>
      <description>&lt;p&gt;This past Hacktoberfest, I had a lot more planned than I could pack in a punch. I took on two game jams (one of which is still ongoing), planned out some emulator projects, and made four pull requests on some fixes to my own repos and projects. Furthermore, I recently published my first ever game (and in CHIP-8!) and made a CLI music and movie recommending app as a part of ShellHacks Miami!&lt;/p&gt;

&lt;p&gt;Before then, I had barely considered regularly making pull requests, nor had I thought of the significance of PRs and how much they mean to open source. But thanks to this grand opportunity by Digital Ocean, I come out of this Hacktoberfest much more learned and with thoughts. &lt;/p&gt;

&lt;h1&gt;
  
  
  Improvements through PRs
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--J2MrxYYo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9yygndlib144r1s3aee7.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--J2MrxYYo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/9yygndlib144r1s3aee7.gif" alt="alt"&gt;&lt;/a&gt;&lt;br&gt;
For my first pull request, I added some more... life, to spicy Asian mom bot. Aside from some slight refactoring and restructuring, I made a request for mom bot more "friendlier", and as a result, I definitely got back some positive feedback from those who requested it. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--XoJsZ7Xe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jp265imsqgz13gqofrrt.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--XoJsZ7Xe--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/jp265imsqgz13gqofrrt.gif" alt=""&gt;&lt;/a&gt;&lt;br&gt;
In addition, in the beginning of this month, I participated in ShellHacks 2020 hosted by Florida International University, in which I ended up successfully demoing my first completed project! There's definitely plans to turn it into a mobile app using the Kivy framework in Python, but for now, it is simple (albeit requires some authentication). I made a few more PRs on it to refactor and restructure its code, as well as some linting. Read more on this project &lt;a href="https://github.com/Noodulz/savender"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  First solve at a CTF!
&lt;/h1&gt;

&lt;p&gt;I just remembered this but, after having competed in CTFs for about a year with the ever so talented Kernel Sanders at UF, I actually had my first breakthrough solve at DamCTF this year! &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Y_-8pb_9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tc4duq5v64ae9dh5ssxd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Y_-8pb_9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/tc4duq5v64ae9dh5ssxd.png" alt=""&gt;&lt;/a&gt;&lt;br&gt;
You can read my &lt;a href="https://dev.to/noodulz/damctf-2020-electric-bovine-writeup-aof"&gt;writeup on solving the Discord bot challenge here&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Open Source on Games??
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Lady Runner and CHIP-8 Programming
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--oAKDAZ9Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2xcq98yq2xgv9wo2m5pt.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--oAKDAZ9Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/2xcq98yq2xgv9wo2m5pt.gif" alt=""&gt;&lt;/a&gt;&lt;br&gt;
I stumbled upon OctoJam 7 while scouring &lt;a href="//itch.io"&gt;Itch.io&lt;/a&gt; for some fun game jams and ideas to participate in. Initially the aesthetics lured me in, but then the more I read up on the Octo language and project, the more I wanted to create a nostalgic game of my own! And after much much debugging and help from The Internet Janitor himself along with other seasoned devs, I successfully released my first (albeit short) &lt;a href="https://noodulz.itch.io/lady-runner"&gt;game&lt;/a&gt; on Itch (&lt;a href="https://github.com/Noodulz/lady-runner"&gt;and it's open sourced too!&lt;/a&gt;). &lt;a href="https://github.com/JohnEarnest/Octo"&gt;Octo&lt;/a&gt;, as I've found, is definitely fun and a great intro to what's to come for learning and working with Assembly. I'm definitely looking forward to participating in this jam next October.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--quJM-eOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qqlxy00mircswcepga8n.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--quJM-eOp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/qqlxy00mircswcepga8n.gif" alt="cart"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Light Letters
&lt;/h2&gt;

&lt;p&gt;As of right now, I'm currently active and running in Yuri Jam 2020 on Itch.io, and working on a VN-platformer hybrid game about two people trying to reach each other in a desolate cyberpunk world through a series of letters (and jazz music galore). Plans are to publish a two-level demo by the start of December (hopefully!). Currently I am using Godot Engine to develop this as well (yay open source!). &lt;/p&gt;

&lt;p&gt;There isn't much progress at the moment due to school and other projects, but! I managed to implement some of the basic mechanics through some placeholders. I have high hopes that this will turn into something more in a month's time. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--jkA62XoR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/oxn1ebemtzgtdx96e26c.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--jkA62XoR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/oxn1ebemtzgtdx96e26c.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Thoughts
&lt;/h1&gt;

&lt;p&gt;This has definitely been a hack-filled Hacktoberfest, as I planned it to be. I definitely have a lot more to do, and much to look forward to, but thank you again to Digital Ocean for giving me inspiration to work on publishing more towards open source on Github! I feel like I am definitely progressing more as a developer and hacker after all of this. &lt;/p&gt;

&lt;p&gt;For more on my projects and ongoing progress, visit my &lt;a href="https://github.com/Noodulz"&gt;Github here&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>hacktoberfest</category>
      <category>gamedev</category>
      <category>opensource</category>
      <category>github</category>
    </item>
    <item>
      <title>damctf 2020 - electric-bovine writeup</title>
      <dc:creator>Jocelyn (she/her)</dc:creator>
      <pubDate>Mon, 12 Oct 2020 00:53:11 +0000</pubDate>
      <link>https://dev.to/noodulz/damctf-2020-electric-bovine-writeup-aof</link>
      <guid>https://dev.to/noodulz/damctf-2020-electric-bovine-writeup-aof</guid>
      <description>&lt;p&gt;I'd just like to first say, as someone who's already built 2 Discord bots, this challenge really peaked my interest and was also about the only thing that tore me away from sleeping in the rest of this Saturday afternoon.&lt;/p&gt;

&lt;p&gt;So my first instinct in enumerating and exploring the internals was the source code itself. When skimming through, you can see here that upon joining the bot server, new members automatically get assigned with a basic role:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;role=client.guilds[0].get_role(763128055429595156)
awaitmember.add_roles(role)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;I played around with the commands listed in the help command. When scouring through the links with &lt;code&gt;!resource&lt;/code&gt;, all 4 videos happened to be cow-related memes on long hour loops, which lead me to thinking that the flag must have something to do with the &lt;code&gt;!cowsay&lt;/code&gt; command. &lt;/p&gt;

&lt;p&gt;However, upon triggering &lt;code&gt;!cowsay&lt;/code&gt;, the bot sent back a denial due to permissions. So I must've had to somehow add a certain role for me to be able to trigger &lt;code&gt;!cowsay&lt;/code&gt;. When looking at the &lt;code&gt;!cowsay&lt;/code&gt; function, I found that it checked the user's role IDs to see if it was equal to or larger than the specified ID the &lt;code&gt;!cowsay&lt;/code&gt; function was looking for:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;else:
      if message.author == client.user:
                return
      elif(client.guilds[0].get_member(message.author.id).guild_permissions &amp;gt;= client.guilds[0].get_role(763128087226351638).permissions):
                # accept, do cowsay.
                try:
                    arg = message.content.split("!cowsay ")[1]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;So I tried adding the role with &lt;code&gt;!role_add&lt;/code&gt;. However, I had to be in the server's channels to send that command. But when looking at the bot server, I was not allowed to send &lt;em&gt;any&lt;/em&gt; messages. Weird. &lt;/p&gt;

&lt;p&gt;Then after a while of looking, I finally noticed that &lt;code&gt;!send_msg&lt;/code&gt; could send anything to the #botspam channel that was hidden in the bot server. So I try injecting a command with &lt;code&gt;!send_msg !role_add @username &amp;lt;@!763128087226351638&amp;gt;&lt;/code&gt; and make a dent! However, I get this message back:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hmmm... Noodles wants to add role private. Interesting. . .
Denied role private to member Noodles. Gotta hack harder than that!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Darn it. Looking back at the first couple lines I thought the bot didn't parse all of the numbers in the ID so I'd tried padding it with extra repeats on both ends but, nada. &lt;/p&gt;

&lt;p&gt;Then eventually with some help from my other teammates, I'd tried experimenting with my nickname in the server and changing it to private, just like the role I tried to request. And boom! I get this back:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Hmmm... Noodles wants to add role private. Interesting. . .
Granted role private to member Noodles. Well Done!
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Interesting indeed...&lt;/p&gt;

&lt;p&gt;So now I could screw around with the cowsay command. However, when trying the obvious &lt;code&gt;!cowsay cat flag.txt&lt;/code&gt;, I get back an invalid character message. Turns out, in the source code, that no special characters were allowed nor even whitespaces. Darn. Obviously this was a command injection I had to complete with the &lt;code&gt;!cowsay&lt;/code&gt; command, so how else could I bypass this?&lt;/p&gt;

&lt;p&gt;Well! After testing out some other special characters like #, $, ;{}, and eventually &amp;lt;, I make yet another dent with &amp;lt;. When I send &amp;lt; to the &lt;code&gt;!cowsay&lt;/code&gt; command, the bot returns a blank, and not the typical cow output I'd expected. So &lt;code&gt;&amp;lt;&lt;/code&gt; must be something!&lt;/p&gt;

&lt;p&gt;Eventually I learn that I could filter through flag.txt to pipe it through and read, and boom, I finally get the flag with &lt;code&gt;!cowsay &amp;lt;flag&lt;/code&gt;, which outputted this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt; __________________________
&amp;lt; dam{discord_su_do_speen} &amp;gt;
 --------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Extremely fun challenge overall! I hope to play more interesting challs such as this in the future. Also much thanks to my teammates at Kernel Sanders. Really appreciate them. &lt;/p&gt;

</description>
      <category>security</category>
      <category>writeups</category>
      <category>ctf</category>
      <category>hacking</category>
    </item>
    <item>
      <title>How to Learn InfoSec and Hacking through Structured Levels</title>
      <dc:creator>Jocelyn (she/her)</dc:creator>
      <pubDate>Fri, 02 Oct 2020 23:47:03 +0000</pubDate>
      <link>https://dev.to/noodulz/how-to-learn-infosec-and-hacking-through-structured-levels-52jl</link>
      <guid>https://dev.to/noodulz/how-to-learn-infosec-and-hacking-through-structured-levels-52jl</guid>
      <description>&lt;p&gt;Lately I've spent this past summer aimlessly flipping through PDFs of guides on programming and exploitation as well as diving into (what is probably my 5th time) CS50 to revisit the basics and learn the foundation needed to break into this mysterious field. After watching countless videos and reading hundreds of articles every night, though, I find myself getting distracted and off track jumping from resource to resource and book to article, barely getting anywhere.&lt;/p&gt;

&lt;p&gt;So after all that time spent, here I'll lay out a structured guide of resources and websites to keep me on track to where I need to be to get to a point of understanding CTFs and overall application security better. Hopefully it may reach some of you guys who may also be bitterly prone to distractions and hopping from guide to guide.&lt;/p&gt;

&lt;h2&gt;
  
  
  Level 1
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Even if you're a seasoned hacker or expert in CS, or whether you're a fledgling beginner, there's no better way to start off learning the basics than with &lt;a href="https://www.edx.org/course/cs50s-introduction-to-computer-science" rel="noopener noreferrer"&gt;Harvard's CS50&lt;/a&gt;. 
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F6wh9gayjz3sg6x0o5rp8.jpg" alt="Alt Text"&gt;For the 2020 version at least, it'll get you deep into C programming, data structures and algorithms, concepts of memory and pointers (which is also great for understanding buffer overflows later on), Python, SQL, and application development. Basically the foundation of almost everything you'd learn in a 4-year Computer Science program.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://nostarch.com/hacking2.htm" rel="noopener noreferrer"&gt;Hacking: The Art of Exploitation&lt;/a&gt;, which is also a great guide in exploring C, Assembly, networking concepts, exploitation and more for a beginner. An excellent book providing the foundation of hacking and its origins.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://overthewire.org/wargames/" rel="noopener noreferrer"&gt;OverTheWire&lt;/a&gt;, especially Bandit and Natas through Krypton challenges down the list are useful ongoing wargames to learn more about Linux and web security and exploitation through hands-on experience and useful hints should you get stuck.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fkkc7c6d4cmjre5w73uy3.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.hacksplaining.com/lessons" rel="noopener noreferrer"&gt;HackSplaining&lt;/a&gt;, a visual look at common vulnerabilities in web applications.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319" rel="noopener noreferrer"&gt;Optional reading, but Code by Charles Petzold is also another good intro to how computers work and why to understand internals better for absolute beginners.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://missing.csail.mit.edu/" rel="noopener noreferrer"&gt;MIT's The Missing Semester&lt;/a&gt; teaches you the tools needed to approach programming, hacking, and overall development (i.e. Github, Docker, Vim, IDEs, BASH scripting etc).&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.freecodecamp.org/" rel="noopener noreferrer"&gt;FreeCodeCamp&lt;/a&gt; for learning HTML, CSS, JS, and web development through projects and certifications to go for (so you know how to break them ;))
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fiab11w1cp626eysjrxh0.jpg" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Level 2
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://blog.tryhackme.com/going-from-zero-to-hero/" rel="noopener noreferrer"&gt;TryHackMe's Zero to Hero Boxes Guide&lt;/a&gt;. There's a map for free members who can't or won't get the subscription, and a map for subscribed members.&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F812upu2s1qo71wltnisa.png" alt="Alt Text"&gt;Personally I find this a much easier and similar alternative to HackTheBox, due to the numerous threads and hints and explanations in each of the boxes to help you understand concepts better. Though, it's best to keep practicing the concepts and exercises taught in the boxes as it can be so simple and easy to forget once you've finished a box.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.udemy.com/course/practical-ethical-hacking/" rel="noopener noreferrer"&gt;Heath Adam's Ethical Hacking Course (aka TheCyberMentor)&lt;/a&gt;. Assumes you're a beginner to ethical hacking and teaches you everything you need to know about penetration testing for web and other applications. Especially useful if you're interested in pursuing the OSCP in the future.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://guyinatuxedo.github.io/" rel="noopener noreferrer"&gt;The Nightmare course&lt;/a&gt; by my good friend guyinatuxedo. It is a comprehensive online book on getting into binary exploitation through exploring CTF challenges and various other real life examples. And one of the more beginner friendly guides for those interested in malware analysis and reverse engineering in the future.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Level 3
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.hackthebox.eu/" rel="noopener noreferrer"&gt;HackTheBox&lt;/a&gt;. If you get stuck, there's always &lt;a href="https://www.youtube.com/c/ippsec/playlists" rel="noopener noreferrer"&gt;Ippsec's videos&lt;/a&gt;.&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fim6wsvpmeigaaapiwh3l.png" alt="Alt Text"&gt;Playing through the retired boxes is an especially good place to start off in HTB.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://pwnable.kr/" rel="noopener noreferrer"&gt;Pwnable.kr&lt;/a&gt; for a cute and fun approach to pwning challenges and binary exploitation.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.vulnhub.com/" rel="noopener noreferrer"&gt;VulnHub&lt;/a&gt;. Similar to HackTheBox in that it provides downloadable Virtual Machines to practice hacking into.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://microcorruption.com/login" rel="noopener noreferrer"&gt;Microcorruption&lt;/a&gt;, an ongoing CTF focused on embedded security.&lt;/li&gt;
&lt;li&gt;For OSCP-like boxes on HTB and VulnHub, here's a &lt;a href="https://docs.google.com/spreadsheets/d/1dwSMIAPIam0PuRBkCiDI88pU3yzrqqHkDtBngUHNCw8/edit#gid=1839402159" rel="noopener noreferrer"&gt;spreadsheet listing the boxes that are highly similar to the labs during the PWK course&lt;/a&gt; that also serves as another great way to build your skills overall.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Level 4 (Or more for deeper understanding of computer and systems internals as well as other specific fields)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.nand2tetris.org/" rel="noopener noreferrer"&gt;Nand2Tetris&lt;/a&gt; teaches you how to build a computer and OS from the ground up. A deep dive into operating systems&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hshrzd.wordpress.com/how-to-start/" rel="noopener noreferrer"&gt;Hasherezade's Malware Analysis/Reverse Engineering Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;For a hands-on and lecture based approach to going through The Web Application Hacker's Handbook (if you're interested in web), look no further than &lt;a href="https://samsclass.info/129S/129S_F16.shtml" rel="noopener noreferrer"&gt;Sam Bowne's Securing Web Applications&lt;/a&gt;. I personally couldn't get through the book at first but having a video and exercises to follow along with through reading the book helped immensely in understanding the concepts better.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://project-awesome.org/gbdev/awesome-gbdev" rel="noopener noreferrer"&gt;Awesome Gameboy Dev&lt;/a&gt; for learning emulation, reverse engineering, and assembly and C for building and reversing all things Gameboys.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://cryptohack.org/" rel="noopener noreferrer"&gt;Cryptohack&lt;/a&gt;, a relatively new and very astounding website which teaches you cryptography through programming exercises (highly recommend the use of Python for this). Starts off easy but gets exponentially harder as you progress.
&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fj1rsf1vz769su63fceq9.png" alt="Alt Text"&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://trailofbits.github.io/ctf/forensics/" rel="noopener noreferrer"&gt;Trail of Bit's Guide on Forensics&lt;/a&gt;. There's not much friendly guides on learning computer forensics out there for those who are interested, but this guide is about the only one I found that provides a comprehensive overview of how to approach forensics challenges for if you encounter one in CTFs.&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.cs.umsl.edu/~sanjiv/classes/cs2750/" rel="noopener noreferrer"&gt;Systems Programming and Tools taught by Sanjiv Bhatia&lt;/a&gt;, lectures and walkthroughs on programming in the Linux/Unix environment.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Some other fun sites to practice on
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hackthissite.org" rel="noopener noreferrer"&gt;HackThisSite!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.try2hack.nl/" rel="noopener noreferrer"&gt;Try2Hack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://picoctf.com/" rel="noopener noreferrer"&gt;picoCTF&lt;/a&gt;. High school based CTF but also fun for beginners as well. Also great in exploring what topics you may be specifically interested in.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://store.steampowered.com/app/365450/Hacknet/" rel="noopener noreferrer"&gt;HackNet&lt;/a&gt;, just a really fun hacking simulator, one of the few accurate ones out there as well.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://ctftime.org/" rel="noopener noreferrer"&gt;Don't forget to check for upcoming CTFs at ctftime.org!&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Realistically, you could approach any of these resources in any order you prefer depending on your level of experience. This, though, provides to me at least a more structured and streamlined way of learning security concepts in a progressing manner. I hope this also helps future readers interested in also breaking into the field. This list may be edited in the future as needed.&lt;/p&gt;

</description>
      <category>security</category>
      <category>computerscience</category>
      <category>tutorial</category>
      <category>linux</category>
    </item>
  </channel>
</rss>
