<?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: Florian J. Isopp</title>
    <description>The latest articles on DEV Community by Florian J. Isopp (@florianjisopp).</description>
    <link>https://dev.to/florianjisopp</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%2F149550%2F0a71c467-0c56-492a-9f62-341ea46d94b4.jpg</url>
      <title>DEV Community: Florian J. Isopp</title>
      <link>https://dev.to/florianjisopp</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/florianjisopp"/>
    <language>en</language>
    <item>
      <title>tricky default branch activity on github</title>
      <dc:creator>Florian J. Isopp</dc:creator>
      <pubDate>Wed, 27 Jul 2022 10:21:00 +0000</pubDate>
      <link>https://dev.to/florianjisopp/tricky-default-branch-on-githubs-4ol5</link>
      <guid>https://dev.to/florianjisopp/tricky-default-branch-on-githubs-4ol5</guid>
      <description>&lt;p&gt;tricky parts today:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;github activity contributions&lt;/strong&gt; have been inscrutable. Wondered where my activity has gone, resp. not shown.&lt;br&gt;
Ah, because i committed to a different branch, not master.&lt;br&gt;
checked out github FAQ, shown that only default branch commits getting reflected in Activity Dashboard.&lt;/p&gt;

&lt;p&gt;Changed default branch to 2.nd branch, committed criss-cross merged etc. still no activity.&lt;br&gt;
the single one and only activity that is shown is the open pull request.&lt;/p&gt;

&lt;p&gt;So this thingie stays a riddle.&lt;/p&gt;

&lt;p&gt;cu&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile"&gt;https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/why-are-my-contributions-not-showing-up-on-my-profile&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>sccm</category>
      <category>programming</category>
    </item>
    <item>
      <title>Privilege Escalation with Path Variable Manipulation</title>
      <dc:creator>Florian J. Isopp</dc:creator>
      <pubDate>Mon, 22 Feb 2021 11:08:51 +0000</pubDate>
      <link>https://dev.to/florianjisopp/privilege-escalation-with-path-variable-manipulation-dl4</link>
      <guid>https://dev.to/florianjisopp/privilege-escalation-with-path-variable-manipulation-dl4</guid>
      <description>&lt;p&gt;This part is about playing with SUID and SGID bits on 'l' details for files.&lt;br&gt;
&lt;a href="https://www.thegeekdiary.com/what-is-suid-sgid-and-sticky-bit/"&gt;https://www.thegeekdiary.com/what-is-suid-sgid-and-sticky-bit/&lt;/a&gt;&lt;br&gt;
says: When a command or script with SUID bit set is run, its effective UID becomes that of the owner of the file, rather than of the user who is running it.&lt;/p&gt;

&lt;p&gt;SUID Bit    User executes the file with permissions of the file owner&lt;br&gt;
SGID Bit    User executes the file with the permission of the group owner&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--121mUhGP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j9jizm4qlordlrn90vt9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--121mUhGP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/j9jizm4qlordlrn90vt9.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To search the a system for these type of files run the following: find / -perm -u=s -type f 2&amp;gt;/dev/null&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1nBiA1ce--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q89a0dbmdddc5n86w7rd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1nBiA1ce--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q89a0dbmdddc5n86w7rd.png" alt="image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;in short:&lt;/p&gt;

&lt;p&gt;*creating shell call for curl in tmp file&lt;br&gt;
*because usr/bin/menu is run as root&lt;br&gt;
*curl is found in menu file&lt;br&gt;
*write /tmp path in PATH&lt;br&gt;
*execute menu file&lt;br&gt;
*pick option1 and run modified curl aka /bin/sh&lt;br&gt;
*check for id root&lt;br&gt;
*access flags&lt;/p&gt;

&lt;h3&gt;
  
  
  MISC
&lt;/h3&gt;

&lt;p&gt;writing shell scripts:&lt;br&gt;
&lt;a href="https://linuxcommand.org/lc3_wss0010.php"&gt;https://linuxcommand.org/lc3_wss0010.php&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;additional credits&lt;br&gt;
&lt;a href="https://clarencesubia.medium.com/tryhackme-kenobi-walkthrough-6cd316fd9c3c"&gt;https://clarencesubia.medium.com/tryhackme-kenobi-walkthrough-6cd316fd9c3c&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;*this is a part of tryhackme.com so the introduction and manual is their content. execution and guide-through is mine.&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ctf</category>
      <category>root</category>
      <category>shell</category>
    </item>
    <item>
      <title>Python VSCode testing from 0 to 100</title>
      <dc:creator>Florian J. Isopp</dc:creator>
      <pubDate>Wed, 02 Dec 2020 23:43:29 +0000</pubDate>
      <link>https://dev.to/florianjisopp/python-vscode-testing-from-0-to-100-1geg</link>
      <guid>https://dev.to/florianjisopp/python-vscode-testing-from-0-to-100-1geg</guid>
      <description>&lt;p&gt;Presumed, you got some scripts, started from scratch some coding. Now you reached a level of complexity, it's dawning that you need a modicum of structure. Preferably an automated test suite to give you the confidence and confirmation that everything is and stays fine in your code base.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://code.visualstudio.com/docs/python/testing#_enable-a-test-framework"&gt;https://code.visualstudio.com/docs/python/testing#_enable-a-test-framework&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will go with built-in &lt;em&gt;unittest&lt;/em&gt; of the Python extension, so no additional configuration is necessary.&lt;br&gt;
Here the steps for a concentrated quick start:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ctrl+Shift+P Python: Configure Tests (saved in .vscode settings.json)

&lt;ol&gt;
&lt;li&gt;unittest&lt;/li&gt;
&lt;li&gt;root dir, I'm taking repository root&lt;/li&gt;
&lt;li&gt;"*_test.py" pattern&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--J1LkKTUj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wq0ixh3ge526j6o856dl.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--J1LkKTUj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wq0ixh3ge526j6o856dl.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Create tests in test-file &lt;a href="https://code.visualstudio.com/docs/python/testing#_create-tests"&gt;https://code.visualstudio.com/docs/python/testing#_create-tests&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;"python.testing.unittestArgs": [
"-v",
"-s",
".",
"-p",
"*_test.py"
],&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ctrl+Shift+P Python: Configure Tests&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;take care of proper imports&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Run All Tests&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rfwPYhks--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cs3i5i0v7dzvsgi6rdag.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rfwPYhks--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/cs3i5i0v7dzvsgi6rdag.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mistakes FAQ&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Restart VS Code if test framework doesn't show discoveries or the test icon on the left panel in general.&lt;/li&gt;
&lt;li&gt;If you are at odds with import dependencies read: &lt;a href="https://stackoverflow.com/questions/448271/what-is-init-py-for"&gt;https://stackoverflow.com/questions/448271/what-is-init-py-for&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This test approach is really simple and you should stick at least with basics in any early stage of development. I go for DEBUG and print outputs only for simple single file scripting. But if there are encapsulated parts in play, stick with the fundamentals of unit testing to keep dev velocity high and stay productive.&lt;/p&gt;

&lt;p&gt;For more information study the docs page &lt;a href="https://code.visualstudio.com/docs/python/testing#_a-little-background-on-unit-testing"&gt;https://code.visualstudio.com/docs/python/testing#_a-little-background-on-unit-testing&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Next steps for advanced dev automation is setting up a Continous Integration CI config in eg. github.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--NEuDB7-h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/a7xhv4gpqesau6bwo03x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--NEuDB7-h--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/a7xhv4gpqesau6bwo03x.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>testing</category>
      <category>vscode</category>
      <category>python</category>
      <category>pytest</category>
    </item>
  </channel>
</rss>
