# Задание с ответами
#### 1) Какой способ хеширования лучше выбрать для хранения паролей в базе. Почему?
- MD5
- AES256
- SHA512
- SHA256 + salt
#### 2) Какую команду в bash надо ввести, чтобы файл имел следующие права:
-rwxr-x--x
#### 3) Есть ли в коде уязвимость, если есть, то где именно? Назовите тип уязвимости, предложите способ устранения
```php
<?php
$id=mysql_real_escape_string($_GET['id']);
$result = mysql_query("select * from news where id=".$id);
while ($row = mysql_fetch_assoc($result)) {
echo $row['id'];
echo $row['title'];
echo $row['date'];
echo $row['description'];
}
?>
```
#### 4) Есть ли в коде уязвимость, если есть, то где именно? Назовите тип уязвимости. Напишите значения параметров, чтобы провести эксплуатацию уязвимости
```php
<?php
$username=$_GET['username'];
$password=$_GET['password'];
$result = mysql_query("select * from users where username='" .$username. "' and password='".$password."'");
$rowno=mysql_num_rows($result);
if ($rowno == 1)
{
echo "Successful login";
}
?>
```
#### 5) Есть ли в коде уязвимости, если есть, то где именно? Назовите тип уязвимости
```php
<?php
$page=$_GET['page'];
echo "Page number". $page;
include($page);
?>
```
#### 6) Какие из нижеперечисленных типов атак относятся к типу атак на сервер:
- XSS
- CSRF
- HSTS
- XXE
#### 7) Есть HTTP-запрос
```
GET /api/load/myprofile HTTP/1.1
Host: https://mydomain.com
Cookie: PHPSESSID=BiOFBRcFhOWXdaTTZLTDlzcGR6aFE9PSIsI
Origin: https://sub.mydomain.com
```
Ответ на такой запрос будет следующим:
```
HTTP/1.1 200 OK
Date: Mon, 11 Jul 2016 11:14:46 GMT
Content-Type: application/html
Access-Control-Max-Age: 1800
Access-Control-Allow-Methods: GET, POST, PUT, DELETE
Access-Control-Allow-Headers: content-type, x-requested-with, authorization
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
X-Frame-Options: SAMEORIGIN
Server: nginx
Strict-Transport-Security: max-age=63072000; includeSubdomains; preload
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Content-Length: 61
{
"data": {
"name": "Peter",
"lastName": "Winter<script>alert(1)",
"email": "peter_winter@mymail.com",
"passport": "129457821"
},
"result": "OK"
}
```
Какие в ответе есть ошибки, приводящие к клиентским уязвимостям? Как их исправить?
#### 8) Расскажите об атаках billion laughs и XXE: что каждая позволяет сделать? В чем они похожи?
#### 9) Есть файл access.log с логами запросов к системе за один день в формате
HH:MM:SS IP_addr URL resp_status_code
Вывести top 10 IP адресов, получивших больше всего статусов 403 за сегодня с числом этих полученных статусов.
Написать программу для решения задачи. Пример вывода:
57.23.123.10 200
79.91.33.5 100
...