PHP 0815 Haaste
Minulla on
tämä skripti ja sen alttiita SQL Injection.
Sinun tehtäväsi on tarjota minulle korjata.
Ratkaisu on vahvistaa vähällä vaivalla (Lyhin tapa korjata jossain logiikka asema), ja taata kirjoitus ei vielä toimi.
Jos luulet
"urldecode()" korjaa komentosarjan voit yksinkertaisesti kirjoittaa sen ratkaisu.
Ratkaisu on sisällettävä kaikki merkkiä, että sinun täytyy kirjoittaa.
Vapaasti keskustella foorumeilla, sen kaltaisia koulutus haaste :)
1
2
3
4
56
7
8
9
1011
12
13
14
1516
17
18
19
2021
| <?php
# Only allow these ID's
$whitelist = array(1, 2, 3);
# if show is not set die with error.if (false === ($show = isset($_GET['show']) ? $_GET['show'] : false)) {
die('MISSING PARAMETER; USE foo.bar?show=[1-3]');
}
# check if get var is sane (is it in whitelist ?)
elseif (in_array($show, $whitelist)){
$query = "SELECT 1 FROM `table` WHERE `id`=$show";
echo 'Query: '.htmlspecialchars($query, ENT_QUOTES).'<br/>';
die('SHOWING NUMBER '.htmlspecialchars($show, ENT_QUOTES));
}else # Not in whitelist !
{
die('HACKER NONONO');
}
?> |
© 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 ja 2024 by
Gizmore