Blog

Static code analysis in PHP (and GitLab)

In the PHP toolbox for testing, you'll often find phpunit for unit testing, PHP_CodeSniffer for code style analysis, and here we present PHPStan for static code analysis.

Read more
Information gathering with BlackWidow

BlackWidow is a python script that automatically crawls a website to gather information like phone numbers, email addresses, form URL's etc. Very useful during the reconnaissance phase!

Read more
Manage VirtualBox with PHP

phpVirtualBox is a well known web interface for managing virtual machines. There is however another less known library that allows to manage virtual machines from your own PHP applications : php-vbox-api. The API allows you to do stuff like:

Read more
Understanding Laravel middleware : admin users

In Laravel, a Middleware is basically a piece of code that should be executed for every http request. Middlewares are typically used to:

Read more
Distributed k-nn graphs and similarity search

Today we are presenting distributed k nearest neighbors (k-nn) graphs and similarity search algorithms at the ULB.

Read more
Modify your static IP on Ubuntu server

This seems easy, but... When you modify your static IP address in /etc/network/interfaces, the old IP is not removed. The new IP is simply added to your interface.

Read more
Disable user registration in your Laravel application

Laravel is a powerful framework that comes with a lot of boilerplate code to handle most common cases. One of these is users management (register, login, reset password etc.)

Read more
Easy testing with Python doctest and GitLab

When developing some new Python code, you will usually open another terminal to test your function or class using a Python shell... and repeat until you obtain the expected result.

Read more
Type hinting in Python, and testing with GitLab

Python is a dynamically typed language, meaning that the type of a variable can change during execution. This participates to the user friendliness of the language.

Read more
Collecting and processing NetFlow on Ubuntu

NetFlow is a feature that was introduced on Cisco routers around 1996 that provides the ability to collect and process network traffic summary.

Read more
CyberSecurity Tournament 2020

In February 2020, ULB will organize a CyberSecurity Tournament for students. This is a unique opportunity to challenge your skills and get in touch with major companies of the field.

Read more
MongoDB sharding on a single server

Sharding is a method for distributing data (and load) across multiple machines. In this blog post we show how to test MongoDB sharding by running multiple MongoDB instances on a single Ubuntu 16.04 machine.

Read more
Apache Spark MapReduce with PHP

When it comes to Big Data processing, I'm a huge fan of the Apache Spark project. Spark is a very powerful tool to analyse very large datasets in parallel, and at the same time it provides a nice API that allows to write clean distributed code.

Read more
Using LaBrea Tarpit to hinder network scans

When hackers prepare a network attack, they usually start with a network scan to detect running computers and installed software.

Read more
BeMilCIS2019 : Blockchain for dummies

Today we are proud to present a paper at BeMilCIS conference entitled Blockchain for dummies

Read more
A simple java implementation of Blockchain

Blockchain is currently a very hot research topic. To understand how it works and what it can achieve, here is a simple java implementation.

Read more
Blockchain

These last few years everyone everywhere went crazy about cryptocurrencies and more in particular about Bitcoin. The value of the star cryptocurrency did indeed sky-rocket in December 2017 to 19.783$, a 1824% increase in less than a year [2]. However, even though everybody has probably heard about this digital currency, it's likely that very few understand the fascinating technology behind it called blockchain. Bitcoin value

Read more
ICMCIS2019

This week we presented two papers at the International Conference on Military Communications and Information Systems (ICMCIS) in Budva, Montenegro:

Read more
Automatic release with GitLab and SimpleRepos

SimpleRepos is a simple file sharing website that allows to upload files using a REST API. Here is how to use it in conjunction with GitLab to automatically release your binaries...

Read more
Using PHP CodeSniffer in a Laravel project

PHP CodeSniffer is a great tool that enforces everybody is using the same coding standard when contributing to a project. For a Laravel project, there are however a few caveats to handle...

Read more
Using font awesome in a Laravel project

Font Awesome is a fantastic icon set to improve your web application. The integration in Laravel requires a few additional steps...

Read more
Avoid leaking secrets in your GitLab repository

Shit happens! Chances are great that you or one of the developers in your team will one day commit a file containing secrets or private keys to a public GIT repository...

Read more
Automatic bug detection with SpotBugs and Maven

SpotBugs is a fantastic tool to help you write beter java code! It performs static code analysis (SA) and uses a database of more then 400 bug patterns to detect potential bugs in your code.

Read more
GitLab : Automatically testing your Python project

Whatever programming language your are using for your project, GitLab continuous integration system (gitlab-ci) is a fantastic tool that allows you to automatically run tests when code is pushed to your repository. Java, PHP, Go, Python or even LaTeX, no limit here! In this blog post we review a few examples for the Python programming language.

Read more
ECHO Project : Kick Off Meeting

ECHO (European network of Cybersecurity centres and competence Hub for innovation and Operations) is a project funded by the European Commission to establish and operate a Cybersecurity Competence Network. The project was officially launched today at the Conference Hall of the Royal Military Academy, in the presence of the 30 participating institutions.

Read more
Using GridFS to store files in MongoDB (Java)

MongoDB is a fantastic tool for storing large quantities of data in a JSON-like format.

Read more
Maven not running all JUnit tests

Here is a trick for solving a tricky and vicious maven bug...

Read more
Phising with 2FA bypass using Evilginx

Phising is a well-known method used by hackers to steal usernames and passwords by imitating a website.

Read more
An introduction to Laravel ORM : Eloquent

When working with an object oriented language, like PHP, Java or Python, an Object-Relational Mapping (ORM) tool allows to automatically convert model objects into rows in a database and vice-versa. It allows to easily save objects in a database, without worrying about writing appropriate SQL requests.

Read more
Using Laravel with a SQLite database

For a development environment or for small web applications, a SQLite database may be perfectly sufficient to store your data. It is also much lighter than a full blown MySQL database.

Read more
Using custom Docker images with GitLab

One of the interesting features of GitLab is the possibility to automatically run tests when code is pushed to the repository (Continus Integration): https://cylab.be/blog/7/gitlab-quickstart

Read more
GitLab : Quickstart

GitLab is a git repository management tool, like GitHub or BitBucket. Like them, it offers issue tracking and wikis. However, GitLab also offers some very powerful features like Continuous Integration (CI) and Continuous Delivery (CD).

Read more
A java introduction to OrientDB document database

OrientDB is a NoSQL document database, like the very popular MongoDB. It has some very interesting additional features:

Read more
Students projects 2017-2018

Today 6 students from the Master in CyberSecurity presented their project:

Read more