Skip to content
Snippets Groups Projects
Commit 5d28aec9 authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Notizen und Beispiele 17.6.2024

parent 63a30dbc
No related branches found
No related tags found
No related merge requests found
Massenspeicherverwaltung: Dateisysteme
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:) FAT-Dateisystem (MS-DOS)
- Cluster, File Allocation Table (FAT),
verkettete Liste von Clustern, Boot-Sektor, Wurzelverzeichnis
:) Bootvorgang
:) Datenrettung
:) ext2-Dateisystem (Linux):
......@@ -11,13 +13,37 @@ Massenspeicherverwaltung: Dateisysteme
Gleitkommazahlen
~~~~~~~~~~~~~~~~
- Interne Darstellung: Mantisse, Vorzeichen, Charakteristik
- Begrenzte Auflösung, z.B.:
print (2.7e30 + 1)
--> 2.7e30
- Summen sortiert aufaddieren: kleine Zahlen zuerst
- Differenzbildungen vermeiden (z.B. bei Ableitung)
Trick zum Ableiten: Fourier-Transformation ("F")
f'(t) = F⁻¹ (i\omega F(f(t))(\omega))(t)
f''(t) = F⁻¹ ((i\omega)² F(f(t))(\omega))(t)
f'''(t) = F⁻¹ ((i\omega)³ F(f(t))(\omega))(t)
Memory-Mapping
==============
Shared Memory --> shm*.c
Kommunikation mit dem X11-Tastaturtreiber
=========================================
man setxkbmap
- setxkbmap -layout "de,ru" -option "caps:super,lv3:rwin_switch,lv3:menu_switch,grp:lwin_switch,grp:shift_caps_toggle,grp_led:scroll"
- caps:super: mache CapsLock zu einem zusätzlichen Modifizierer, beliebig einsetzbar
- lv3: mache Taste zu zusätzlichem AltGr
- grp: Umschalten zwischen verschiedenen Tastaturbelegungen (hier: deutsch, russisch)
man xbindkeys
- von überallher per Tastendruck zusätzliche Funktionen aufrufen
- Beispiele: Screenshot, Mikrofon an/aus, Mausklick, ...
Exploits
========
......@@ -34,6 +60,9 @@ Vorab:
Gewöhnen Sie sich von vorneherein an,
sauber und ordentlich zu programmieren.
Wer Sicherheitslücken meldet, wird u.U. angezeigt:
https://netzpolitik.org/2021/cdu-connect-berliner-lka-ermittelt-gegen-it-expertin-die-sicherheitsluecken-in-partei-app-fand/
Anleitungen für Exploits:
http://www.computersecuritystudent.com/SECURITY_TOOLS/BUFFER_OVERFLOW/WINDOWS_APPS/lesson1/index.html
http://www.thesprawl.org/research/exploit-exercises-protostar-stack/
......@@ -63,9 +92,13 @@ SQL Injection: http://xkcd.com/327/
insert into students values ('Robert'); drop table students; --', 'Lenhard', '3b');
Lösung des Problems: Escape-Sequenzen, Prepared Statements.
Lösung des Problems: Escape-Sequenzen, besser: Prepared Statements.
Damit ist es möglich, auch ungewöhnliche Zeichen in Strings aufzunehmen.
insert into students values ('Robert''); drop table students; --', 'Lenhard', '3b');
^^
Apostroph einfügen
Vortrag zum Thema Namensvalidierung: https://media.ccc.de/v/rc3-channels-2020-77-your-name-is-invalid-
Noch blöder: Java-Browser-Applet enthält Passwörter im Klartext:
......
#include <unistd.h>
int main (void)
{
write (1, "Hello, world!\n", 14);
return 0;
}
......@@ -4,7 +4,7 @@
int main (void)
{
int shm = shm_open ("test", O_RDWR, 0666);
int shm = shm_open ("test", O_CREAT, 0666);
write (shm, "Hello, world!", 13);
return 0;
}
......@@ -6,7 +6,7 @@
int main (void)
{
char buffer[42];
int shm = shm_open ("test", O_RDONLY, 0444);
int shm = shm_open ("test", O_RDONLY, 0);
read (shm, buffer, 42);
printf ("%s\n", buffer);
return 0;
......
......@@ -6,7 +6,7 @@
int main (void)
{
char buffer[42];
int shm = shm_open ("test", O_RDONLY, 0444);
int shm = shm_open ("test", O_RDONLY, 0);
read (shm, buffer, 42);
close (shm);
printf ("%s\n", buffer);
......
......@@ -5,7 +5,7 @@
int main (void)
{
int shm = shm_open ("test", O_RDONLY, 0444);
int shm = shm_open ("test", O_RDONLY, 0);
char *buffer = mmap (NULL, 42, PROT_READ, MAP_SHARED, shm, 0);
printf ("%s\n", buffer);
munmap (buffer, 42);
......
......@@ -5,7 +5,7 @@
int main (void)
{
int file = open ("test.txt", O_RDONLY, 0444);
int file = open ("test.txt", O_RDONLY, 0);
char *buffer = mmap (NULL, 42, PROT_READ, MAP_SHARED, file, 0);
printf ("%s\n", buffer);
munmap (buffer, 42);
......
#include <sys/mman.h>
#include <error.h>
#include <errno.h>
int main (void)
{
shm_unlink ("test");
if (shm_unlink ("test") < 0)
error (errno, errno, "cannot unlink shm \"test\"");
return 0;
}
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment