<?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>Forem: Michael Buckbee</title>
    <description>The latest articles on Forem by Michael Buckbee (@mike-the-security-guy).</description>
    <link>https://forem.com/mike-the-security-guy</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%2F1187473%2F9d8d97eb-508b-4ae1-8504-fb48e1cb2899.jpg</url>
      <title>Forem: Michael Buckbee</title>
      <link>https://forem.com/mike-the-security-guy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mike-the-security-guy"/>
    <language>en</language>
    <item>
      <title>One simple trick to stop bots</title>
      <dc:creator>Michael Buckbee</dc:creator>
      <pubDate>Tue, 31 Oct 2023 13:08:32 +0000</pubDate>
      <link>https://forem.com/mike-the-security-guy/one-simple-trick-to-stop-bots-5fpm</link>
      <guid>https://forem.com/mike-the-security-guy/one-simple-trick-to-stop-bots-5fpm</guid>
      <description>&lt;p&gt;What’s even more suspicious than detecting a bot user agent? &lt;/p&gt;

&lt;p&gt;No user agent. &lt;/p&gt;

&lt;p&gt;Vulnerability-scanning scripts will suppress passing the user agent to sneak past filters. Requiring a UA is an easy way to keep some malicious bots out of your system.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pGLWAboA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4dpg6tbg6x1x6kp42pfu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pGLWAboA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4dpg6tbg6x1x6kp42pfu.png" alt="Image description" width="800" height="845"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Poll Results</title>
      <dc:creator>Michael Buckbee</dc:creator>
      <pubDate>Thu, 26 Oct 2023 13:13:50 +0000</pubDate>
      <link>https://forem.com/mike-the-security-guy/poll-results-3ajk</link>
      <guid>https://forem.com/mike-the-security-guy/poll-results-3ajk</guid>
      <description>&lt;p&gt;“Devs should stop being lazy and taking security for granted” is a response I’ve seen a couple times to the poll we ran earlier (screenshot). &lt;/p&gt;

&lt;p&gt;The problem is that those people don’t realize just how weirdly tricky it is to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;See what IPs are making requests and how many&lt;/li&gt;
&lt;li&gt;Block obviously bad IPs and bot&lt;/li&gt;
&lt;li&gt;Rate limit requests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Frameworks don’t ship with these tools, the organizations that do have them have cobbled them together by pumping logs into ElasticSearch and some handwritten reports, but they aren’t available to most of the team, etc. &lt;/p&gt;

&lt;p&gt;All problems we’re trying to change with Wafris as we make it dead easy to put a WAF in every web app.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RNisAPY2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q6gk4udwhagwylbhnyik.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RNisAPY2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q6gk4udwhagwylbhnyik.png" alt="Image description" width="800" height="490"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Botnets are equal opportunity attackers</title>
      <dc:creator>Michael Buckbee</dc:creator>
      <pubDate>Mon, 23 Oct 2023 13:12:20 +0000</pubDate>
      <link>https://forem.com/mike-the-security-guy/botnets-are-equal-opportunity-attackers-58h1</link>
      <guid>https://forem.com/mike-the-security-guy/botnets-are-equal-opportunity-attackers-58h1</guid>
      <description>&lt;p&gt;🤖 It’s an easy mistake to dismiss bots as “dumb” because they’re probing for some technology you don’t use and would never be on your site.&lt;/p&gt;

&lt;p&gt;🛡 But they’re equal-opportunity attackers; here’s a bot we identified with Wafris that was probing for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;YII PHP Web Framework admin&lt;/li&gt;
&lt;li&gt;VS Code FTP Credentials&lt;/li&gt;
&lt;li&gt;Microsoft Exchange Backups&lt;/li&gt;
&lt;li&gt;Git Credentials&lt;/li&gt;
&lt;li&gt;Python Drupal Configs&lt;/li&gt;
&lt;li&gt;Mac .DS_Store files&lt;/li&gt;
&lt;li&gt;Laravel Telescope requests viewer&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🕵‍♂️ Botnets are often rented out or repurposed for other attacks. Blocking their IPs or networks is a way to cut them off at the knees.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K8dBwM9Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0vi6n6fb2rksptdgeyt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K8dBwM9Q--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/m0vi6n6fb2rksptdgeyt.png" alt="Image description" width="800" height="844"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Are Apple App Association Files Risky?</title>
      <dc:creator>Michael Buckbee</dc:creator>
      <pubDate>Fri, 20 Oct 2023 11:56:57 +0000</pubDate>
      <link>https://forem.com/mike-the-security-guy/are-apple-app-association-files-risky-41b8</link>
      <guid>https://forem.com/mike-the-security-guy/are-apple-app-association-files-risky-41b8</guid>
      <description>&lt;p&gt;How do attackers choose which sites to hit?&lt;/p&gt;

&lt;p&gt;They typically don’t. They use automated scanning tools to rip through a giant list of domains and do “subdomain enumeration” to find your servers and launch attacks against them. &lt;/p&gt;

&lt;p&gt;One way they do this is to look for &lt;a href="https://developer.apple.com/documentation/xcode/supporting-associated-domains"&gt;Apple App Association&lt;/a&gt; files, which are files. Hosted on your website that indicates where/how deep linking into iOS apps is allowed or should happen. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--orj8ofW4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/32h4cx7kvfyy75xg80p8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--orj8ofW4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/32h4cx7kvfyy75xg80p8.png" alt="Image description" width="800" height="217"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We found this in a &lt;a href="https://wafris.org"&gt;Wafris&lt;/a&gt; report as the business operated only in the midwest but was repeatedly scanned by a 🇳🇱 Dutch server.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rNnTUyqa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jlkrmj2topo2lhn97hem.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rNnTUyqa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jlkrmj2topo2lhn97hem.png" alt="Image description" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mobile</category>
      <category>security</category>
      <category>devops</category>
    </item>
    <item>
      <title>Can you tell what this bot is doing?</title>
      <dc:creator>Michael Buckbee</dc:creator>
      <pubDate>Thu, 19 Oct 2023 13:08:37 +0000</pubDate>
      <link>https://forem.com/mike-the-security-guy/can-you-tell-what-this-bot-is-doing-1a5p</link>
      <guid>https://forem.com/mike-the-security-guy/can-you-tell-what-this-bot-is-doing-1a5p</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JbMFuGpS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0hvelcs6cvnp0u7gfxw4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JbMFuGpS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0hvelcs6cvnp0u7gfxw4.png" alt="Image description" width="800" height="747"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Look at the timing, IPs, and paths in the above list of web requests to this site (domain changed for privacy).&lt;/p&gt;

&lt;p&gt;Answer: it’s a bot using 🇨🇳 Chinese proxy servers, probing for compressed, manually backed-up copies of the site that are kept on the server.&lt;/p&gt;

&lt;p&gt;Backups that might have API keys, ENV files, or other high-value targets. &lt;/p&gt;

&lt;p&gt;We discovered this with &lt;a href="https://wafris.org"&gt;Wafris&lt;/a&gt;, as the site doesn’t have an API, so the User-Agent was unusual. &lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
    </item>
    <item>
      <title>Risky Click Text Editor Edition</title>
      <dc:creator>Michael Buckbee</dc:creator>
      <pubDate>Tue, 17 Oct 2023 16:39:37 +0000</pubDate>
      <link>https://forem.com/mike-the-security-guy/risky-click-text-editor-edition-3fki</link>
      <guid>https://forem.com/mike-the-security-guy/risky-click-text-editor-edition-3fki</guid>
      <description>&lt;p&gt;🔍 Is this risky? Most devs are great at knowing what parts of their apps are easier or harder to implement but don’t have a great sense of which are more or less of a security risk.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rtfTEuyW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2l9t923c86a8p685t2en.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rtfTEuyW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2l9t923c86a8p685t2en.png" alt="Image description" width="800" height="648"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✏️ Embedded document editing is surprisingly risky. A good example is the UEditor JS, which was shipped with multiple Java and .NET CMS projects, had over 6k stars on GitHub, and had a vulnerability that allowed for unrestricted file uploads to the server. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Idge7nBh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sbfyuj2l2qtdmaktnle2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Idge7nBh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sbfyuj2l2qtdmaktnle2.png" alt="Image description" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🛡️Web Application Firewalls are great at helping with issues like this via “virtual patching.”&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There’s no actual underlying code fix for this&lt;/li&gt;
&lt;li&gt;There’s a clear exploit pattern&lt;/li&gt;
&lt;li&gt;You add a firewall rule like “Block Path: /Ueditor”&lt;/li&gt;
&lt;li&gt;You’re “virtually patched”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--35_r51vr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/scr3s4zjtmft8l2rkatn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--35_r51vr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/scr3s4zjtmft8l2rkatn.png" alt="Image description" width="800" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>security</category>
      <category>frontend</category>
    </item>
  </channel>
</rss>
