RSSAmplifier

Blog

(untitled)

Recent content on

paulsec.github.ioRSS feed ↗45 posts

Latest posts

Software Engineering is dead. Long live Software Engineering


 I have been thinking a lot recently about how software delivery is going to evolve over the next few years, and I increasingly believe that we are approaching a much deeper transformation than the one we usually describe when we talk about AI in software engineering. Most of the current discussion still focuses on developer productivity: how AI can help us write code faster, generate tests,…

Some of my thoughts on Context Engineering


 We talk a lot about AI right now. 
 We talk about copilots, agents, RAG, vector databases, knowledge graphs, data platforms, and automation everywhere. We talk about models getting smarter, inference getting cheaper, and interfaces getting more natural. 
 But I think one of the most important topics is still not discussed enough: context . 
 Not just data. 
 Not just…

Blackstone Smoker and Telegram Bot - 0x24th Birthday Edition 🎂

In the first post , I covered how I got the Blackstone Connect API to stream temperature data into Grafana Cloud. That gave me dashboards, graphs, and alerting. 
 The thing is, during a cook, I’d still have to open Grafana on my phone, navigate to the dashboard, look at the graph, and try to figure out when my brisket would hit 203°F. What I really wanted was something I could just ask a…

(Ramblings) Why Data structuring is the forgotten key to unlocking real value from AI


 If 85 to 95 percent of AI projects fail to deliver the expected results , it is not because AI technology is weak. It is not due to a lack of models, GPUs, computing power, or technical skills. 
 One of the root cause in my opinion is usually far simpler, and far more underestimated. 
 Data is not structured, not accessible, not contextualized, or not reliable. 
 An AI model is…

Grafana Dashboard for my Blackstone Smoker


 Before diving into the fun details, here is the full data flow of the setup. This shows the journey from the original Blackstone app to the final Grafana dashboard. 
 ┌──────────────────┐ ┌──────────────────────────┐
 │ Blackstone APK │ │ Hidden Blackstone API │
 │ (reverse engineered)──────▶│ (backend endpoints) │
 └──────────────────┘ └──────────────────────────┘
…

How to Make Successful Teams Last (or at least try to)


 Key Takeaways 
 
 
 Take care of your team, and your team will take care of you. 
My role has been closer to a coach than a commander. The more I invested in the team’s well being and clarity, the more they owned the product and exceeded expectations. 
 
 
 Challenge the status quo relentlessly. 
Efficiency is not about hitting KPIs blindly. It is about…

The Benefits of side projects : Keep tinkering 🥷


 Since 2017, I have created and been maintaining cfptime.org , a community-driven project aimed at centralizing call-for-papers information for information security conferences. 
 Initially, my first goal was simple: we had an intern joining our team and who was about to work on Django Framework, I didn’t know it and I wanted to know the basics.
Additionally, some other goals…

Making My Garage Door Smart (Meross MSG100 to TUBAUTO ProCom 7-3)

Connecting Meross MSG100 to TUBAUTO ProCom 7-3 Garage Door: A Quick Guide 
 Modernizing your garage door to be smart-enabled can greatly enhance convenience and security. The Meross MSG100 Smart Wi-Fi Garage Door Opener offers an easy solution to connect your garage door to your home network, allowing you to control it remotely through the Meross application. If you have a TUBAUTO ProCom 7-3…

GitOps is the new black


 
 In the ever-evolving landscape of software development, GitOps has emerged as a powerful paradigm, initially associated with cloud-native applications. However, its significance personally extends beyond the realms of modern, containerized environments. GitOps has proven to be a valuable concept for legacy (or “more traditional”) applications too, providing a bridge that…

Incidents clustering using TF-IDF and KMeans


 
 Incident clustering, also known as event clustering or anomaly clustering, is a technique used in data analysis and machine learning to group similar incidents or events together based on their characteristics or patterns. 
 
 In order to deep dive into this, we used sklearn and matplotlib to both do machine learning and visualize results in an easy way.
In few words: 
…

I quitted Infosec and I couldn't be happier.


 This article aims at providing you some insights about the experience I had in the “infosec world” for the past few years. I had an amazing journey and grateful for everything that happened. Don’t get me wrong with the title, even if the road was sometimes “bumpy” (aka ‘bad’ experiences), I got some good lessons learnt through them and live by them.…

A quick primer on Frida and Android Instrumentation

Hi everyone! 
 Here is a pretty quick blog post on some Frida / Objection things I’ve been tinkering with. 
 
 I had this Android application which had premium features and wanted to understand how that mechanism worked and if it was robust enough. Let’s see what was the journey on how I’ve bypassed it using Frida. 
 
 After disassembling the application with…

"DevOps" ramblings and observations


 
 “DevOps” movement started “publicly” (first time we heard this term) circa 2007. Based on that, we (you?) might think that in 2021 that thing is utterly oudated but I totally disagree and I thought I would share some thoughts about DevOps in 2021, and what it means in real life. 
 
 I am quite uncomfortable using the word “DevOps”. I’m…

Android Instrumentation with Smali: A survival guide

Hi everyone! 
 This article aims at providing you survival steps while tinkering around with Smali & Android applications.
The name of the original application I did my search on will remain secret but I created a dummy application doing the same so that you can do it on your own.
The link of the MainActivity.java and MainActivity.smali is here 
 Create a dummy application with…

Tackling 'Cleartext Not Permitted' error in Ionic v5

While developing/maintaining the WHID Mobile Injector app, it turns out that I received messages and issues on Github telling me that users were: 
 
 Able to access the ESPloit interface through the browser 
 but not through the app and the toggle in the side-menu was staying RED (meaning it is unable to connect to the ESPloit interface). 
 
 Weird. 
 After some…

FastAPI + Zeit.co = 🚀

Hey everyone, 
 I will talk about some experiments I did with FastAPI and deploying on Zeit.co . 
 Context: For one side-project, I needed a simple way to retrieve the information from a specific Android application (eg. io.shodan.app ) on the Google Store and a download link from APKPure (if any). 
 I thought that this would have been a great playground to get my hands on FastAPI, a…

Working with Events on Ionic 5

Hi everyone, 
 Here is a small blog post where I needed to work on an Ionic v5 project where (Angular) events were/are not working anymore. 
 Context: Basically, I was working on the side-menu ‘starter’ where I wanted the side-menu to automatically update with the user’s username after logging in. 
 Beforehand, in order to use the Events , it was as simple as: 
…

Kafka Experiments

Hey everyone, 
 Here is a small blog post regarding Kafka experiments and “foundations” I’ve started working on. I will also take the opportunity to thank Maxence S. ( https://twitter.com/maxenceschmitt ) for his precious help on this topic. 
 Instanciating the Jungle! 
 ZooKeeper and Kafka 
 First off, I instanciated a Kafka (and ZooKeeper) instance 
…

Deploy a Django application through Github Actions

Hi everyone, 
 Here is a small article on how I successfully deployed my Django application through Github actions.
Basically, what I needed was pretty simple, as soon as I push a new commit (on master), I want to: 
 
 connect through SSH on my remote server 
 restart my cfptime service (which will do all the magic) 
 
 My cfptime.org project is something like ~3 years…

Throttling policies on specific Django Viewset

Hi everyone! 
 Here is a small article on some experiments I came across with the development of the new cfptime.org version.
Goal: I needed to limit (anonymous) visitors on specific API endpoints (especially when creating/posting new Call For Papers to avoid flooding). 
 It turns out someone had similar thoughts and his blog post was pretty interested and helped me a lot. You can find…

Angular 8 Deployment within Github Actions Pipeline

Hello everyone, 
 Here is a small article in order to explain you how I’ve deployed my Angular front-end to a server with Github actions. 
 Context: You might know that I am the developer behind cfptime.org and I’ve had the chance during the holidays to start re-developing the front-end using Angular. If you want to check what it looks like: https://beta.cfptime.org . 
…

$ whoami

Hi everyone and welcome to my blog! 
 I started my career as a pentester and did this for couple of years. Later on, I tried a small venture with a friend where we created a mobile app to meet people around us.
Finally, I came back to France where I’ve worked into a CERT (Computer Emergency Response Team) then switched to a Team Lead/management( ish ) position at a big French…

Corelan Bootcamp Review

Time to relieve this blog and I think that a review of the Corelan Bootcamp training is the perfect occasion! I had in mind to try the OSCE certification and I felt I needed to go beyond just basic buffer overflows that you might come by with OSCP for example. 
 I’ve had the chance to attend this training at Hack in Paris in June 2018 and I will try to give as much insights as I can…

BSidesCBR 2017 CTF Write-Up: Derpchat

Hey there, 
 Following my serie of write-ups for the BSidesCBR challs, I will discuss the DerpChat one. 
 The instructions for this challenge were: 
 This web-based challenge was worth 275 points.
Run docker-compose up and then browse to https://web.shell.dance:4443/ .
After browsing to https://web.shell.dance:4443/ , I arrived on a registration/login page. I registered the…

BSidesCBR 2017 CTF Write-Up: Needleinahaystack

Hello everyone! 
 Such a long time since I didn’t post any article. Here is a quick write-up for the BSidesCBR Cryto challenge for “needleinahaystack”. 
 Before diving in the challenge, huge props to all the organizers and OJ for making those challs available to everyone with Docker containers and stuff (more write-ups coming soon). 
 If you guys want to give it a shot, here you go,…

Running SSLScan on 5k servers taken from Alexa's top 10k


 
 After analyzing the HTTP Security Headers from the top 10k Alexa websites , I decided looking at the SSL Ciphers used on those websites.

Experiments with UPnP

This post deals with recent observations regarding UPnP ( Universal Plug and Play ) protocol & Routers.
In few words, thanks to this protocol, devices (such as file sharing services, games, ..) can be easily connected/deployed. 
 First, I started to do research on my box to find relevant UPnP functionalities by hand, found some but I had trouble to exploit them.
Few days ago, David…

Kioptrix 3 Write-up

This has been some long time I haven’t written another write-up.
This one’s for Kioptrix 3 that you can find here . 
 Host Discovery 
 $ nmap -sP 192.168.56.1/24
 and we got the IP address : 192.168.56.101 . 
 As it was explained, you need to add 192.168.56.101 kioptrix3.com in your /etc/hosts . 
 Fingerprinting 
 Then, let’s find what kind of services…

Diving into XSS googles game

Hi there, this post deals with the game released by Google few days ago about XSS vulnerabilities that you can find here . &#xA; I&rsquo;ll enumerate some of the solution I found on the Internet which were (in my opnion) interesting/fun.&#xA;This post contains the solutions for all levels. Big spoil. &#xA; Level 1: Hello, world of XSS &#xA; Well, this one was obvious: &#xA; < script > alert ( 1 );…

Bobby Write-up

Hi there, &#xA; Quick blog post on the VM &ldquo;Bobby&rdquo; which is once of the nicest VM I did so far. &#xA; Discovery &#xA; The first step is always the same: discovering the machine on the network.&#xA;To do so: &#xA; $ nmap -sV 192.168.1.1/24&#xA; I managed to retrieve the IP address: 192.168.1.11 . &#xA; Let&rsquo;s start to fingerprint the different services to exploit it. &#xA;…

HTTP Security Headers on top 10k Alexa websites

&#xA; &#xA; EDIT : Added statistics of max-age option.

Blind HQL Injection in REST API using H2 DMBS

This post deals with some research I just did regarding (Blind) HQL injections with H2 as the DataBase Management System. &#xA; First, you should read this post which gives some really useful information regarding HQL injections in general: HQL for pentesters . &#xA; During the assessment, I checked the API calls by using Burp as a proxy and one call was: &#xA;…

BSides Slides - CSRFT

Hey, &#xA; Just a quick post to give you the link to my slides for BSides London today: Here &#xA;Don&rsquo;t hesitate if you have any feedback, or any good feature. &#xA; You can reach me either on Github and Twitter &#xA; Just few words about the conference which was absolutely amazing.&#xA;Some really great people were here, good atmosphere and people were really helpful. &#xA; For sure,…

BWApp Write-Up

This post contains the steps to get a root shell with bWapp VM &#xA; Host discovery &#xA; As always, we need to discover where the machine is on our network.&#xA;To do so, let&rsquo;s use Nmap: &#xA; nmap -sP 192.168.1.1/24 &#xA; Fingerprinting &#xA; After getting the IP address ( 192.168.1.10 ), we need to do some fingerprinting. &#xA; nmap -sV 192.168.1.10&#xA; &#xA; Fig. Nmap scan result &#xA;…

Scream Write-up

This post contains the steps to get a root shell with Scream VM &#xA; This VM can he found here . Have a look to find even more VMs.&#xA;But before starting the report, I&rsquo;d like to congratulate g0tmi1k for his awesome tool : VulnInjector . &#xA; Ok, let&rsquo;s do this write-up ! &#xA; Host discovery &#xA; As always, we need to discover where the machine is on our network.&#xA;To do so,…

Exploiting KB Vulnerable Web App 1 Write-Up

This post contains the steps to get a root shell with Exploit KB Vulnerable Web App 1 VM &#xA; This VM can he found here . Have a look to find even more VMs &#xA; Host discovery &#xA; First, we need to discover where the machine is on our network.&#xA;To do so, let&rsquo;s use Nmap: &#xA; nmap -sP 192.168.1.1/24 &#xA; Fingerprinting &#xA; After getting the IP address, we need to do some…

Kioptrix 2 Write-up

This post contains the steps to get a root shell with Kioptrix level 2 VM &#xA; This VM can he found here . Have a look to find even more VMs &#xA; Host discovery &#xA; First, we need to discover where the machine is on our network.&#xA;To do so, let&rsquo;s use Nmap: &#xA; nmap -sP 192.168.1.1/24 &#xA; Fingerprinting &#xA; After getting the IP address, we need to do some fingerprinting. &#xA;…

Kioptrix 1 Write-up

This post contains the steps to get a root shell with Kioptrix level 1 VM &#xA; This VM can he found here . Have a look to find even more VMs &#xA; Host discovery &#xA; First, we need to discover where the machine is on our network.&#xA;To do so, let&rsquo;s use Nmap: &#xA; nmap -sP 192.168.1.1/24 &#xA; Fingerprinting &#xA; After getting the IP address, we need to do some fingerprinting. &#xA;…

SecOS-1 First VM Out

Hey there, &#xA; Quick blog post for the first VM I created to experiment some of your pentesting skills. &#xA; The idea grew up when I developed some security tools (especially the one ( CSRFT ) I presented at BSides London few weeks ago) to create a legal environment where you could try it out. &#xA; I really liked creating this Boot2root VM.&#xA;So, I&rsquo;ll create few more that will rely on…

Updating OpenFuck Exploit

This blog post will be quite fast and will provide you the steps to update the OpenFuck exploit. &#xA; This exploit is pretty old but you might need it if you have fun with some vulnerable VMs. Not giving any hint. :-) &#xA; Thanks to this blog , I&rsquo;ve been able to update the exploit. &#xA; Here are the steps to make this work : &#xA; &#xA; 1) Add those headers : &#xA; &#xA; #include…

VulnOS Write-up

This contains the solution of the VM: VulnOS. &#xA; This is my first write-up for a VM and I&rsquo;m doing it for VulnOS which is hosted on VulnHub (Great resource if you want to improve your pentesting skills). &#xA; In this &rsquo;tutorial&rsquo;, I&rsquo;m gonna give you the steps I reproduced to get a shell on the machine. &#xA; Discovery &#xA; First, start by scanning the network to discover…

Python &#43; Transmission daemon = Download easily your favorite TV Show

This post is about my last project : my TV Show Manager . &#xA; I decided to start it because I wanted something really simple to download my favorite TV Shows.&#xA;In this post, I&rsquo;ll explain step by step how to reproduce it at home. &#xA; Basically, with this tutorial you&rsquo;ll set up your Raspberry box by : &#xA; &#xA; Installing / set-uping transmission-daemon &#xA; Getting one of my…

XSS Callback

This post deals with a project I developed : XSS Callback . &#xA; This is not going to be (at least, I hope) a boring post about XSS exploitation. No. &#xA; Well, one scenario of using XSS would be to steal victim&rsquo;s cookie and access the page through his session.&#xA;This technique is called Session Hijacking . Ok fair enough. &#xA; However, some issues are present using this technique,…

Dealing with HTML submits conflicts

This first post is related with one of my project : CSRFT.&#xA;CSRFT is a Cross Site Request Forgery (CSRF) vulnerabilities Toolkit. &#xA; My toolkit allows you to exploit either GET and POST HTTP Requests.&#xA;During some testings, I had issues with some specific forms. &#xA; Let&rsquo;s take an example of such form : &#xA; < form action = 'http://website.com/blog/' id = 'form' method = 'get'…

Starting my own blog

Starting my own blog has been something I really wanted to do.&#xA;I&rsquo;ll add post related to my different projects but also on Web security. &#xA; Here are my different motivations : &#xA; 1. Provide a portfolio of my different projects. &#xA; 2. Explain some problems I had and provide the solution &#xA; 3. Talk about some geek stuffs. Let&rsquo;s see :) &#xA; Hope you&rsquo;ll have fun to…