Forum Discussion

LB's avatar
LB
Icon for Cirrus rankCirrus
5 years ago
Solved

Return ASM Violation in Response

Hey folks,   Is it possible to return the ASM violation in the response body?   If so, what does that logic look like?
  • Ivan_Chernenkii's avatar
    5 years ago

    I don't know how to do it in simple way, but you can try to use ASM iRule for this purpose.

    Something like this:

    when ASM_REQUEST_BLOCKING {

    set x [ASM::violation_data]

    #c_ stands for "custom"

    set c_brp "<html>

             <head>

             <title>This is a custom BRP!</title>

             </head>

             <body>

             <h1>The request was blocked and next violations were detected: [lindex $x 0].</h1>

             </body>

            </html>"

      set c_brplen [string length $c_brp]

     

    HTTP::header replace "Content-length" $c_brplen

     

    #ASM already formed a BRP, so we delete it first and place ours instead

    #d_ stands for "default"

    set d_brplen [ASM::payload length]

    ASM::payload replace 0 $d_brplen $c_brp

    }

     

    Thanks, Ivan