Skip to content

Commit

Permalink
Doc update
Browse files Browse the repository at this point in the history
  • Loading branch information
andreas-zeller committed Apr 30, 2024
1 parent 81f866c commit 44bb5c4
Show file tree
Hide file tree
Showing 228 changed files with 33,114 additions and 33,561 deletions.
5 changes: 4 additions & 1 deletion docs/404.html
Expand Up @@ -11981,6 +11981,9 @@
<article>
<div tabindex="-1" id="notebook" class="border-box-sizing">
<div class="container" id="notebook-container">
<p><div class="banner">Help shaping the future of The Fuzzing Book and
<a target=_new href="https://docs.google.com/forms/d/e/1FAIpQLScyO6j5EsrtS0pse7qVHeDoOj188JgC8SepWFZIO32N6gre8Q/viewform?usp=sf_link">take part in our 2024 reader survey!</a></div></p>


<div class="input_markdown">
<div class="cell border-box-sizing text_cell rendered">
Expand Down Expand Up @@ -12153,7 +12156,7 @@

<div class="output_subarea output_stream output_stderr output_text">
<pre>Traceback (most recent call last):
File &#34;/var/folders/n2/xd9445p97rb3xh7m1dfx8_4h0006ts/T/ipykernel_84642/1830731544.py&#34;, line 4, in &lt;cell line: 3&gt;
File &#34;/var/folders/n2/xd9445p97rb3xh7m1dfx8_4h0006ts/T/ipykernel_71803/1830731544.py&#34;, line 4, in &lt;cell line: 3&gt;
raise NotFoundError
NotFoundError: &#39;404&#39; (expected)
</pre>
Expand Down
2 changes: 1 addition & 1 deletion docs/code/01_Intro.py
Expand Up @@ -3,7 +3,7 @@

# "Part I: Whetting Your Appetite" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/01_Intro.html
# Last change: 2024-01-18 18:13:45+01:00
# Last change: 2024-04-27 15:41:09+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
2 changes: 1 addition & 1 deletion docs/code/02_Lexical_Fuzzing.py
Expand Up @@ -3,7 +3,7 @@

# "Part II: Lexical Fuzzing" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/02_Lexical_Fuzzing.html
# Last change: 2024-01-18 18:13:59+01:00
# Last change: 2024-04-27 15:41:25+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
2 changes: 1 addition & 1 deletion docs/code/03_Syntactical_Fuzzing.py
Expand Up @@ -3,7 +3,7 @@

# "Part III: Syntactic Fuzzing" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/03_Syntactical_Fuzzing.html
# Last change: 2024-01-18 18:15:48+01:00
# Last change: 2024-04-27 15:43:50+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
2 changes: 1 addition & 1 deletion docs/code/04_Semantical_Fuzzing.py
Expand Up @@ -3,7 +3,7 @@

# "Part IV: Semantic Fuzzing" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/04_Semantical_Fuzzing.html
# Last change: 2024-01-18 18:18:47+01:00
# Last change: 2024-04-27 15:47:24+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
2 changes: 1 addition & 1 deletion docs/code/05_Domain-Specific_Fuzzing.py
Expand Up @@ -3,7 +3,7 @@

# "Part V: Domain-Specific Fuzzing" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/05_Domain-Specific_Fuzzing.html
# Last change: 2024-01-18 18:20:55+01:00
# Last change: 2024-04-27 15:49:58+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
2 changes: 1 addition & 1 deletion docs/code/06_Managing_Fuzzing.py
Expand Up @@ -3,7 +3,7 @@

# "Part VI: Managing Fuzzing" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/06_Managing_Fuzzing.html
# Last change: 2024-01-18 18:28:08+01:00
# Last change: 2024-04-27 15:55:49+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
2 changes: 1 addition & 1 deletion docs/code/99_Appendices.py
Expand Up @@ -3,7 +3,7 @@

# "Appendices" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/99_Appendices.html
# Last change: 2024-01-18 18:30:44+01:00
# Last change: 2024-04-27 15:58:46+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
2 changes: 1 addition & 1 deletion docs/code/APIFuzzer.py
Expand Up @@ -3,7 +3,7 @@

# "Fuzzing APIs" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/APIFuzzer.html
# Last change: 2024-01-18 18:21:12+01:00
# Last change: 2024-04-27 15:50:19+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
2 changes: 1 addition & 1 deletion docs/code/AcademicPrototyping.py
Expand Up @@ -3,7 +3,7 @@

# "Academic Prototyping" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/AcademicPrototyping.html
# Last change: 2024-01-18 18:30:47+01:00
# Last change: 2024-04-27 15:58:52+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
8 changes: 4 additions & 4 deletions docs/code/Carver.py
Expand Up @@ -3,7 +3,7 @@

# "Carving Unit Tests" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/Carver.html
# Last change: 2024-01-18 18:21:19+01:00
# Last change: 2024-04-27 15:50:28+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down Expand Up @@ -75,19 +75,19 @@
>>> my_sqrt_grammar
{'': [''],
'': [''],
'': ['4', '2'],
'': ['2', '4'],
'': ['my_sqrt()']}
This grammar can be used to synthesize calls.
>>> fuzzer = GrammarCoverageFuzzer(my_sqrt_grammar)
>>> fuzzer.fuzz()
'my_sqrt(2)'
'my_sqrt(4)'
These calls can be executed in isolation, effectively extracting unit tests from system tests:
>>> eval(fuzzer.fuzz())
2.0
1.414213562373095
For more details, source, and documentation, see
Expand Down
2 changes: 1 addition & 1 deletion docs/code/ClassDiagram.py
Expand Up @@ -3,7 +3,7 @@

# "Class Diagrams" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/ClassDiagram.html
# Last change: 2024-01-18 18:31:25+01:00
# Last change: 2024-04-27 15:59:39+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
59 changes: 34 additions & 25 deletions docs/code/ConcolicFuzzer.py
Expand Up @@ -3,7 +3,7 @@

# "Concolic Fuzzing" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/ConcolicFuzzer.html
# Last change: 2024-01-18 18:20:33+01:00
# Last change: 2024-04-27 15:49:26+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down Expand Up @@ -89,28 +89,28 @@
>>> _[cgi_decode](v)
>>> scf.add_trace(_, v)
' '
'+'
'%'
'+A'
'AB'
'++'
'++A'
'+++'
''
'ABC'
'A'
'+A'
'+++A'
'AB+'
'AB'
'ABCD'
IndexError: string index out of range (expected)
'+AB'
'++'
'%'
'++AB'
'++A+'
'+A'
'++'
'+'
'+%'
'ABC+'
'A'
'ABC'
'ABC%'
'A%'
'ABC+DE'
'AB'
'AB+'
'A'
'ABCD'
'A'
IndexError: string index out of range (expected)
IndexError: string index out of range (expected)
Expand Down Expand Up @@ -138,18 +138,27 @@
>>> print(e)
>>> cgf.update_grammar(_)
>>> print()
select 245 from :2 where r(_)-N+e>n
Table (':2') was not found
insert into W (Ru_2,.Wj186518W8) values ('@','}','h')
Table ('W') was not found
select S>R(j),A from C3 where U4==9249
Table ('C3') was not found
select I/I*U/n1(M),T/E*d(S) from months
Invalid WHERE ('(I/I*U/n1(M),T/E*d(S))')
select (v==X),t,h,E from vehicles where r8(w)B/P(g)
select x/z+.(L)-h from vehicles where -9!=Y>G(A)
delete from months where Q/x/j/q(p)/H*h-B==cz
Invalid WHERE ('Q/x/j/q(p)/H*h-B==cz')
delete from h4OB60J where K-w/MA) from months where B(e,R)>D
insert into vehicles (:b) values (22.72)
Column (':b') was not found
select i*q!=(4) from vehicles where L*S/l/u/b+b==W
TypeError: 'NotImplementedType' object is not callable (expected)
TypeError: 'NotImplementedType' object is not callable (expected)
TypeError: 'NotImplementedType' object is not callable (expected)
TypeError: 'NotImplementedType' object is not callable (expected)
delete from vehicles where W/V!=A(f)+tL+S))==((:+lL+S))==((:+l
For more details, source, and documentation, see
"The Fuzzing Book - Concolic Fuzzing"
at https://www.fuzzingbook.org/html/ConcolicFuzzer.html
Expand Down
2 changes: 1 addition & 1 deletion docs/code/ConfigurationFuzzer.py
Expand Up @@ -3,7 +3,7 @@

# "Testing Configurations" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/ConfigurationFuzzer.html
# Last change: 2024-01-18 18:21:07+01:00
# Last change: 2024-04-27 15:50:12+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
2 changes: 1 addition & 1 deletion docs/code/ControlFlow.py
Expand Up @@ -3,7 +3,7 @@

# "Control Flow Graph" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/ControlFlow.html
# Last change: 2024-01-18 18:31:35+01:00
# Last change: 2024-04-27 15:59:53+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
2 changes: 1 addition & 1 deletion docs/code/Coverage.py
Expand Up @@ -3,7 +3,7 @@

# "Code Coverage" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/Coverage.html
# Last change: 2024-01-18 18:14:22+01:00
# Last change: 2024-04-27 15:42:06+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
2 changes: 1 addition & 1 deletion docs/code/DynamicInvariants.py
Expand Up @@ -3,7 +3,7 @@

# "Mining Function Specifications" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/DynamicInvariants.html
# Last change: 2024-01-18 18:20:52+01:00
# Last change: 2024-04-27 15:49:54+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
8 changes: 4 additions & 4 deletions docs/code/ExpectError.py
Expand Up @@ -3,7 +3,7 @@

# "Error Handling" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/ExpectError.html
# Last change: 2024-01-18 18:31:13+01:00
# Last change: 2024-04-27 15:59:21+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down Expand Up @@ -47,7 +47,7 @@
>>> with ExpectError():
>>> x = 1 / 0
Traceback (most recent call last):
File "/var/folders/n2/xd9445p97rb3xh7m1dfx8_4h0006ts/T/ipykernel_82852/2664980466.py", line 2, in
File "/var/folders/n2/xd9445p97rb3xh7m1dfx8_4h0006ts/T/ipykernel_69748/2664980466.py", line 2, in
x = 1 / 0
ZeroDivisionError: division by zero (expected)
Expand All @@ -63,9 +63,9 @@
3 seconds have passed
Traceback (most recent call last):
File "/var/folders/n2/xd9445p97rb3xh7m1dfx8_4h0006ts/T/ipykernel_82852/1223755941.py", line 2, in
File "/var/folders/n2/xd9445p97rb3xh7m1dfx8_4h0006ts/T/ipykernel_69748/1223755941.py", line 2, in
long_running_test()
File "/var/folders/n2/xd9445p97rb3xh7m1dfx8_4h0006ts/T/ipykernel_82852/3930412460.py", line 4, in long_running_test
File "/var/folders/n2/xd9445p97rb3xh7m1dfx8_4h0006ts/T/ipykernel_69748/3930412460.py", line 4, in long_running_test
time.sleep(1)
File "/Users/zeller/Projects/fuzzingbook/notebooks/Timeout.ipynb", line 43, in timeout_handler
raise TimeoutError()
Expand Down
2 changes: 1 addition & 1 deletion docs/code/Fuzzer.py
Expand Up @@ -3,7 +3,7 @@

# "Fuzzing: Breaking Things with Random Inputs" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/Fuzzer.html
# Last change: 2024-01-18 18:14:12+01:00
# Last change: 2024-04-27 15:41:53+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
2 changes: 1 addition & 1 deletion docs/code/FuzzingInTheLarge.py
Expand Up @@ -3,7 +3,7 @@

# "Fuzzing in the Large" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/FuzzingInTheLarge.html
# Last change: 2024-01-18 18:29:54+01:00
# Last change: 2024-04-27 15:57:51+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down
24 changes: 12 additions & 12 deletions docs/code/FuzzingWithConstraints.py
Expand Up @@ -3,7 +3,7 @@

# "Fuzzing with Constraints" - a chapter of "The Fuzzing Book"
# Web site: https://www.fuzzingbook.org/html/FuzzingWithConstraints.html
# Last change: 2024-01-18 18:19:50+01:00
# Last change: 2024-04-27 15:48:33+02:00
#
# Copyright (c) 2021-2023 CISPA Helmholtz Center for Information Security
# Copyright (c) 2018-2020 Saarland University, authors, and contributors
Expand Down Expand Up @@ -75,24 +75,24 @@
With that, invoking `solver.solve()` returns a _solution_ for the constraints.
>>> str(solver.solve())
'(907)203-4265'
'(905)205-7623'
`solve()` returns a derivation tree, which typically is converted into a string using `str()` as above. The `print()` function does this implicitly.
Subsequent calls of `solve()` return more solutions:
>>> for _ in range(10):
>>> print(solver.solve())
(907)789-2197
(907)994-3910
(907)305-0189
(907)617-4056
(907)401-3406
(907)557-9854
(907)898-8434
(907)430-2840
(907)866-1743
(906)893-5683
(905)698-2194
(905)994-3910
(905)305-0189
(905)717-4056
(905)401-3406
(905)557-9854
(905)898-8434
(905)430-2840
(905)866-1743
(907)893-5683
We see that the solver produces a number of inputs that all satisfy the constraint - the area code is always more than 900.
Expand Down

0 comments on commit 44bb5c4

Please sign in to comment.