Skip to content

Commit 69d5140

Browse files
committed
CTF System
1 parent 34f3176 commit 69d5140

29 files changed

+2817
-0
lines changed

about.php

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
//Author: Kadir CETINKAYA - breakv0id@0xdeffbeef
3+
4+
require_once("base.php");
5+
?>
6+
7+
<div style="height:5px;"></div>
8+
9+
<div class="well" style="text-align:center;">
10+
<p>
11+
HackMETU '15
12+
</p>
13+
</div>
14+
15+
<div class="well" style="text-align:center;">
16+
<p>
17+
Yeteri kadar info var zaten ya her yerde.
18+
</p>
19+
</div>
20+
21+
<div class="well" style="text-align:center;">
22+
<p>
23+
We PwN, u WaTcH!
24+
</p>
25+
</div>
26+
27+
<?php
28+
require_once("footer.php");
29+
?>

addFlag.php

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
exit;
3+
require_once("db.php");
4+
5+
$sql = "INSERT INTO `flags` (`teamID`, `taskID`, `flag`) values (?, ?, ?)";
6+
$stmt = $db->prepare($sql);
7+
$stmt->bind_param("sss", $_POST['teamID'], $_POST['taskID'], $_POST['flag']);
8+
$stmt->execute();
9+
$stmt->close();
10+
?>

admin/board.php

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?php
2+
//Author: Kadir CETINKAYA - breakv0id@0xdeffbeef
3+
4+
require_once("../base.php");
5+
if($admin !== true)
6+
{
7+
header("Location: /index.php");
8+
exit;
9+
}
10+
?>
11+
<div class="container">
12+
<div class="panel panel-default">
13+
<div class="panel-heading"><?=$board[0]?></div>
14+
<table class="table">
15+
<thead>
16+
<tr>
17+
<th>#</th>
18+
<th><?=$board[1]?></th>
19+
<th><?=$board[2]?></th>
20+
<th>profile</th>
21+
<th>update</th>
22+
</tr>
23+
</thead>
24+
<tbody>
25+
<?php
26+
$teams = (new Teams())->getTeams(true);
27+
28+
foreach($teams as $cteam)
29+
{
30+
?>
31+
<tr>
32+
<form class="panel-form" method="POST" action="#">
33+
<input type="hidden" value='<?=$cteam->id?>' name="id" />
34+
<td><?=$cteam->rank?></td>
35+
<td><input class="form-control" type="text" name="name" value='<?=$cteam->name?>' /></td>
36+
<td><input class="form-control" type="text" name="score" value='<?=$cteam->realscore?>' /></td>
37+
<td><a href='profile.php?id=<?=$cteam->id?>'>team profile</a></td>
38+
<td><div class="form-inline"><input class="form-control" type="password" name="pass" placeholder="admin-pass"><button type="submit" name="action" class="btn btn-primary" value="updteam">Update</button></div></td>
39+
</form>
40+
</tr>
41+
<?php
42+
}
43+
?>
44+
</tbody>
45+
</table>
46+
</div>
47+
</div>
48+
<?php
49+
require_once("../footer.php");
50+
51+
?>

admin/index.php

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
//Author: Kadir CETINKAYA - breakv0id@0xdeffbeef
3+
4+
require_once("../base.php");
5+
6+
if($admin === true)
7+
{
8+
}
9+
else
10+
header("Location: ../index.php");
11+
12+
require_once("../footer.php");
13+
?>

admin/newTask.php

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<?php
2+
//Author: Kadir CETINKAYA - breakv0id@0xdeffbeef
3+
4+
require_once("../base.php");
5+
6+
if($admin !== true)
7+
{
8+
header("Location: /index.php");
9+
exit;
10+
}
11+
?>
12+
13+
<div class="container">
14+
<form action="#" method="POST">
15+
<div class="form-group">
16+
<label class="col-sm-2 control-label" for="name">Name</label>
17+
<div class="col-sm-10">
18+
<input type="text" name="name" class="form-control" id="name">
19+
</div>
20+
</div>
21+
<div class="form-group">
22+
<label class="col-sm-2 control-label" for="desc">Description</label>
23+
<div class="col-sm-10">
24+
EN:<textarea name="desc[0]" class="form-control" id="desc"></textarea>
25+
TR:<textarea name="desc[1]" class="form-control" id="desc"></textarea>
26+
</div>
27+
</div>
28+
<div class="form-group">
29+
<label class="col-sm-2 control-label" for="cat">Category</label>
30+
<div class="col-sm-10">
31+
<input type="text" name="cat" class="form-control" id="cat">
32+
</div>
33+
</div>
34+
<div class="form-group">
35+
<label class="col-sm-2 control-label" for="status">Status</label>
36+
<div class="col-sm-10">
37+
<input type="text" name="status" class="form-control" id="status">
38+
</div>
39+
</div>
40+
<div class="form-group">
41+
<label class="col-sm-2 control-label" for="author">Author</label>
42+
<div class="col-sm-10">
43+
<input type="text" name="author" class="form-control" id="author">
44+
</div>
45+
</div>
46+
<div class="form-group">
47+
<label class="col-sm-2 control-label" for="solvers">Solvers</label>
48+
<div class="col-sm-10">
49+
<input type="text" name="solvers" class="form-control" id="solvers">
50+
</div>
51+
</div>
52+
<div class="form-group">
53+
<label class="col-sm-2 control-label" for="point">Point</label>
54+
<div class="col-sm-10">
55+
<input type="text" name="point" class="form-control" id="point">
56+
</div>
57+
</div>
58+
<div class="form-group">
59+
<label class="col-sm-2 control-label" for="link">Link</label>
60+
<div class="col-sm-10">
61+
<input type="text" name="link" class="form-control" id="link">
62+
</div>
63+
</div>
64+
<div class="form-group">
65+
<label class="col-sm-2 control-label" for="pass">Admin password</label>
66+
<div class="col-sm-9">
67+
<input type="password" name="pass" class="form-control" id="pass" placeholder="<?=$profile[6]?>">
68+
</div>
69+
<div class="col-sm-1">
70+
<button type="submit" name="action" class="btn btn-primary" value="addtask">Insert that bitch</button>
71+
</div>
72+
</div>
73+
</form>
74+
</div>
75+
76+
<?php
77+
require_once("../footer.php");
78+
?>

admin/profile.php

+128
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
<?php
2+
//Author: Kadir CETINKAYA - breakv0id@0xdeffbeef
3+
4+
require_once("../base.php");
5+
if($admin !== true)
6+
{
7+
header("Location: /index.php");
8+
exit;
9+
}
10+
11+
$query = NULL;
12+
$edit = false;
13+
if(isset($_GET['id']))
14+
{
15+
try
16+
{
17+
$id = (int)$_GET['id'];
18+
$query = new Team($id);
19+
}
20+
catch(Exception $e)
21+
{
22+
$error .= $e->getMessage()."\n";
23+
$_SESSION['error'] = $error;
24+
header("Location: index.php");
25+
exit;
26+
}
27+
}
28+
else if($loggedin===true)
29+
$query = $team;
30+
else
31+
{
32+
header("Location: index.php");
33+
exit;
34+
}
35+
36+
if($loggedin === true && $team->id === $query->id)
37+
$edit = true;
38+
?>
39+
40+
<script>
41+
function addField()
42+
{
43+
var area = $('#memberarea');
44+
var i = $('#memberarea input').size();
45+
if(i>=3)
46+
{
47+
alert("<?=$register[0]?>");
48+
}
49+
else
50+
{
51+
$('<input type="text" class="form-control" style="margin-bottom:5px;" id="members" name="members[]" placeholder="Member Name">').appendTo(area);
52+
}
53+
}
54+
</script>
55+
<div class="container">
56+
<div class="panel panel-default">
57+
<div class="panel-heading">
58+
<h3 class="panel-title">
59+
<div style="float:left;"><?=$query->name?></div>
60+
<div style="float:right;"><?=$profile[0].": ".$query->score?></div>
61+
</h3>
62+
<div style="clear:both"></div>
63+
</div>
64+
<div class="panel-body">
65+
<?php
66+
if($admin===true)
67+
{
68+
?>
69+
<form class="form-horizontal" action="#" method="POST">
70+
<input type="hidden" name="id" value="<?=$query->id?>">
71+
<div class="form-group">
72+
<label class="col-sm-2 control-label" for="name">Teamname</label>
73+
<div class="col-sm-10 form-inline">
74+
<input type="text" name="name" class="form-control" id="name" value='<?=$query->name?>'>
75+
<input type="text" name="status" class="form-control" id="status" value='<?=$query->status?>'>
76+
<input type="text" name="score" class="form-control" id="score" value='<?=$query->score?>'>
77+
<input type="text" name="lang" class="form-control" id="lang" value='<?=$query->locale?>'>
78+
</div>
79+
</div>
80+
<div class="form-group">
81+
<label class="col-sm-2 control-label" for="mail">Email:</label>
82+
<div class="col-sm-10">
83+
<input type="text" name="mail" class="form-control" id="mail" value='<?=$query->mail?>'>
84+
</div>
85+
</div>
86+
<div class="form-group">
87+
<label class="col-sm-2 control-label" for="membername"><?=$profile[1]?>:</label>
88+
<?php
89+
$first=true;
90+
foreach($query->members as $member)
91+
{
92+
$type = "col-sm-10";
93+
if(!$first)
94+
$type = "col-sm-offset-2 ".$type;
95+
echo '<div class="'.$type.'" style="margin-top:0px;" id="memberarea"><input type="text" style="margin-bottom:5px;" class="form-control" name="members[]" id="membername" value=\''.$member.'\'></div>'."\n";
96+
$first = false;
97+
}
98+
?>
99+
<div class="col-sm-offset-2 col-sm-10"><a href="#" type="button" class="btn btn-primary" onclick="addField();">Add Member</a></div>
100+
</div>
101+
<div class="form-group">
102+
<label class="col-sm-2 control-label" for="newpass"><?=$profile[2]?></label>
103+
<div class="col-sm-10">
104+
<input type="password" name="newpass" class="form-control" id="newpass" placeholder="<?=$profile[3]?>">
105+
</div>
106+
<p class="col-sm-12" class="help-block"><?=$profile[4]?></p>
107+
</div>
108+
<div class="form-group">
109+
<label class="col-sm-2 control-label" for="pass">Admin password</label>
110+
<div class="col-sm-9">
111+
<input type="password" name="pass" class="form-control" id="pass" placeholder="<?=$profile[6]?>">
112+
</div>
113+
<div class="col-sm-1">
114+
<button type="submit" class="btn btn-primary" name="action" value="updteam"><?=$profile[7]?></button>
115+
</div>
116+
</div>
117+
</form>
118+
<?php
119+
}
120+
?>
121+
</div>
122+
</div>
123+
</div>
124+
125+
<?php
126+
require_once("../footer.php");
127+
?>
128+

0 commit comments

Comments
 (0)