Commit b599a7b5 authored by Dominik Rosiek's avatar Dominik Rosiek

php sqli

parent 767f191a
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$host = 'localhost';
$db = 'ctf';
$user = 'ctf';
$pass = '38e6cbb3ecdc6b7c472091e78e0a40fa';
$flaga = 'KYN2016_LaoreetAliquet';
$headers = apache_request_headers();
@$site = $headers['KYN_2016'];
if ($site){
$mysqli = new mysqli($host, $user, $pass, $db);
$query = "SELECT * FROM news WHERE id='{$site}' LIMIT 0, 1";
$res = $mysqli->query($query);
$result = [];
foreach($res->fetch_assoc() as $key=>$value){
$result[$key] = $value;
if(isset($result['id'], $result['title'], $result['text'])){
echo json_encode($result);
exit;
}
}
}
else
{
?>
<html>
<head>
<meta charset="utf-8" />
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.min.js"></script></script>
<title>Strona główna</title>
<script>
function loadPage(id){
console.log(id)
$.ajax({
url: '?',
headers: {'KYN_2016': id},
success: function(result){
result = JSON.parse(result);
document.title = result.title
$("#content").html(result.text);
}
});
}
</script>
</head>
<body>
<h1>Taka sobie typowa strona</h1>
<button onclick='loadPage(1)'>
link1
</button>
<button onclick='loadPage(2)'>
link2
</button>
<button onclick='loadPage(3)'>
link3
</button>
<div id="content">
</div>
</body>
</html>
<?php
}
/**
create user ctf@localhost identified by password '38e6cbb3ecdc6b7c472091e78e0a40fa';
set password for ctf@localhost = password('38e6cbb3ecdc6b7c472091e78e0a40fa');
create database ctf;
grant all privileges on ctf.* to ctf@localhost;
create table news(id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, title varchar(255), text TEXT);
insert into news(title, text) values('Kotki', 'Tu bedzie o kotkach');
insert into news(title, text) values('Pieski', 'Tu bedzie o pieskach');
insert into news(title, text) values('Krowki', 'Tu bedzie o krowkach');
insert into news(title, text) values('KYN2016_UzywamFantazyji', 'Bardzo sprytnie, ale musisz szukac innej tabeli. Pamietaj ze nie wolno Ci uzywac narzedzi automatycznych...');
create table hidd3n(flag varchar(255));
insert into hidd3n Values ('KYN2016_LaoreetAliquet');
* /
...@@ -10,3 +10,5 @@ f718f2d33ecdc832a24887f92db63f24:taiga_62: ...@@ -10,3 +10,5 @@ f718f2d33ecdc832a24887f92db63f24:taiga_62:
php_1: php_1:
- medium - medium
- niestandardowy naglowek + remote file inclusion - niestandardowy naglowek + remote file inclusion
php_2:
- sql injection in header
...@@ -86,7 +86,7 @@ textTasks: ...@@ -86,7 +86,7 @@ textTasks:
- name: "Inne" - name: "Inne"
text: "Wszystko inne" text: "Wszystko inne"
description: "Znalazles flage, ale nia pasuje do zadnego zadania? Niespodzianka, to jest flaga do tego zadania :)" description: "Znalazles flage, ale nia pasuje do zadnego zadania? Niespodzianka, to jest flaga do tego zadania :)"
level: 2 level: 1
flags: flags:
- value: "KYN2016_UmiemCzytacRegulaminy" - value: "KYN2016_UmiemCzytacRegulaminy"
description: "Wiem w co gram" description: "Wiem w co gram"
...@@ -94,7 +94,7 @@ textTasks: ...@@ -94,7 +94,7 @@ textTasks:
- name: "UI" - name: "UI"
text: "Znajdz flagi w jułaju" text: "Znajdz flagi w jułaju"
description: "Rozejrzyj się uważnie. Gdzieś niedalako czai się kilka flag, czy jesteś w stanie je znaleźć?" description: "Rozejrzyj się uważnie. Gdzieś niedalako czai się kilka flag, czy jesteś w stanie je znaleźć?"
level: 3 level: 5
flags: flags:
- value: "KYN2016_TervetullutKotisivuilleni" - value: "KYN2016_TervetullutKotisivuilleni"
description: "Tytuł" description: "Tytuł"
...@@ -114,7 +114,7 @@ webTasks: ...@@ -114,7 +114,7 @@ webTasks:
- name: "PHP taki bezpieczny" - name: "PHP taki bezpieczny"
description: "Strona w budowie. Jest już w sieci, ale nikt nie miał czasu jej dobrze skonfigurować i zabezpieczyć. Czy czujesz się na siłach żeby znaleźć błędy?" description: "Strona w budowie. Jest już w sieci, ale nikt nie miał czasu jej dobrze skonfigurować i zabezpieczyć. Czy czujesz się na siłach żeby znaleźć błędy?"
url: "http://52.29.190.67" url: "http://52.29.190.67"
level: 4 level: 3
flags: flags:
- value: "KYN2016_WartoSieGlowic" - value: "KYN2016_WartoSieGlowic"
description: "Dodanie nagłówka" description: "Dodanie nagłówka"
...@@ -124,7 +124,7 @@ webTasks: ...@@ -124,7 +124,7 @@ webTasks:
- name: "Zadanie testowe nr 7" - name: "Zadanie testowe nr 7"
description: "Opis zadania testowego. Usunąć w wersji produkcyjnej." description: "Opis zadania testowego. Usunąć w wersji produkcyjnej."
url: "http://localhost:1337/flags/8e4c93cc865a3b3d85d3613aa0ba9500/index.html" url: "http://localhost:1337/flags/8e4c93cc865a3b3d85d3613aa0ba9500/index.html"
level: 5 level: 4
flags: flags:
- value: "KYN2016_OpenYourEyes" - value: "KYN2016_OpenYourEyes"
description: "Kod źródłowy" description: "Kod źródłowy"
...@@ -151,3 +151,12 @@ webTasks: ...@@ -151,3 +151,12 @@ webTasks:
- value: "KYN2016_OupsChybaCosTuJest" - value: "KYN2016_OupsChybaCosTuJest"
description: "Komentarz w archiwum" description: "Komentarz w archiwum"
- name: "Znowu kotki, pieski, krówki..."
description: "Strona została w końcu zbudowana i wystawiona do sieci, ale czy na pewno jest bezpieczna?"
url: "http://52.28.33.14/"
level: 8
flags:
- value: "KYN2016_UzywamFantazyji"
description: "Niezwykły tytuł"
- value: "KYN2016_LaoreetAliquet"
description: "SQLInjection"
...@@ -151,3 +151,12 @@ webTasks: ...@@ -151,3 +151,12 @@ webTasks:
- value: "KYN2016_OupsChybaCosTuJest" - value: "KYN2016_OupsChybaCosTuJest"
description: "Komentarz w archiwum" description: "Komentarz w archiwum"
- name: "Znowu kotki, pieski, krówki..."
description: "Strona została w końcu zbudowana i wystawiona do sieci, ale czy na pewno jest bezpieczna?"
url: "http://52.28.33.14/"
level: 8
flags:
- value: "KYN2016_UzywamFantazyji"
description: "Niezwykły tytuł"
- value: "KYN2016_LaoreetAliquet"
description: "SQLInjection"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment