forked from nihonium/linux-auth
Merge branch fuzz into sast, restore imported modules after bad fuzz try install (now it is sast version again after debian 13 clear build)
This commit is contained in:
commit
c08bdc9480
27 changed files with 367 additions and 0 deletions
61
README.md
61
README.md
|
|
@ -168,3 +168,64 @@ bash scripts run_sast_sarif.sh
|
|||
```
|
||||
|
||||
Результаты анализа в sast_results (3 утилиты для SAST).
|
||||
|
||||
## Запуск фаззинга
|
||||
|
||||
Сначала соберите приложение и инициализируйте тестовую базу (init_users).
|
||||
|
||||
Далее (для учебных целей фаззинг ограничен по времени - 5 минут):
|
||||
|
||||
1. Запуск нативного фаззера (проверка функции аутентификации, ограничение в 1 поток для нормальной работы БД SQLite)
|
||||
|
||||
1.1. cd myfuzz
|
||||
|
||||
1.2. ./run_fuzz.sh
|
||||
|
||||
1.3. ./view_fuzz_coverage.sh
|
||||
|
||||
2. Запуск AFL++ в режиме blackbox (фаззинг готового бинарника)
|
||||
|
||||
2.1. cd aflfuzz
|
||||
|
||||
2.2. ./install.sh
|
||||
|
||||
2.3. ./run_fuzz.sh
|
||||
|
||||
### Попытка скрестить gccgo и afl провалилась, оставлю для истории
|
||||
|
||||
3. Запуск AFL++ при компиляции через gccgo (установите AFL++ как в пункте 2.2. если ещё не сделали этого)
|
||||
|
||||
3.1. cd aflfuzz
|
||||
|
||||
3.2. ./install_gccgo_for_afl.sh
|
||||
|
||||
3.3. ./build_for_afl.sh
|
||||
|
||||
3.4. ./run_afl.sh
|
||||
|
||||
### Черновики для go-fuzz
|
||||
|
||||
На данный момент установка по официальной инструкции https://github.com/dvyukov/go-fuzz/blob/master/README.md не работает по причине golang.org/x/tools@v0.44.0 requires go >= 1.25.0 (running go 1.24.4)
|
||||
|
||||
4. Запуск go-fuzz
|
||||
|
||||
4.1. cd myfuzz
|
||||
|
||||
4.2. ./install_go-fuzz.sh (тут возникают проблемы, поэтому следующие шаги проверить не удалось + оказалось, что первая версия конфликтует с нативным фаззингом из пункта 1)
|
||||
|
||||
4.3. ./build_for_go-fuzz.sh
|
||||
|
||||
4.4. ./run_go-fuzz.sh
|
||||
|
||||
### Последняя попытка (тоже неудачная)
|
||||
|
||||
Утилита обещает поддержку 4 фаззеров, оказалось это просто обёртка для генерации тестов в 4 форматах и запуска фаззеров.
|
||||
Из заявленных фаззеров удалось запустить только нативный (но я это и так сделал в пункте 1), а также сгенерировать тест для go-fuzz (но запустить не удалось, см. пункт 4 выше), для libfuzzer и afl даже тесты не сгенерировались (как я понял, тоже надо самому установить все нужные бинарники).
|
||||
|
||||
5. Запуск golang-fuzz
|
||||
|
||||
5.1. cd golang-fuzz
|
||||
|
||||
5.2. ./install_golang-fuzz.sh
|
||||
|
||||
5.3. ./run_golang-fuzz.sh
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue