pub struct SecurityProbeStat {
pub injection: String,
pub accepted: usize,
pub blocked: usize,
pub errored: usize,
}Expand description
Round 59 (#79) — per-injection-type tally of OWASP probes. Srikanth on
0.3.206 was testing a WAF (waaptest.net targets): “owasp: 0 caught / 8127
missed” but “Definite issues: none”, and asked whether real issues were
being hidden. They are not hidden from the CONTRACT view (an SQLi string in
a string field is spec-valid, so it is correctly not a schema violation),
but for a WAF each ACCEPTED injection payload is one it did not block. This
surfaces that count so a security tester sees it without eyeballing rows.
Fields§
§injection: StringInjection family, e.g. sqli, xss, command-injection.
accepted: usizeProbes the target let through (status < 400): for a WAF, NOT blocked.
blocked: usizeProbes the target blocked with a 4xx.
errored: usizeProbes that made the target return a 5xx (also a Definite issue).
Trait Implementations§
Source§impl Clone for SecurityProbeStat
impl Clone for SecurityProbeStat
Source§fn clone(&self) -> SecurityProbeStat
fn clone(&self) -> SecurityProbeStat
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SecurityProbeStat
impl Debug for SecurityProbeStat
Auto Trait Implementations§
impl Freeze for SecurityProbeStat
impl RefUnwindSafe for SecurityProbeStat
impl Send for SecurityProbeStat
impl Sync for SecurityProbeStat
impl Unpin for SecurityProbeStat
impl UnsafeUnpin for SecurityProbeStat
impl UnwindSafe for SecurityProbeStat
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more