Bug 37210: Escape single quote in search string in overdue.pl
To Test:
1. Go to /cgi-bin/koha/circ/overdue.pl
2. In the «Name or card number» field, type «Tommy'and(select(0)from(select(sleep(10)))v)and'»
3. Apply the filter
==> It takes 10 seconds, sleep(10) is executed
4. Inspect the page, in «Patron category:» field, put «Tommy'and(select(0)from(select(sleep(10)))v)and'» in one of his option's value
5. select the option from the filter and Apply the filter
==> It takes 10 seconds, sleep(10) is executed
we can inject SQL to the followin field : borname, itemtype, borcat, holdingbranch, homebranch and branch
6. Apply the patch
7. Repeat step 1,2,3
==> it doesn't take 10 seconds, the injected sql is not executed
8. Repeat step 5
==> it doesn't take 10 seconds, the injected sql is not executed
9. Repeat step 5 with the followin field : itemtype, holdingbranch, homebranch and branch
==> it doesn't take 10 seconds, the injected sql is not executed
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
(cherry picked from commit a4a7ed7a15)
Signed-off-by: Frédéric Demians <f.demians@tamil.fr>
This commit is contained in:
parent
011a85d37c
commit
75b34f2bed
|
|
@ -222,6 +222,13 @@ if ($noreport) {
|
|||
|
||||
$bornamefilter =~s/\*/\%/g;
|
||||
$bornamefilter =~s/\?/\_/g;
|
||||
#scape single quote
|
||||
$bornamefilter =~s/'/\\'/g;
|
||||
$itemtypefilter =~s/'/\\'/g;
|
||||
$borcatfilter =~s/'/\\'/g;
|
||||
$holdingbranchfilter =~s/'/\\'/g;
|
||||
$homebranchfilter =~s/'/\\'/g;
|
||||
$branchfilter =~s/'/\\'/g;
|
||||
|
||||
my $strsth="SELECT date_due,
|
||||
borrowers.title as borrowertitle,
|
||||
|
|
|
|||
Loading…
Reference in New Issue