Skip to content
This repository has been archived by the owner on Apr 19, 2021. It is now read-only.

Commit

Permalink
Issue 935: CapMe: improve input validation on stime and etime variables
Browse files Browse the repository at this point in the history
  • Loading branch information
dougburks committed Jun 3, 2016
1 parent 45a6609 commit c5e798b
Show file tree
Hide file tree
Showing 5 changed files with 85 additions and 4 deletions.
6 changes: 4 additions & 2 deletions capme/.inc/callback.php
Original file line number Diff line number Diff line change
Expand Up @@ -93,15 +93,17 @@ function cliscript($cmd, $pwd) {

// Validate user input - start time
// must be greater than 5 years ago and less than 5 years from today
$mintime=time() - 5 * 365 * 24 * 60 * 60;
$maxtime=time() + 5 * 365 * 24 * 60 * 60;
$st_unix= $d[4];
if (!( ($st_unix >= (time() - 5 * 365 * 24 * 60 * 60)) && ($st_unix <= time() + 5 * 365 * 24 * 60 * 60) )) {
if (filter_var($st_unix, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$mintime, "max_range"=>$maxtime))) === false) {
invalidCallback("Invalid start time.");
}

// Validate user input - end time
// must be greater than 5 years ago and less than 5 years from today
$et_unix= $d[5];
if (!( ($et_unix >= (time() - 5 * 365 * 24 * 60 * 60)) && ($et_unix <= time() + 5 * 365 * 24 * 60 * 60) )) {
if (filter_var($et_unix, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$mintime, "max_range"=>$maxtime))) === false) {
invalidCallback("Invalid end time.");
}

Expand Down
6 changes: 4 additions & 2 deletions capme/.inc/functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,8 +82,10 @@ function invalid($string) {

// Validate user input - start time - stime
// must be greater than 5 years ago and less than 5 years from today
$mintime=time() - 5 * 365 * 24 * 60 * 60;
$maxtime=time() + 5 * 365 * 24 * 60 * 60;
if (isset($_REQUEST['stime'])) {
if (!( ($_REQUEST['stime'] >= (time() - 5 * 365 * 24 * 60 * 60)) && ($_REQUEST['stime'] <= time() + 5 * 365 * 24 * 60 * 60) )) {
if (filter_var($_REQUEST['stime'], FILTER_VALIDATE_INT, array("options" => array("min_range"=>$mintime, "max_range"=>$maxtime))) === false) {
invalid("Invalid start time.");
} else {
$stime = $_REQUEST['stime']; $s++;
Expand All @@ -94,7 +96,7 @@ function invalid($string) {
// Validate user input - end time - etime
// must be greater than 5 years ago and less than 5 years from today
if (isset($_REQUEST['etime'])) {
if (!( ($_REQUEST['etime'] >= (time() - 5 * 365 * 24 * 60 * 60)) && ($_REQUEST['etime'] <= time() + 5 * 365 * 24 * 60 * 60) )) {
if (filter_var($_REQUEST['etime'], FILTER_VALIDATE_INT, array("options" => array("min_range"=>$mintime, "max_range"=>$maxtime))) === false) {
invalid("Invalid end time.");
} else {
$etime = $_REQUEST['etime']; $s++;
Expand Down
6 changes: 6 additions & 0 deletions debian/changelog
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
securityonion-capme (20121213-0ubuntu0securityonion58) trusty; urgency=medium

* Issue 935: CapMe: improve input validation on stime and etime variables

-- Doug Burks <doug.burks@gmail.com> Fri, 03 Jun 2016 11:40:52 -0400

securityonion-capme (20121213-0ubuntu0securityonion57) trusty; urgency=medium

* Issue 934: CapMe: subdirectories should redirect to main page
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
Description: <short summary of the patch>
TODO: Put a short summary on the line above and replace this paragraph
with a longer explanation of this change. Complete the meta-information
with other relevant fields (see below for details). To make it easier, the
information below has been extracted from the changelog. Adjust it or drop
it.
.
securityonion-capme (20121213-0ubuntu0securityonion58) trusty; urgency=medium
.
* Issue 935: CapMe: improve input validation on stime and etime variables
Author: Doug Burks <doug.burks@gmail.com>

---
The information above should follow the Patch Tagging Guidelines, please
checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here
are templates for supplementary fields that you might want to add:

Origin: <vendor|upstream|other>, <url of original patch>
Bug: <url in upstream bugtracker>
Bug-Debian: http://bugs.debian.org/<bugnumber>
Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
Forwarded: <no|not-needed|url proving that it has been forwarded>
Reviewed-By: <name and email of someone who approved the patch>
Last-Update: <YYYY-MM-DD>

--- securityonion-capme-20121213.orig/capme/.inc/callback.php
+++ securityonion-capme-20121213/capme/.inc/callback.php
@@ -93,15 +93,17 @@ if (filter_var($dpt, FILTER_VALIDATE_INT

// Validate user input - start time
// must be greater than 5 years ago and less than 5 years from today
+$mintime=time() - 5 * 365 * 24 * 60 * 60;
+$maxtime=time() + 5 * 365 * 24 * 60 * 60;
$st_unix= $d[4];
-if (!( ($st_unix >= (time() - 5 * 365 * 24 * 60 * 60)) && ($st_unix <= time() + 5 * 365 * 24 * 60 * 60) )) {
+if (filter_var($st_unix, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$mintime, "max_range"=>$maxtime))) === false) {
invalidCallback("Invalid start time.");
}

// Validate user input - end time
// must be greater than 5 years ago and less than 5 years from today
$et_unix= $d[5];
-if (!( ($et_unix >= (time() - 5 * 365 * 24 * 60 * 60)) && ($et_unix <= time() + 5 * 365 * 24 * 60 * 60) )) {
+if (filter_var($et_unix, FILTER_VALIDATE_INT, array("options" => array("min_range"=>$mintime, "max_range"=>$maxtime))) === false) {
invalidCallback("Invalid end time.");
}

--- securityonion-capme-20121213.orig/capme/.inc/functions.php
+++ securityonion-capme-20121213/capme/.inc/functions.php
@@ -82,8 +82,10 @@ if (isset($_REQUEST['dpt'])) {

// Validate user input - start time - stime
// must be greater than 5 years ago and less than 5 years from today
+$mintime=time() - 5 * 365 * 24 * 60 * 60;
+$maxtime=time() + 5 * 365 * 24 * 60 * 60;
if (isset($_REQUEST['stime'])) {
- if (!( ($_REQUEST['stime'] >= (time() - 5 * 365 * 24 * 60 * 60)) && ($_REQUEST['stime'] <= time() + 5 * 365 * 24 * 60 * 60) )) {
+ if (filter_var($_REQUEST['stime'], FILTER_VALIDATE_INT, array("options" => array("min_range"=>$mintime, "max_range"=>$maxtime))) === false) {
invalid("Invalid start time.");
} else {
$stime = $_REQUEST['stime']; $s++;
@@ -94,7 +96,7 @@ if (isset($_REQUEST['stime'])) {
// Validate user input - end time - etime
// must be greater than 5 years ago and less than 5 years from today
if (isset($_REQUEST['etime'])) {
- if (!( ($_REQUEST['etime'] >= (time() - 5 * 365 * 24 * 60 * 60)) && ($_REQUEST['etime'] <= time() + 5 * 365 * 24 * 60 * 60) )) {
+ if (filter_var($_REQUEST['etime'], FILTER_VALIDATE_INT, array("options" => array("min_range"=>$mintime, "max_range"=>$maxtime))) === false) {
invalid("Invalid end time.");
} else {
$etime = $_REQUEST['etime']; $s++;
1 change: 1 addition & 0 deletions debian/patches/series
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,4 @@ handle-failed-pcap_agent-more-gracefully
handle-failed-pcap_agent-more-gracefully-in-second-request
CapMe:-Handle-pcaps-that-generate-no-p0f-output-#927
Issue-934:-CapMe:-subdirectories-should-redirect-to-main-page
Issue-935:-CapMe:-improve-input-validation-on-stime-and-etime-variables

0 comments on commit c5e798b

Please sign in to comment.