Leaderboard
Popular Content
Showing content with the highest reputation on 12/09/24 in all areas
-
Dupa cum zici tu, nu e vina UE, e vina romanilor. Da, nu a celor de la PSD si PNL ca si-au facut averi si au spart bani intre ei, ci ai romanilor ca i-au votat timp de 35 de ani. CG nu e Pro UE cand urmarind videoclipuri cu el de acum 2-3 ani vezi ca e fan Rusia. Sputnik a scris ca e sustinator rus, asta nu am vazut in vreo stire ci am verificat eu. Cat despre CG, nu doar asta e problema, ci ca e si retardat, la fel ca nevasta-sa. Zice ca s-a intalnit cu o civilizatie care nu e umana, ca apa are informatii, daca o imbuteliezi nu mai are si o gramada de alte bazaconii pe care nici Andrei de la Insula Iubirii nu le putea scoate nici pe LSD. Sa nu mai zic ca trebuie sa purtam fuste ca din pamant vine energia sau ce sloboz zicea nevasta-sa aia. Sa fim seriosi, daca ar stii toate lucrurile astea, nu ar mai vota nimeni cu el, dar in "reclamele" de pe tik tok nu apare nimic negativ. Si asa cum daca vezi o reclama la un produs nu te arunci sa il cumperi ci iti pierzi putin timp sa vezi review-uri, asa nu ar trebui nici sa votezi, doar ca ai vazut un filmulet cu un Gigel si ca pare de treaba sau ca pare destept sau mai stiu eu ce. Si Floricica Dansatoarea daca se imbraca mai elegant si citeste un discurs pare la fel. Tara merge prost pentru ca unii sa o duca bine, asa a fost mereu. Si aici discutia e foarte lunga si nu are rost. De aceea inteleg perfect nevoie de schimbare, dar daca facem o schimbare, sa nu alegem un nebun sa ne conduca si sa ne reprezinte. Cel putin sa ne mai documentam inainte de a pune acea stampila, ca nu votam un concurent la Puterea Dragostei ci ne alegem presedintele.2 points
-
Pai si CG zice ca e pro-UE. Asta e o lozinca ca aia cu anti-coruptie. Nu inseamna nimic. Eu ziceam ca e penibil sa vii sa imi ceri sa te votezi ca esti pro-UE. De ce au votat CG? Ca nu e niciun fel de bunastare in tara asta si nu ii mai suporta pe astia. 15% din forta de munca e saraca din cauza salariilor mici si a taxelor mari pe munca salariata. https://www.europeandatajournalism.eu/cp_data_news/working-poverty-is-still-a-problem-in-europe/ Inflatia e cum e (cea mai mare din UE). Salariul median e pe la 3200 lei sau cat dracu e. Nu s-a gazificat suficient, nu s-a tras apa, nu s-au facut drumuri, cai ferate. In schimb avem coruptie, pensii speciale, evaziunie fiscala. Educatia e sub pamant. Cel mai prost scor PISA. Cel mai mic nr. de absolventi de studii superioare. Cel mai mic nr. de angajati in acelasi domeniu unde au terminat facultatea. Cel mai mare abandon scolar. Cel mai mare grad de analfabetism. Cei mai reticenti fata de consumul de carte. Sanatatea la fel. Cel mai bolnav popor. Pe 47/55 la life expectancy in UE. Locul 1 la infectii nosocomiale in spitale. Mai tre' sa dai si spaga dupa ce-ai cotizat o viata ca nu te baga nimeni in seama. Bonus un prim-ministru prost bata care nu stie ce e aia inflatie si zice ca o familie poate sa traiasca cu 3k lei, un presedinte arogant si prost care se plimba pe banii lor si mai nou isi face si palat.1 point
-
A few days ago, a user contacted me on LinkedIn with a job offer, the message seemed very direct to me, but when I checked his profile and the company he worked for, everything seemed quite normal, and after answering the messages, and starting a process the interview went pretty straight forward (personal interview about my technical background, personal projects, etc), everything very normal up to that point. At the time of the technical interview, this person gave me the link to a repository where the challenge was (a backend/frontend project with a README in the root with the instructions). Maybe it was nerves, or maybe I was too confident, but I didn't review the code before running the project on my machine, but when I started the backend, I notice that although the terminal showed me that the server was running with no errors, I notice that when making any request no log appears, and that caught my attention. After making a review of the code I notice this weird line hidden at the end of a file (Picture 1 and 2) That was the line that prevented the server from running, when I checked that file I found this (Picture 3) The file is obfuscated, but at first glance you can tell it's an IIFE, and using an online tool I tried to decrypt it as much as I could and I found this kind of things (Picture 4, 5, 6, 7, 😎 Clearly that script was gathering information from my computer and sending it to that IP, and from what I can see the information it is trying to retrieve is related to crypto wallets. Obviously, all the responsibility here falls on me for not having reviewed the code at the beginning, or running the project on a virtual machine, as I said at the beginning, perhaps it was the nerves of the "interview" and I forgot about that. Another detail that I noticed after looking at the code more closely is that the folder where the script is is ".svn" (something very familiar to those who used Subversion), but the detail here is that many folders that start with a "." gets hidden by VSCode on the file explorer, so it was harder to notice if I hadn't found the reference in the code. Luckily they haven't been able to take any information from my computer since I don't have anything related to crypto, but I have had to change all my passwords, so lesson learned. Source1 point
-
Iata faptele: 1. CG a avut grassroots movement 2. si daca erau boti rusi (nu-s), ne durea in pula ca democratia e hackable oricum si aia e Noi nu avem in climatul asta public vulgarizat pana la dumnezeu niciun tehnocrat / academician / prof. universitar care sa zica chestiile astea. Ireal! Traiasca Romania pro-europeana cu videochatiste in blocuri cu fosa septica unele langa altele si fara trotuare!1 point
-
Astazi am avut nevoie sa trimit niste notificari la 1000 de persoane si am scris prostia asta pentru trimis: package main import ( "bufio" "encoding/json" "errors" "fmt" "log" "math/rand" "net/http" "net/smtp" "os" "path/filepath" "strings" "time" "mime/multipart" "github.com/gorilla/mux" ) type spaHandler struct { staticPath string indexPath string } // ServeHTTP inspects the URL path to locate a file within the static dir // on the SPA handler. If a file is found, it will be served. func (h spaHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { path := filepath.Join(h.staticPath, r.URL.Path) fi, err := os.Stat(path) if os.IsNotExist(err) || fi.IsDir() { http.ServeFile(w, r, filepath.Join(h.staticPath, h.indexPath)) return } if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } http.FileServer(http.Dir(h.staticPath)).ServeHTTP(w, r) } type loginAuth struct { username, password string } // LoginAuth is used for smtp login auth func LoginAuth(username, password string) smtp.Auth { return &loginAuth{username, password} } func (a *loginAuth) Start(server *smtp.ServerInfo) (string, []byte, error) { return "LOGIN", []byte(a.username), nil } func (a *loginAuth) Next(fromServer []byte, more bool) ([]byte, error) { if more { switch string(fromServer) { case "Username:": return []byte(a.username), nil case "Password:": return []byte(a.password), nil default: return nil, errors.New("Unknown from server") } } return nil, nil } // Function to read email credentials from the file func readEmailCredentials(filename string) ([]string, error) { file, err := os.Open(filename) if err != nil { return nil, err } defer file.Close() var credentials []string scanner := bufio.NewScanner(file) for scanner.Scan() { credentials = append(credentials, scanner.Text()) } if err := scanner.Err(); err != nil { return nil, err } return credentials, nil } // Function to read email addresses from an uploaded file func readEmailAddressesFromFile(file multipart.File) ([]string, error) { var emailAddresses []string scanner := bufio.NewScanner(file) for scanner.Scan() { emailAddresses = append(emailAddresses, scanner.Text()) } if err := scanner.Err(); err != nil { return nil, err } return emailAddresses, nil } // Function to send an email using random credentials func sendEmail(fromAddr, password, smtpServer, port, toAddr, subject, body string) error { smtpAddr := fmt.Sprintf("%s:%s", smtpServer, port) // Use the custom LOGIN authentication method auth := LoginAuth(fromAddr, password) msg := []byte(fmt.Sprintf("From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n%s\r\n", fromAddr, toAddr, subject, body)) err := smtp.SendMail(smtpAddr, auth, fromAddr, []string{toAddr}, msg) return err } func main() { router := mux.NewRouter() router.HandleFunc("/api/health", func(w http.ResponseWriter, r *http.Request) { json.NewEncoder(w).Encode(map[string]bool{"ok": true}) }) // New API endpoint for sending email using email addresses from the uploaded file and the user-written message router.HandleFunc("/api/send-email", func(w http.ResponseWriter, r *http.Request) { // Parse the form data err := r.ParseMultipartForm(10 << 20) // Limit the file size to 10MB if err != nil { http.Error(w, "Error parsing form", http.StatusBadRequest) return } // Get the uploaded file file, _, err := r.FormFile("emails") if err != nil { http.Error(w, "Error getting file", http.StatusBadRequest) return } defer file.Close() // Read email addresses from the uploaded file emailAddresses, err := readEmailAddressesFromFile(file) if err != nil { http.Error(w, fmt.Sprintf("Error reading email addresses: %v", err), http.StatusInternalServerError) return } // Read the credentials from the file credentials, err := readEmailCredentials("smtps.txt") if err != nil { http.Error(w, fmt.Sprintf("Error reading credentials: %v", err), http.StatusInternalServerError) return } // Select a random credential line credential := credentials[rand.Intn(len(credentials))] parts := strings.Split(credential, "|") if len(parts) != 4 { http.Error(w, "Invalid credential format", http.StatusInternalServerError) return } // Extract the SMTP server, port, and email credentials smtpServer := parts[0] port := parts[1] fromAddr := parts[2] password := parts[3] // Use a random email from the uploaded file if len(emailAddresses) == 0 { http.Error(w, "No email addresses found in the uploaded file", http.StatusBadRequest) return } // Get the user-written message from the form message := r.FormValue("message") // Loop through all email addresses and send an email to each for _, email := range emailAddresses { err = sendEmail(fromAddr, password, smtpServer, port, email, "Sorry :( I'm not sure what to do with the information I've found !", message) if err != nil { // If an email fails, log the error and continue with the next email log.Printf("Failed to send email to %s: %v\n", email, err) } else { log.Printf("Successfully sent email to %s\n", email) } } // Return success w.Write([]byte("Emails sent successfully")) }) // Serve SPA (static) files spa := spaHandler{staticPath: "build", indexPath: "index.html"} router.PathPrefix("/").Handler(spa) // Start the server srv := &http.Server{ Handler: router, Addr: "0.0.0.0:8001", WriteTimeout: 15 * time.Second, ReadTimeout: 15 * time.Second, } log.Fatal(srv.ListenAndServe()) } Si pentru verificat liste prostia asta: package main import ( "bufio" "errors" "fmt" "net" "net/smtp" "os" "strings" "sync" "time" ) const maxWorkers = 2 // Limit the number of concurrent workers type loginAuth struct { username, password string } // LoginAuth is used for smtp login auth func LoginAuth(username, password string) smtp.Auth { return &loginAuth{username, password} } func (a *loginAuth) Start(server *smtp.ServerInfo) (string, []byte, error) { return "LOGIN", []byte(a.username), nil } func (a *loginAuth) Next(fromServer []byte, more bool) ([]byte, error) { if more { switch string(fromServer) { case "Username:": return []byte(a.username), nil case "Password:": return []byte(a.password), nil default: return nil, errors.New("Unknown from server") } } return nil, nil } func processCredential(line string, successChan chan<- string, failedChan chan<- string, wg *sync.WaitGroup) { defer wg.Done() // Split the line based on the pipe delimiter "|" parts := strings.Split(line, "|") if len(parts) != 4 { fmt.Printf("Invalid line format: %s\n", line) failedChan <- line return } // Extract the SMTP server, port, email address, and password smtpServer := parts[0] port := parts[1] fromAddr := parts[2] password := parts[3] smtpAddr := smtpServer + ":" + port // Check port availability with a timeout fmt.Printf("Trying to connect to %s for %s\n", smtpAddr, fromAddr) conn, err := net.DialTimeout("tcp", smtpAddr, 5*time.Second) if err != nil { fmt.Printf("Connection to %s failed: %v\n", smtpAddr, err) failedChan <- line return } conn.Close() fmt.Printf("Connection to %s succeeded for %s\n", smtpAddr, fromAddr) // Prepare SMTP authentication using LOGIN method auth := LoginAuth(fromAddr, password) // Message msg := []byte("From: " + fromAddr + "\r\n" + "To: stefan@izdrail.com\r\n" + "Subject: Test Email\r\n" + "\r\n" + "This is a test email.\r\n") // Attempt to send the email err = smtp.SendMail(smtpAddr, auth, fromAddr, []string{"stefan@izdrail.com"}, msg) if err != nil { fmt.Printf("Failed to send email for %s using server %s: %v\n", fromAddr, smtpServer, err) failedChan <- line } else { fmt.Printf("Email sent successfully for %s using server %s\n", fromAddr, smtpServer) successChan <- line } } func main() { // Open the credentials file file, err := os.Open("verify.txt") if err != nil { fmt.Println("Error opening file:", err) return } defer file.Close() // Open success log file for writing successFile, err := os.OpenFile("success.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if err != nil { fmt.Println("Error opening success file:", err) return } defer successFile.Close() // Open failed log file for writing failedFile, err := os.OpenFile("failed.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if err != nil { fmt.Println("Error opening failed file:", err) return } defer failedFile.Close() successChan := make(chan string, maxWorkers) failedChan := make(chan string, maxWorkers) var wg sync.WaitGroup // Worker to write successes go func() { for success := range successChan { if _, err := successFile.WriteString(success + "\n"); err != nil { fmt.Printf("Error writing to success file: %v\n", err) } } }() // Worker to write failures go func() { for failed := range failedChan { if _, err := failedFile.WriteString(failed + "\n"); err != nil { fmt.Printf("Error writing to failed file: %v\n", err) } } }() // Read the file line by line scanner := bufio.NewScanner(file) for scanner.Scan() { line := scanner.Text() wg.Add(1) go processCredential(line, successChan, failedChan, &wg) } if err := scanner.Err(); err != nil { fmt.Println("Error reading file:", err) } wg.Wait() close(successChan) // Close the channel when all work is done close(failedChan) // Close the channel when all work is done } formatul pentru smtp trebuie sa fie de tipul acesta : smtp.adress|port|email|password1 point
-
Cum e fratilor? Unde e democratia? 5 oameni s-au pisat pe milioane de romani. Din pix. Lovitura de stat fara armata, fara nimic. Indiferent cu cine ati votat sau ce favorit ati avut. Democratia s-a dovedit o carpa de sters la cur, asa cum spuneam "Ministrul Justiției: Românii trebuie să voteze în cunoștință de cauză, să afle adevărul despre ce s-a întâmplat" Romanii ar trebui sa-i alerge si sa-i incendieze, baga-si-ar pula in ea de capusala. Sa dea socoteala pentru toti anii de hotie, pentru coruptie, nepotism si 7 generatii din familiile politicienilor ce ar fi trebuit sa-si serveasca tara sa fie batuti in cuie, rastigniti si incendiati.1 point