umeni_exploitace
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Následující verze | Předchozí verze | ||
| umeni_exploitace [2012/02/18 20:16] – vytvořeno djbuldog | umeni_exploitace [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 80: | Řádek 80: | ||
| gs | gs | ||
| </ | </ | ||
| + | |||
| + | ===== Co rika segfault ===== | ||
| + | * tohle jsem nevedel :) je to velice zajimave :) | ||
| + | < | ||
| + | |||
| + | [1000950.117170] nfprofile[19184]: | ||
| + | [1000950.120928] nfprofile[19185]: | ||
| + | [1000950.124587] nfprofile[19186]: | ||
| + | [1005919.114319] nfprofile[32626]: | ||
| + | [1022741.303483] nfprofile[11309]: | ||
| + | [1185433.766166] nfprofile[22225]: | ||
| + | [1185433.770096] nfprofile[22226]: | ||
| + | [1185433.773886] nfprofile[22227]: | ||
| + | [1186145.925757] nfprofile[24369]: | ||
| + | [1191930.527903] nfprofile[9294]: | ||
| + | |||
| + | objdump -NCl on the nfprofile binary tells me 402c67 in the compiled application is in process_data() at line 130 | ||
| + | |||
| + | 121: nffile = GetNextFile(NULL, | ||
| + | 122: if ( !nffile ) { | ||
| + | 123: LogError(" | ||
| + | 124: return; | ||
| + | 125: } | ||
| + | 126: | ||
| + | 127: // store infos away for later use | ||
| + | 128: // although multiple files may be processed, it is assumed that all | ||
| + | 129: // have the same settings | ||
| + | 130: is_anonymized = IP_ANONYMIZED(nffile); | ||
| + | 131: strncpy(Ident, | ||
| + | 132: Ident[IDENTLEN-1] = ' | ||
| + | </ | ||
| + | |||
| + | * a prakticky to bude takove... | ||
| + | < | ||
| + | nfprofile[3448]: | ||
| + | nfprofile[3454]: | ||
| + | nfprofile[3446]: | ||
| + | nfprofile[3458]: | ||
| + | nfprofile[3456]: | ||
| + | nfprofile[3450]: | ||
| + | nfprofile[3452]: | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | $ objdump -DCl / | ||
| + | .. | ||
| + | / | ||
| + | 402727: | ||
| + | process_data(): | ||
| + | / | ||
| + | 40272c: | ||
| + | / | ||
| + | 402731: | ||
| + | / | ||
| + | 402734: | ||
| + | / | ||
| + | 402737: | ||
| + | .. | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== ladeni segmentation fault (segfault) 2 ===== | ||
| + | * zdroje: http:// | ||
| + | * priiklad z praxe | ||
| + | |||
| + | * klasicky vystup pri spusteni programu | ||
| + | < | ||
| + | / | ||
| + | .. | ||
| + | Neoprávněný přístup do paměti (SIGSEGV) | ||
| + | </ | ||
| + | * v dmesg se dozvime vice, ale je to k nicemu. Program umrel pri volani funkce knihovny libc. Nevim ale jakeho, chybi mi backtrace. | ||
| + | < | ||
| + | sfcapd[1407] general protection ip: | ||
| + | </ | ||
| + | * zapnuti coredump | ||
| + | < | ||
| + | ulimit -c unlimited | ||
| + | </ | ||
| + | * vytvoril se mi soubor core | ||
| + | < | ||
| + | Neoprávněný přístup do paměti (SIGSEGV) (core dumped [obraz paměti uložen]) | ||
| + | </ | ||
| + | < | ||
| + | gdb / | ||
| + | </ | ||
| + | * ale moc moudra z toho nevypadlo | ||
| + | < | ||
| + | [195964.091582] sfcapd[1438] general protection ip: | ||
| + | </ | ||
| + | < | ||
| + | (gdb) bt | ||
| + | #0 ____longjmp_chk () at ../ | ||
| + | #1 0x44ca3412556af324 in ?? () | ||
| + | Cannot access memory at address 0x44ca3412556af324 | ||
| + | </ | ||
| + | |||
| + | ===== Systemd coredump ===== | ||
| + | |||
| + | * systemd se stará i o core dumpy | ||
| + | |||
| + | cat / | ||
| + | |/ | ||
| + | |||
| + | * podle [[https:// | ||
| + | * je uložen komprimovaně v xz archívu | ||
| + | |||
| + | * lze taky použít | ||
| + | |||
| + | systemd-coredumpctl list | ||
| + | systemd-coredumpctl dump --output /tmp/aaa | ||
| + | ===== Odkazy ===== | ||
| + | |||
| + | * [[http:// | ||
umeni_exploitace.1329592613.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
