<div dir="ltr">Thanks Bhagya,<br><br>I looked again and the sensor is SNORT v2.9.3.1 (we have a number of different versions and I access multiples on different consoles so I think I saw the wrong one when I said 2.9.5.3).  Hopefully v2.9.3.1 is supported still too :) If no, could there be issues with supported version?<br>
<br>The issue is a problem with holistic recursion on the http_uri buffer.  The engine when looking in the http_uri buffer detects on a content match that comes before a subsequent relative content match.  But the enginge does not properly recurse to find all the (initial) content matches and attempt to match them using the subsequent relative content match.<br>
<br>I have attached a simple pcap.  I do not have a config readily available but (althou as you can see below), the info below shows that the HTTP_INSPECT pre-processor is enabled, working, and inspecting data for the ports and data in the packets.  Here is the datum:<br>
<br>These rules do *NOT* alert:<br><br><span style="color:rgb(102,0,0)"><font><span style="font-family:courier new,monospace">alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Dont Cry 4 Me Trojanina"; flow:established, to_server; content:"GET"; http_method; content:"|2F|"; http_uri; content:"|3A|"; http_uri; distance:1; within:20;)<br>
<br>alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Dont Cry 4 Me Trojanina"; flow:established, to_server; content:"GET"; http_method; content:"|2F|"; http_uri; content:"|3A|"; http_uri; distance:1; <b>within:48</b>;)</span></font></span><br>
<br>Howevers, this one *DOES ALERT*!:<br><br><span style="color:rgb(12,52,61)"><span style="background-color:rgb(255,255,255)"><span style="font-family:courier new,monospace"><span style="color:rgb(39,78,19)">alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Dont Cry 4 Me Trojanina"; flow:established, to_server; content:"GET"; http_method; content:"|2F|"; http_uri; content:"|3A|"; http_uri; distance:1; <b>within:49</b>;</span>)</span></span></span><br>
<br>If you count bytes in the packet you can see that clearly the proper recursion for detection is not taking place.<br><br>Pls let me know if you have any question.<br><br>Tks & Cheers,<br><br>Lord C. <br><div class="gmail_extra">
<br><br><div class="gmail_quote">On Fri, Nov 22, 2013 at 11:58 AM, Bhagya Bantwal <span dir="ltr"><<a href="mailto:bbantwal@...402..." target="_blank">bbantwal@...402...</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div class="im">On Thu, Nov 7, 2013 at 4:42 PM, L0rd Ch0de1m0rt <span dir="ltr"><<a href="mailto:l0rdch0de1m0rt@...2499..." target="_blank">l0rdch0de1m0rt@...2499...</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div>Hello.<br><br></div>@Bad Horse: I tried http_raw_uri and it still does not work.  That is good point about the colon in the uri.  The funny thing is that if I increase the distance, it WILL work so it seems that maybe the parser it getting "stuck" on the first content match (0x2F) and not evaluating everything in full.  To test, I tried this rule and it DID work! :<br>


<br>alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Dont Cry 4 Me Trojanina"; flow:established, to_server; content:"GET"; http_method; content:"|2F|"; http_uri; content:"|3A|"; http_uri; distance:1; <span style="color:rgb(255,0,0)">within:50;</span>)<br>


<br></div><div>@Baggy: I tried a number of versions and the latest was 2.9.5.3 I believe, is that still supported?<br></div></div></blockquote><div><br></div></div><div>Yes. It is supported. Can you please send your conf and pcap for further debugging?</div>

<div><br></div><div>Thanks</div><span class=""><font color="#888888"><div>B </div></font></span><div><div class="h5"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr"><div></div><div><br></div><div>Thanks for everyones' help.<br>
<br>Cheers,<br><br></div>Lord C.<br></div><div><div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Nov 7, 2013 at 12:31 PM, Bhagya Bantwal <span dir="ltr"><<a href="mailto:bbantwal@...402..." target="_blank">bbantwal@...402...</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hello,</div><div><br></div><div>Have you tested with snort version snort 2.9.5.5? With this snort version I see the alert as expected.</div>


<div><br></div><div>If it still doesn't work, you can send me your pcap & conf and I will take a look.</div>
<div><br></div><div>Thanks!</div><span><font color="#888888"><div>B</div></font></span></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div>On Wed, Nov 6, 2013 at 2:01 PM, L0rd Ch0de1m0rt <span dir="ltr"><<a href="mailto:l0rdch0de1m0rt@...2499..." target="_blank">l0rdch0de1m0rt@...2499...</a>></span> wrote:<br>



</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div><div dir="ltr">Hello,<br><br>Previously I posted on this list with an email subject of, "distance, within, and negated matches".  Today I bring another issue that I am having that I believes could be related and is non-trivial and super serious.<br>




<br>When I analyze it I believe that relative (1 byte?) content matches are not being properly applied in the http_uri buffer.  Other buffers for the http preprocessor may be affected as well but I have not tested them but I won't be suprised if they are also infected by this bug.<br>




<br>This is an example of the rule Im using:<br> <br><span style="font-family:courier new,monospace">alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Dont Cry 4 Me Trojanina"; flow:established, to_server; content:"GET"; http_method; content:"|2F|"; http_uri; content:"|3A|"; http_uri; distance:1; within:20;)</span><br>




<br>Using a simple pcap ("Follow TCP stream" output from Ethereal is here:)<br><br><span style="font-family:courier new,monospace">GET /iused/2/trust/the.http_preprocessor/sad1/cr1090hs:SN-IF-FF- HTTP/1.1</span><br>




<br>The rule does not alert even though the Snort output shows that the HTTP data is being properly recognized and processed by the http_inspect preprocessor. The Snort output shows that the specific GET request is being recognized as a HTTP "GET" request.<br>




<br>When I remove the http_inspect directives, the rule starts to work, this is an example:<br><br><span style="font-family:courier new,monospace">alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Dont Cry 4 Me Trojanina"; flow:established, to_server; content:"GET"; http_method; content:"|2F|"; content:"|3A|"; distance:1; within:20;) <br>




</span><br>Is this (still?) a known issue?  I have tested this on multiple different versions of Snort 2.9.<br><br>Cheers,<br><br>Lord C.<br></div>
<br></div></div><div>------------------------------------------------------------------------------<br>
November Webinars for C, C++, Fortran Developers<br>
Accelerate application performance with scalable programming models. Explore<br>
techniques for threading, error checking, porting, and tuning. Get the most<br>
from the latest Intel processors and coprocessors. See abstracts and register<br>
<a href="http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk" target="_blank">http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk</a><br>_______________________________________________<br>




Snort-devel mailing list<br>
<a href="mailto:Snort-devel@lists.sourceforge.net" target="_blank">Snort-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/snort-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/snort-devel</a><br>
Archive:<br>
<a href="http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel" target="_blank">http://sourceforge.net/mailarchive/forum.php?forum_name=snort-devel</a><br>
<br>
Please visit <a href="http://blog.snort.org" target="_blank">http://blog.snort.org</a> for the latest news about Snort!<br></div></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div></div></div><br></div></div>
</blockquote></div><br></div></div>