<?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: ckyoo</title>
    <description>The latest articles on DEV Community by ckyoo (@futh4rk).</description>
    <link>https://dev.to/futh4rk</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%2F2671235%2F11c09e7b-c9a6-4037-b41f-f15d907c7bf2.png</url>
      <title>DEV Community: ckyoo</title>
      <link>https://dev.to/futh4rk</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/futh4rk"/>
    <language>en</language>
    <item>
      <title>network bridging</title>
      <dc:creator>ckyoo</dc:creator>
      <pubDate>Mon, 17 Feb 2025 07:51:23 +0000</pubDate>
      <link>https://dev.to/futh4rk/network-bridging-2bjk</link>
      <guid>https://dev.to/futh4rk/network-bridging-2bjk</guid>
      <description>&lt;p&gt;. Run console&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;delete all connections
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;nmcli --fields UUID,TIMESTAMP-REAL con show | awk '{print $1}' | while read line; do nmcli con delete uuid $line; done&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;create bridge br0&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;nmcli con add type bridge con-name br0 ifname br0&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;set host-machine IP for br0&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;(for example, host machine IP=192.168.1.100/24, gateway=192.168.1.1, dns=192.168.1.254, domain search=example.com)&lt;/p&gt;

&lt;p&gt;nmcli con mod br0 ipv4.addresses "192.168.1.100/24"&lt;br&gt;
nmcli con mod br0 ipv4.gateway "192.168.1.1"&lt;br&gt;
nmcli con mod br0 ipv4.dns "192.168.1.254 "&lt;br&gt;
nmcli con mod br0 ipv4.dns-search "example.com"&lt;br&gt;
nmcli con mod br0 ipv4.may-fail no&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Disable DHCP and enable manual settings for br0&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;nmcli con mod br0 ipv4.method manual&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add real network card (eth1) to bridge br0&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;nmcli con add type ethernet con-name "br0-slave-eth1" ifname eth1 master br0&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Enable bridge br0&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;nmcli con up br0&lt;/p&gt;

&lt;p&gt;Now you can attach to br0 any virtual machine from QEMU/KVM.&lt;/p&gt;

&lt;p&gt;For example 192.168.1.100 - host,&lt;/p&gt;

&lt;p&gt;192.168.1.10 - virt machine 1,&lt;/p&gt;

&lt;p&gt;192.168.1.20 - virt machine 2 &lt;/p&gt;

&lt;p&gt;// for deleting the device br0 that is showing up even after deleting connection in nmcli, &lt;br&gt;
&lt;code&gt;nmcli device delete br0&lt;/code&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>some workaround when using kvm virtualization</title>
      <dc:creator>ckyoo</dc:creator>
      <pubDate>Fri, 07 Feb 2025 00:47:15 +0000</pubDate>
      <link>https://dev.to/futh4rk/some-workaround-when-using-kvm-virtualization-63p</link>
      <guid>https://dev.to/futh4rk/some-workaround-when-using-kvm-virtualization-63p</guid>
      <description>&lt;p&gt;To run a terminal, i was using &lt;code&gt;Ctrl + Alt + T&lt;/code&gt; to open a terminal in the host OS.  Now that I am inside a guest OS, running the command would render a terminal 'outside' of the guest OS, and I cant exit the terminal. &lt;/p&gt;

&lt;p&gt;Then I find out about &lt;code&gt;Ctrl Alt F1&lt;/code&gt; to switch to the virtual terminal on the host. &lt;/p&gt;

&lt;p&gt;Then I can now access the overlay terminal and execute the exit command. &lt;/p&gt;

</description>
      <category>howtofix</category>
      <category>terminal</category>
      <category>virtualmachine</category>
    </item>
    <item>
      <title>virtualization inside almalinux 9</title>
      <dc:creator>ckyoo</dc:creator>
      <pubDate>Wed, 05 Feb 2025 07:08:58 +0000</pubDate>
      <link>https://dev.to/futh4rk/virtualization-inside-almalinux-9-o0c</link>
      <guid>https://dev.to/futh4rk/virtualization-inside-almalinux-9-o0c</guid>
      <description>&lt;p&gt;start by installing the ISOs of selected OSes. &lt;br&gt;
With almalinux 9 and kali linux, &lt;/p&gt;

&lt;p&gt;check if hardware is enabled with virtualization&lt;br&gt;
&lt;code&gt;egrep -c '(vmx|svm)' /proc/cpuinfo&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;install KVM&lt;br&gt;
&lt;code&gt;sudo dnf install qemu-kvm libvirt libvirt-client virt-top virt-install virt-manager virt-viewer libguestfs-tools&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;sudo systemctl start libvirtd&lt;/code&gt;&lt;br&gt;
&lt;code&gt;sudo systemctl enable libvirtd&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;check the status of libvirtd&lt;br&gt;
&lt;code&gt;sudo systemctl status libvirtd&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;default path of ISO when downloaded in my machine is &lt;br&gt;
&lt;code&gt;Downloads/Github/&lt;/code&gt; copy it to &lt;code&gt;/var/lib/libvirt/boot/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;AlmaLinux-9-latest-x86_64-dvd.iso&lt;/code&gt;&lt;br&gt;
download the iso with &lt;br&gt;
&lt;code&gt;sudo virt-install --name AlmaLinux-server --ram=2048 --vcpus=2 --cpu host --hvm --disk path=/var/lib/libvirt/images almalinuxservervml,size=20 --cdrom /var/lib/libvirt/boot/AlmaLinux-9-latest-x86_64-dvd.iso --graphics vnc&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;First plagued with error: Validating install media '/var/lib/libvirt/boot/AlmaLinux-9-latest-x86_64-DVD.iso' failed: Must specify storage creation parameters for non-existent path '/var/lib/libvirt/boot/AlmaLinux-9-latest-x86_64-DVD.iso'.&lt;/p&gt;

&lt;p&gt;the error was the inconsistent naming in the ISOs, with the 'DVD'. The capitalization of the specified &lt;code&gt;--cdrom&lt;/code&gt; was different with the  one that is stored in the path.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>docker....and anything</title>
      <dc:creator>ckyoo</dc:creator>
      <pubDate>Wed, 05 Feb 2025 05:51:51 +0000</pubDate>
      <link>https://dev.to/futh4rk/dockerand-anything-709</link>
      <guid>https://dev.to/futh4rk/dockerand-anything-709</guid>
      <description>&lt;p&gt;In archlinux, downloading docker started with &lt;br&gt;
&lt;code&gt;sudo pacman -S docker&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;starting docker would require&lt;br&gt;
&lt;code&gt;systemctl start docker.socket&lt;/code&gt; for lesser consumption of resources&lt;/p&gt;

&lt;p&gt;stopping is &lt;code&gt;systemctl stop &amp;lt;service&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;my fafo with docker&lt;br&gt;
with archlinux, &lt;br&gt;
&lt;code&gt;sudo docker-compose up&lt;/code&gt; -d&lt;br&gt;
&lt;code&gt;sudo docker-compose down&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;not advised:&lt;br&gt;
downgraded docker&lt;br&gt;
using &lt;code&gt;downgrade&lt;/code&gt; in AUR &lt;br&gt;
sudo downgrade docker&lt;/p&gt;

</description>
      <category>docker</category>
      <category>archlinux</category>
    </item>
    <item>
      <title>SNIPE-IT ASSET MANAGEMENT</title>
      <dc:creator>ckyoo</dc:creator>
      <pubDate>Tue, 28 Jan 2025 09:50:07 +0000</pubDate>
      <link>https://dev.to/futh4rk/snipe-it-asset-management-1ga4</link>
      <guid>https://dev.to/futh4rk/snipe-it-asset-management-1ga4</guid>
      <description>&lt;p&gt;Fresh install almalinux 9;&lt;/p&gt;

&lt;p&gt;Connect ethernet to enp6s0 (default ethernet port)&lt;br&gt;
ipv4 172.16.3.26&lt;br&gt;
default rote 172.16.3.254&lt;br&gt;
dns 172.16.1.3 &lt;/p&gt;

&lt;p&gt;snipe-it@phelan &lt;br&gt;
Install LAMP stack on server:&lt;br&gt;
first &lt;code&gt;sudo dnf update -y&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;installed git &lt;code&gt;sudo dnf install git&lt;/code&gt;&lt;br&gt;
[APACHE]&lt;br&gt;
dnf install httpd -y&lt;br&gt;
systemctl start httpd &amp;amp;&amp;amp; systemctl enable httpd&lt;br&gt;
[MYSQL/MARIADB]&lt;br&gt;
dnf install mariadb-server -y&lt;br&gt;
systemctl start mariadb &amp;amp;&amp;amp; systemctl enabe mariadb&lt;br&gt;
perform secure install: &lt;code&gt;mysql_secure_installation&lt;/code&gt; at root &lt;br&gt;
[PHP]&lt;br&gt;
dnf install -y php &amp;lt;...&amp;gt;&lt;br&gt;
systemctl restart httpd&lt;/p&gt;
&lt;h1&gt;
  
  
  CREATE DATABASE
&lt;/h1&gt;

&lt;p&gt;in root, &lt;br&gt;
mysql -uroot -p&lt;/p&gt;

&lt;p&gt;MariaDB&amp;gt; CREATE DATABASE snipeitdb;&lt;/p&gt;

&lt;p&gt;MariaDB &amp;gt; CREATE USER snipe_user@localhost IDENTIFIED BY '[password(stn17]'&lt;/p&gt;

&lt;p&gt;MariaDB &amp;gt; GRANT ALL ON snipeitdb.* to snipe_user@localhost;&lt;/p&gt;

&lt;p&gt;MariaDB &amp;gt; FLUSH PRIVILEGES;&lt;/p&gt;

&lt;p&gt;---error in chown --&lt;/p&gt;

&lt;p&gt;1/30/25&lt;/p&gt;

&lt;p&gt;setting the correct ownership/permission to the file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chown -R apache:apache /var/www/snipe-it
chmod -R 755 /var/www/snipe-it
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;VirtualHost *:80&amp;gt;
    &amp;lt;Directory /var/www/snipe-it/public&amp;gt;
        Allow From All
        AllowOverride All
        Options -Indexes
    &amp;lt;/Directory&amp;gt;

    DocumentRoot /var/www/snipe-it/public
    ServerName 172.x.x.x
    # Other directives here
&amp;lt;/VirtualHost&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2glr7s9jdjouh95qbsqd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2glr7s9jdjouh95qbsqd.png" alt="Image description" width="800" height="215"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  MYSQL COMMANDS TO CHECK TABLES
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;sudo mysql&lt;/code&gt;&lt;br&gt;
&lt;code&gt;use &amp;lt;table_name&amp;gt;;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;show tables;&lt;/code&gt;&lt;br&gt;
&lt;code&gt;select * FROM &amp;lt;table_name&amp;gt;;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;MIGRATE A DB TO ANOTHER DB &lt;/p&gt;

&lt;p&gt;mysql -u root -p snipeitdb &amp;lt; path/of/.sql file&lt;/p&gt;

</description>
    </item>
    <item>
      <title>CISCO SG500-52</title>
      <dc:creator>ckyoo</dc:creator>
      <pubDate>Mon, 27 Jan 2025 06:53:33 +0000</pubDate>
      <link>https://dev.to/futh4rk/cisco-sg500-52-1l8m</link>
      <guid>https://dev.to/futh4rk/cisco-sg500-52-1l8m</guid>
      <description>&lt;p&gt;Setting hostname:&lt;br&gt;
&lt;code&gt;configure terminal&lt;/code&gt;&lt;br&gt;
&lt;code&gt;hostname Switch-254&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;config-file-header&lt;br&gt;
Switch-254&lt;br&gt;
v1.4.11.5 / R800_NIK_1_4_220_026&lt;br&gt;
CLI v1.0&lt;br&gt;
set system mode switch queues-mode 4&lt;/p&gt;

&lt;p&gt;file SSD indicator encrypted&lt;br&gt;
@&lt;br&gt;
ssd-control-start&lt;br&gt;
ssd config&lt;br&gt;
ssd file passphrase control unrestricted&lt;br&gt;
no ssd file integrity control&lt;br&gt;
ssd-control-end cb0a3fdb1f3a1af4e4430033719968c0&lt;br&gt;
!&lt;br&gt;
vlan database&lt;br&gt;
vlan 11&lt;br&gt;
exit&lt;br&gt;
voice vlan oui-table add 0001e3 Siemens_AG_phone________&lt;br&gt;
voice vlan oui-table add 00036b Cisco_phone_____________&lt;br&gt;
voice vlan oui-table add 00096e Avaya___________________&lt;br&gt;
voice vlan oui-table add 000fe2 H3C_Aolynk______________&lt;br&gt;
voice vlan oui-table add 0060b9 Philips_and_NEC_AG_phone&lt;br&gt;
voice vlan oui-table add 00d01e Pingtel_phone___________&lt;br&gt;
voice vlan oui-table add 00e075 Polycom/Veritel_phone___&lt;br&gt;
voice vlan oui-table add 00e0bb 3Com_phone______________&lt;br&gt;
hostname Switch-254&lt;br&gt;
aaa authentication login authen-list radius local none&lt;br&gt;
line console&lt;br&gt;
login authentication authen-list&lt;br&gt;
password da39a3ee5e6b4b0d3255bfef95601890afd80709 encrypted&lt;br&gt;
exit&lt;br&gt;
username admin password encrypted 990ce22a3f18004ca80b4ded3e635eca5625dbfa privilege 15&lt;br&gt;
sntp server 192.168.11.50&lt;br&gt;
ip domain name &amp;lt;&amp;gt;.edu.ph&lt;br&gt;
!&lt;br&gt;
interface vlan 11&lt;br&gt;
 name MGMT&lt;br&gt;
 ip address 192.168.11.254 255.255.255.0&lt;br&gt;
 no ip address dhcp&lt;br&gt;
!&lt;br&gt;
interface gigabitethernet1/1/48&lt;br&gt;
 switchport mode access&lt;br&gt;
 switchport access vlan 11&lt;br&gt;
!&lt;br&gt;
exit&lt;br&gt;
Switch-254#&lt;br&gt;
Switch-254#conf t&lt;br&gt;
Switch-254(config)#08-Apr-2020 15:26:48 %LINK-I-Up:  gi1/1/48&lt;br&gt;
08-Apr-2020 15:26:48 %LINK-I-Up:  Vlan 11&lt;br&gt;
08-Apr-2020 15:26:53 %STP-W-PORTSTATUS: gi1/1/48: STP status Forwarding&lt;br&gt;
08-Apr-2020 15:27:48 %AAA-I-CONNECT: New http connection for user admin, source 192.168.11.154 destination 192.168.11.254 ACCEPTED&lt;/p&gt;

&lt;p&gt;[SETTING MANAGEMENT VLAN]&lt;/p&gt;

&lt;p&gt;&lt;code&gt;configure terminal&lt;/code&gt;&lt;br&gt;
&lt;code&gt;vlan 11&lt;/code&gt;&lt;br&gt;
&lt;code&gt;interface vlan 11&lt;/code&gt;&lt;br&gt;
&lt;code&gt;name MGMT&lt;/code&gt;&lt;br&gt;
&lt;code&gt;ip address 192.168.11.254 255.255.255.0&lt;/code&gt;&lt;br&gt;
&lt;code&gt;exit&lt;/code&gt;&lt;br&gt;
&lt;code&gt;interface gigabitethernet 1/1/48&lt;/code&gt;&lt;br&gt;
&lt;code&gt;switchport mode access&lt;/code&gt;&lt;br&gt;
&lt;code&gt;switchport access vlan 11&lt;/code&gt;&lt;br&gt;
&lt;code&gt;no shutdown&lt;/code&gt;&lt;br&gt;
&lt;code&gt;exit&lt;/code&gt;&lt;br&gt;
&lt;code&gt;copy running-config startup-config&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;[SETTING DOMAIN NAME]&lt;br&gt;
&lt;code&gt;configure terminal&lt;/code&gt;&lt;br&gt;
&lt;code&gt;ip domain name &amp;lt;&amp;gt;.edu.ph&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;[GENERATE RSA]&lt;br&gt;
crypto key generate rsa&lt;/p&gt;

&lt;p&gt;[ENABLING LINE CONSOLE]&lt;br&gt;
&lt;code&gt;line console&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;:: these are all commands that was accessed through COM3 putty serial, since the ip ssh is enabled, we can access it through putty &amp;gt; ssh&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fctd0ywcltcszhjm1zy6p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fctd0ywcltcszhjm1zy6p.png" alt="Image description" width="627" height="573"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>[jan2025] thm.jrpt-path. 3/n</title>
      <dc:creator>ckyoo</dc:creator>
      <pubDate>Sun, 12 Jan 2025 03:33:59 +0000</pubDate>
      <link>https://dev.to/futh4rk/jan2025-thmjrpt-path-3n-4h13</link>
      <guid>https://dev.to/futh4rk/jan2025-thmjrpt-path-3n-4h13</guid>
      <description>&lt;h1&gt;
  
  
  [IDOR]
&lt;/h1&gt;

&lt;p&gt;IDOR is an access control vulnerability, which stands for Insecure Direct Object Reference. This happens when the user input that was received is not checked or validated in server-side. &lt;/p&gt;

&lt;p&gt;in this link, &lt;code&gt;https://onlinestore.thm/order/1000/invoice&lt;/code&gt; there is a segment where the user can manipulate the order #. &lt;/p&gt;

&lt;p&gt;One technique that was mentioned is to decode and encode the string and determine if there was any changes in the response. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6zczdoes9x847ts3qtl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg6zczdoes9x847ts3qtl.png" alt="Image description" width="800" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>webdev</category>
      <category>discuss</category>
    </item>
    <item>
      <title>[jan2025] thm.jrpt-path. 2/n</title>
      <dc:creator>ckyoo</dc:creator>
      <pubDate>Thu, 09 Jan 2025 17:52:13 +0000</pubDate>
      <link>https://dev.to/futh4rk/jan2025-thmjrpt-path-2n-1l1m</link>
      <guid>https://dev.to/futh4rk/jan2025-thmjrpt-path-2n-1l1m</guid>
      <description>&lt;h1&gt;
  
  
  [Authentication Bypass]
&lt;/h1&gt;

&lt;p&gt;For this day, we're going to explore the Auth bypass section of THM'S JRPT-Path. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13mfqktuwsbvv322vtbn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F13mfqktuwsbvv322vtbn.png" alt="Image description" width="800" height="332"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;-w&lt;/code&gt; selects where the "name.txt" is located in local machine. since I am using my arch, using the &lt;code&gt;locate name.txt&lt;/code&gt; command was important. &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-X&lt;/code&gt; specifies the request method , 'GET' is the default.&lt;/li&gt;
&lt;li&gt;According to THM, _The &lt;code&gt;-d&lt;/code&gt; argument specifies the data that we are going to send. In our example, we have the fields username, email, password and cpassword. We've set the value of the username to FUZZ. In the ffuf tool, the FUZZ keyword signifies where the contents from our wordlist will be inserted in the request. _&lt;/li&gt;
&lt;li&gt;&lt;em&gt;The &lt;code&gt;-H&lt;/code&gt; argument is used for adding additional headers to the request. In this instance, we're setting the &lt;code&gt;Content-Type&lt;/code&gt; so the web server knows we are sending form data.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-u&lt;/code&gt; will specify the URL we're requesting &lt;/li&gt;
&lt;li&gt;
&lt;code&gt;-mr&lt;/code&gt; &lt;em&gt;the text on the page we are looking for to validate we've found a valid username.&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TASK 3: BRUTE FORCE&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu0tgafpdzftvvj6vo8by.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu0tgafpdzftvvj6vo8by.png" alt="Image description" width="800" height="347"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ffuf -w valid_usernames.txt:W1,/usr/share/wordlists/seclists/Passwords/Common-Credentials/10-million-password-list-top-100.txt:W2 -X POST -d "username=W1&amp;amp;password=W2" -H "Content-Type: application/x-www-form-urlencoded" -u http://10.10.95.150/customers/login -fc 200
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;TASK 4&lt;br&gt;
An important lesson here is that a PHP code using '===' means that the code is looking for the exact equivalent of the URL it is checking. One way to bypass it is to change the letter casing.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"will not have their privileges checked and have the page displayed to them, totally bypassing the authentication checks."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The PHP $_REQUEST variable is an array that contains data received from the query string and POST data. If the same key name is used for both the query string and POST data, the application logic for this variable favours POST data fields rather than the query string, so if we add another parameter to the POST form, we can control where the password reset email gets delivered.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I then created a new account, and with that new account, I sent the request of "resetting email" to the account I newly made&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9gqe2rhyd87m0ivggv38.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9gqe2rhyd87m0ivggv38.png" alt="Image description" width="800" height="133"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I now then got a hold of a URL where the user can update their password (from the luigi@/customer.acmeitsupport.thm dashboard)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftnvwy18vwxsn6xy9rok4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftnvwy18vwxsn6xy9rok4.png" alt="Image description" width="800" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After changing robert's password to 1234, I found the flag. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F015wgx84p1mij0eptoq3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F015wgx84p1mij0eptoq3.png" alt="Image description" width="800" height="497"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;TASK 4 COOKIE TAMPERING&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuuk8cujc2h2muq97drjr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuuk8cujc2h2muq97drjr.png" alt="Image description" width="800" height="57"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There were important hashing methods that was mentioned: md5, sha-256, sha-512, and sha-1. Cracking it could be done by useful websites like crackstation or base64encode. &lt;/p&gt;

&lt;p&gt;concepts/important tools: ffuf , cookie, crackstation, hashing, base64&lt;/p&gt;

</description>
      <category>thm</category>
    </item>
    <item>
      <title>[jan2025] thm.jrpt-path. 1/n</title>
      <dc:creator>ckyoo</dc:creator>
      <pubDate>Tue, 07 Jan 2025 17:49:42 +0000</pubDate>
      <link>https://dev.to/futh4rk/jan-thmjrpt-path-1n-466l</link>
      <guid>https://dev.to/futh4rk/jan-thmjrpt-path-1n-466l</guid>
      <description>&lt;p&gt;Decided to formally create a write-up for my tryhackme journey. This is not in sequence, writing from my memory so every section are labeled by their titles in THM. &lt;/p&gt;

&lt;p&gt;--&lt;/p&gt;

&lt;h2&gt;
  
  
  [Introduction to Web Hacking]
&lt;/h2&gt;

&lt;p&gt;As the attackbox was really slow, I decided to switch to my archlinux machine (was using my windows workstation before). &lt;br&gt;
Setting up OpenVPN in my arch was a smooth-sailing experience (completely oblivious to the absurd errors I'll encounter the next few hours.) I'm completely writing this from my memory so I hope I could remember the fixes I did for my machine and ridiculous errors I encountered.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz0m3y1uikeq9lnnw8kda.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz0m3y1uikeq9lnnw8kda.png" alt="Image description" width="605" height="262"&gt;&lt;/a&gt;&lt;br&gt;
After downloading OpenVPN on my machine, &lt;code&gt;sudo pacman -Syu openvpn&lt;/code&gt;, we connected to the THM by &lt;code&gt;sudo openvpn ~/Downloads/username.ovpn&lt;/code&gt;. &lt;br&gt;
Encountered an error, and by changing the username.ovpn to the name of the server, &lt;code&gt;sudo openvpn ~/Downloads/EU-VIP-2.ovpn&lt;/code&gt;, the connection was a success. &lt;/p&gt;

&lt;p&gt;In the section #[Content Discovery], there was this tricky error since this was my first time using arch with ffuf tool. And keep in mind that I am not using the attackbox, so configurations were manually added. &lt;/p&gt;

&lt;p&gt;At first error:&lt;code&gt;/usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt not found&lt;/code&gt;, &lt;/p&gt;

&lt;p&gt;I have to download these packages from AUR, and pacman does not directly download those packages using &lt;code&gt;pacman -S&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone https://aur.archlinux.org/ffuf.git
cd ffuf
makepkg -si
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;is the easiest way to download packages from AUR. There were hiccups at first, like AUR being unreachable. Tried to &lt;code&gt;ping&lt;/code&gt; it, and it was unreachable but after restarting my machine and pinging google, making sure I can reach other sites, AUR finally was reachable. &lt;/p&gt;

&lt;p&gt;Make sure that the wordlists package is also installed, which is also in AUR. The very tricky part here which I finally cracked after some forum hopping is that the default path might be different, not the &lt;code&gt;ffuf -w /usr/share/wordlists/SecLists/Discovery/Web-Content/common.txt -u http://MACHINE_IP/FUZZ&lt;/code&gt; in THM. I found this while simultaneously solving why the GNU default command &lt;code&gt;locate&lt;/code&gt; wasn't working.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo pacman -S mlocate
updatedb
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And finally, found the path after executing &lt;code&gt;locate common.txt&lt;/code&gt; which was &lt;code&gt;/usr/share/wordlists/dirb/common.txt&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;And after all those errors, found the answers to:&lt;/p&gt;

&lt;p&gt;What is the name of the directory beginning "/mo...." that was discovered?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;monthly&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What is the name of the log file that was discovered?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;development.log&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As I wasn't using the default attackbox, it was fun solving these errors. &lt;/p&gt;

</description>
      <category>thm</category>
    </item>
  </channel>
</rss>
