Day 7-Bells|RIPS 2017 PHPコードセキュリティ監査課題(RIPSTECH PRESENTS PHP SECURITY CALENDAR)/Writeup
1345 ワード
RIPSTECH PRESENTS PHP SECURITY CALENDARはRIPSチームが出品したPHPコードセキュリティ監査チャレンジシリーズテーマであり、RIPSTECH PRESENTS PHP SECURITY CALENDAR 2017は24テーマ(Day 1~24)を含み、各テーマには斬新な知識点が含まれている.
VULNSPYはオンライン実験環境を提供し、オンラインでシミュレーション浸透テストを行い、RIPSTECH PRESENTS PHP SECURITY CALENDARをオンラインで体験することができます.
オンライン実験環境とWriteup:http://www.vulnspy.com/cn-ripstech-presents-php-security-calendar-2017/
詳細については、右上隅`START TO HACK`をクリックすると、オンライン実験環境に素早くアクセスできます.
Day 7 - Bells
次のコードからセキュリティ・ホールを見つけることができますか?
VULNSPYはオンライン実験環境を提供し、オンラインでシミュレーション浸透テストを行い、RIPSTECH PRESENTS PHP SECURITY CALENDARをオンラインで体験することができます.
オンライン実験環境とWriteup:http://www.vulnspy.com/cn-ripstech-presents-php-security-calendar-2017/
詳細については、右上隅`START TO HACK`をクリックすると、オンライン実験環境に素早くアクセスできます.
Day 7 - Bells
次のコードからセキュリティ・ホールを見つけることができますか?
function getUser($id) {
global $config, $db;
if (!is_resource($db)) {
$db = new MySQLi(
$config['dbhost'],
$config['dbuser'],
$config['dbpass'],
$config['dbname']
);
}
$sql = "SELECT username FROM users WHERE id = ?";
$stmt = $db->prepare($sql);
$stmt->bind_param('i', $id);
$stmt->bind_result($name);
$stmt->execute();
$stmt->fetch();
return $name;
}
$var = parse_url($_SERVER['HTTP_REFERER']);
parse_str($var['query']);
$currentUser = getUser($id);
echo ''.htmlspecialchars($currentUser).'';
parse_str
を見ると、これは変数で覆われた脆弱性であることがわかります.同時に$_SERVER['HTTP_REFERER']
も制御可能であり、変数が上書きされる脆弱性がある.