Programmieren – die besten Beiträge

Wie React Icons ausfüllen / Alternative?

In meiner React Component (siehe unten) ist leider das Icon ArrowUpCircleSharp von "react-icons" innen unausgefüllt was nicht schön aussieht wenn es sich über Text und Bilder bewegt, andere Icons wie von FontAwesome Material Icons haben das gleiche Problem. Ich habe es versucht mit den Props Stroke, Fill und mit CSS background, ändert aber nur das Schwarze außen und nicht innerhalb vom Icon.
Was kann ich tun ? Will jetzt nicht umbedingt eine ganze Library einbinden für das Icon, bei react-icons hab ich den Vorteil das es nur die benutzen auch wirklich nutzt,

'use client';
import { useEffect, useState } from "react";
import "../.././assets/styles/components/ScrollToTop/ScrollToTop.scss";
import { IoArrowUpCircleSharp} from "react-icons/io5";


export const ScrollToTop = () => {

const [ScrollY,setScrollY] = useState<number>(0);

useEffect(() => {
    window.addEventListener("scroll",() => setScrollY(document.documentElement.scrollTop))

    return () => {
        window.addEventListener("scroll",() => setScrollY(document.documentElement.scrollTop))
    }
}, [ScrollY])

    return(

        <div
            onClick={()=>{ScrollY > 100 ?
            window.scrollTo({
                behavior : "smooth",
                left : 0,
                top : 0})
            :
            window.scrollTo({
                behavior : "smooth",
                left : 0,
                top : document.body.scrollHeight});
            }}
        className={`ScrollToTop ${ScrollY > 100 ? " ScrollToTop_Up" : "ScrollToTop_Down"}`}>
                <IoArrowUpCircleSharp/>
        </div>
    )
}
Bild zum Beitrag
App, HTML, Webseite, programmieren, CSS, JavaScript, Informatik, Programmiersprache, Webentwicklung, Frontend, React, node

Wie kriege ich mit ROP einen "/bin/sh" Pointer in rdi?

Ich versuche, rücksprungorientierte Programmierung (ROP) zu lernen.

Und zwar habe ich ein Programm mit einem Pufferüberlauf auf dem Stack, und ich möchte das Programm dazu bringen, /bin/sh zu öffnen.

Das geht mit dem execve Syscall, wenn ich die richtigen Instruktionen finden kann, um die Funktionsparameter vorzubereiten. Das ist die Signatur von execve:

int execve(const char *pathname, char *const _Nullable argv[], char *const _Nullable envp[]);

Also muss ich die folgenden Register setzen:

  • rax = 0x3b (Syscallnummer von execve)
  • rdi = "/bin/sh" Pointer
  • rsi = NULL
  • rdx = NULL

Die folgenden Instruktionen habe ich bereits gefunden:

pop rax ; ret
pop rdi ; ret
pop rsi ; ret
pop rdx ; ret
syscall

Ich kann also die Instruktionen und Registerwerte mit dem Pufferüberlauf auf den Stack schreiben und so meine Register füllen. Das Problem ist aber, dass ich einen "/bin/sh" Pointer in rdi brauche (also nicht "/bin/sh" im Register, sondern eine Speicheradresse, an der "/bin/sh" steht).

Ich kann natürlich "/bin/sh" in den Puffer auf dem Stack schreiben, aber leider ist die Speicheradresse jedes Mal anders und ich kenne sie vorher nicht.

Ich weiß, dass "/bin/sh" in libc vorkommt, aber auch dort ist die Speicheradresse jedes Mal anders und ich kenne sie vorher nicht.

Wie komme ich also an einen "/bin/sh" Pointer? Gibt es Tricks oder bestimmte Instruktionen, nach denen ich mich umsehen sollte?

hacken, Hack, Programm, programmieren, pointer, Assembler, Hacker, Hacking, Informatik, IT-Sicherheit, Shell, stack, x64, Exploit, hacken lernen, IT-Sicherheitsexperte, Register, Capture The Flag

Wann sollte man eurer Ansicht nach die Arbeit kündigen?

Ich arbeite seit Jahren für eine Gesellschaft. Ich stehe vor der Herausforderung nicht kündigen zu können und gleichzeitig nicht bleiben zu können :(

Neben meinem Studium begann ich für die Gesellschaft zu arbeiten. Mit der Zeit wurde ich nach und nach in verschiedene Abteilungen eingesetzt. Nach dem Studium arbeitete ich in Vollzeit aber es war zunehmend etwas komplizierter da ich mich mein Urlaub mit mehreren Abteilungen abstimmen musste und teils mehrere Signaturen und Telefonnummern hatte..

Als Vollzeitkraft ging das einfach nicht so einfach und habe darum gebeten nur noch in einer Abteilung zu arbeiten, das hatte große Auswirkungen, dadurch hatte mein direkter Vorgesetzter keinerlei Ahnung von meiner Arbeit. Er dient quasi nur als Ansprechpartner für Urlaubsplanung, Krankmeldungen und allgemeine organisatorische Fragen wie Brandschutz- Unterweisungen oder die Beantragung von Schulungen oder einen neuen Computer...

Letztendlich arbeite ich viel eng mit der Direktion , die allerdings noch weniger Ahnung von meiner Arbeit hat.

Meine Arbeit besteht hauptsächlich darin, Datenbanken zu initiieren und diese – umzusetzen, irgend welche Skripte um Systeme zu automatisieren oder einfach Kosten einzusparen. Manchmal werde ich einfach nach meine Meinung gefragt. Aber die Arbeit selbst oder die Projekte werden dann von irgend welche Kollegen ausgeführt, meistens Aushilfen, Azubis oder irgend welche Mitarbeiter. Effektiv arbeite ich jedoch kaum..

Mein Arbeitsalltag sieht folgendermaßen aus:

  • Ankunft im Büro, Begrüßung der Kollegen, Besuche dann mit irgend einen Kollegen die Cafeteria
  • Erst danach setze ich mich auf dem Schreibtisch, durchfliege E-Mails und sage Termie ab oder zu.
  • Danach folgt meistens eine unnötiges "joure fixe"
  • Dann führe ich ein paar Telefonate mit paar Kollegen und verliere unnötig Zeit weil wir über belangloses Quatschen, etwa den neuesten Tratsch.
  • Und dann ist schon knapp 12 Uhr, also gehe ich mit Kollegen zum Mittagessen.
  • Ab etwa 13:00 Uhr bin ich theoretisch ready zum Arbeit, häufig jedoch fahre ich mit dem Geschäftsauto in die Zentrale für irgend ein Meeting weil dort die Abteilungsleitung sitzt - weil ich anschließend wieder das Auto zurück Fahre und das Fahrzeug abgenommen wird und alles natürlich Arbeitszeit ist, verstreicht erst recht unnötig Zeit.
  • Wenn ich wieder Zurück bin ist meistens auch schon Feierabend also fahre ich gleich wieder.

An Home-Office-Tagen ist der Arbeitsalltag noch weniger produktiv. Präsentationen, die ich halte, bereite ich meist nur kurzfristig vor.

All diese Faktoren führen dazu, dass ich meine Arbeit hasse. Sie ist sinnlos und es macht keinen Unterschied, ob ich da bin oder nicht. Das habe ich sowohl der Direktion als auch meinem Vorgesetzten gesagt. Da die Arbeitseinteilung vom Vorstand so vorgegeben ist, "ist es eben so" - und so verbringe ich Tag für Tag und sehe keinen Ausweg.

Ich hatte in den letzten Monaten einige Vorstellungsgespräche durch Empfehlungen, durchaus interessante Arbeitgeber, die mich sofort einstellen würden, aber die Bezahlung ist meist deutlich schlechter und da ich mich an einen gewissen Lebensstandard gewöhnt habe, möchte ich auch nicht weniger verdienen. Zumal ich sehr viele Vergünstigungen erhalte, wie z.B. eine perfekte Parkplatzzuweisung, um die mich alle beneiden, und viele andere Vorteile, von denen man bei anderen Arbeitgebern nur träumen kann.

Also weiß ich einfach nicht weiter - ich kann nicht bleiben und gehen kann ich auch nicht :( Es gibt diverse Kollegen, die in einer ähnlichen Situation sind, nur sind die direkten Vorgesetzten deutlich kompetenter - und alle sagen, dass ich absolut dumm wäre, wenn ich kündigen würde und dass es die schlechteste Entscheidung wäre, die ich jemals treffen könnte.

Ich möchte nicht so enden wie die meisten vom Vorstand, die sind schon seit teils 20 Jahren im Unternehmen, für mich eine absolute Horror-Vorstellung die nächsten Jahre so zu verbringen.

Arbeit, Software, Kündigung, Studium, Job, Geld, programmieren, Karriere, Arbeitsalltag, Firma, Organisation, Soziales, Unternehmen

Meistgelesene Beiträge zum Thema Programmieren