- October 01, 2023
-
The State of this Blog
- July 31, 2022
-
How to find the ASN for any IP Address?
- May 29, 2022
-
db.js — In-Memory Key-Value Database with Persistent File Storage
- March 09, 2022
-
How to find out if an IP address belongs to a Hosting / Cloud Provider?
- January 18, 2022
-
Fingerprinting TLS - Core differences between TLS 1.2 and TLS 1.3
- December 18, 2021
-
On High-Precision JavaScript Timers
- November 26, 2021
-
Is this a valid method to detect Proxies?
- November 03, 2021
-
So you want to Scrape like the Big Boys? 🚀
- October 16, 2021
-
7 different ways to detect Proxies
- October 03, 2021
-
Where is the World headed to?
- July 18, 2021
-
On the Architecture of Bot Detection Services
- June 20, 2021
-
API to Check if an IP Address belongs to a Datacenter / Cloud Provider
- June 07, 2021
-
Detecting Proxies and VPN's with Latency Measurements
- June 05, 2021
-
Detecting Brightdata's (formerly Luminati Networks) Data Collector as a Bot
- May 20, 2021
-
Avoid Puppeteer or Playwright for Web Scraping
- April 24, 2021
-
Detecting Datacenter and Residential Proxies
- April 11, 2021
-
Behavioral Analysis for Bot Detection
- March 13, 2021
-
TCP/IP Fingerprinting for VPN and Proxy Detection
- March 11, 2021
-
Detecting scraping services
- March 01, 2021
-
7 Common Mistakes in Professional Scraping
- February 05, 2021
-
Why does this Website know that I am sitting on the Toilet?
- January 23, 2021
-
Headful Google Chrome with Xvfb on AWS Lambda Container
- January 17, 2021
-
Browser Red Pills: Why are you browsing my website from AWS Lambda?
- January 10, 2021
-
Browser based Port Scanning with JavaScript
- January 02, 2021
-
Breaking the Google Audio reCAPTCHA with Google's own Speech to Text API
- December 31, 2020
-
Deploy an Express App with Nginx and forward real IP Address
- December 27, 2020
-
Detecting uBlock Origin and Adblock Plus with JavaScript only
- December 24, 2020
-
Behavioral Analysis: Recording Mouse Movements and other User Interactions with JavaScript
- December 20, 2020
-
Dynamically changing proxies with puppeteer
- December 16, 2020
-
Remove YouTube Ads from your Android Phone
- December 15, 2020
-
Abusing image tags for cross domain requests
- December 10, 2020
-
Reliable Cross Domain Requests when the User leaves the Page
- May 18, 2020
-
Crawling Infrastructure - Introduction
- February 26, 2020
-
Dynamic creation of S3 buckets in many regions
- February 20, 2020
-
The value of work in the coming decades
- February 14, 2020
-
How to dynamically change http/s proxy servers in puppeteer?
- February 12, 2020
-
Using http/s and socks4/5 proxies with puppeteer and chrome with squid and danted
- October 26, 2019
-
5 crucial tips how to survive riding a motorbike/scooter in Thailand (2019)
- October 22, 2019
-
4 reasons why you should NOT travel to Koh Phi Phi
- October 19, 2019
-
Model Based fuzzing of the WPA3 Dragonfly Handshake
- October 15, 2019
-
Review of the Koh Phangan Full Moon Party in Octobre 2019
- September 30, 2019
-
Battling incomplete information: Connect market demand with market supply by Google advertisement scraping and lead crawling
- September 17, 2019
-
Scraping 1 million keywords on the Google Search Engine
- August 31, 2019
-
Scraping with puppeteer and headless chrome deployed to AWS Lambda
- July 18, 2019
-
Fuzzing the WPA3 Dragonfly handshake
- July 15, 2019
-
Struktur: A completely new approach to web scraping
- March 01, 2019
-
Breaking Google's Recaptcha
- February 22, 2019
-
Running a WPA3 access point with hostapd 2.7 and SAE/Dragonfly
- February 04, 2019
-
Scraping search engines in 2019
- January 02, 2019
-
Programming to improve your life
- December 24, 2018
-
Discontinuation of GoogleScraper
- November 18, 2018
-
Introduction to Machine Learning in 2019
- October 29, 2018
-
Tutorial: Youtube scraping with puppeteer
- October 03, 2018
-
Scraping Amazon Reviews using Headless Chrome Browser and Python3
- September 05, 2018
-
GoogleScraper Tutorial - How to scrape 1000 keywords with Google
- August 30, 2018
-
Hide related products on shop page in Woocommerce
- August 20, 2018
-
Cryptographic properties of MACs and HMACs
- August 18, 2018
-
Cryptographic Hash Functions
- August 12, 2018
-
How to find large prime numbers for RSA with the Miller-Rabin Primality Test
- August 10, 2016
-
Privilege Escalation Techniques
- July 20, 2016
-
Probabilistic data structures to estimate cardinalities and frequencies of massive streams
- June 30, 2016
-
What other package managers are vulnerable to typo squatting attacks?
- June 08, 2016
-
Typosquatting programming language package managers
- September 29, 2015
-
Nebula Wargame walkthrough Level 10-19
- September 28, 2015
-
Nebula Wargame walkthrough Level 0-9
- September 15, 2015
-
Solution for wargame natas19
- September 10, 2015
-
Solution for Natas11 for natas wargame on overthewire.org
- August 12, 2015
-
Cross platform Lichess Cheat
- March 01, 2015
-
A lot of work to do for GoogleScraper in the future and request for comments!
- January 24, 2015
-
Implementing two Graph traversal algorithms in Python: Depth First Search and Breadth First Search
- January 18, 2015
-
Very good program to record audio and desktop on Linux!
- November 12, 2014
-
Scraping and Extracting Links from any major Search Engine like Google, Yandex, Baidu, Bing and Duckduckgo
- October 19, 2014
-
Using the Python cryptography module with custom passwords
- July 11, 2014
-
Beautiful, beautiful python
- April 23, 2014
-
Lichess.org chess bot!
- February 05, 2014
-
Socks 5 client support for twisted
- January 26, 2014
-
The art of cheating: Making a chess.com chess bot following an unusual approach!
- December 17, 2013
-
Exploiting wordpress plugins through admin options (No 3. — Easy Media Gallery stored XSS)
- December 07, 2013
-
IAT hooking
- November 21, 2013
-
The dangers of a poorly planned project
- November 14, 2013
-
Cryptographically secure rand() replacement
- November 08, 2013
-
Wordpress comment form with bootstrap v3.0.2
- November 04, 2013
-
A tale of a twofold broken wordpress captcha plugin
- October 16, 2013
-
Create your own font the hard way!
- October 06, 2013
-
Plotting Bézier curves directly and with De Casteljau's algorithm
- July 27, 2013
-
No 2. - flash-album-gallery: persistent XSS exploitet with help of XSRF leading to remote code execution.
- July 24, 2013
-
Major Redesign of incolumitas.com
- June 02, 2013
-
Python and curses - A small textbox selection example.
- May 30, 2013
-
Create anonymous identites with fakenamegenerator.com and Python
- March 15, 2013
-
No 1. - wp-members: Interesting peristant XSS leading to remote code execution.
- January 25, 2013
-
Another wordpress catpcha implementation
- January 06, 2013
-
GoogleScraper.py - A simple python module to parse google search results.
- December 30, 2012
-
Linux/Unix privileges from a blackhats perspective
- November 26, 2012
-
Bullet chess challenge :)
- November 05, 2012
-
Bullet Chess - A silly game?
- October 29, 2012
-
Web safe Base64 Encode/Decode in C
- October 08, 2012
-
Short essay about my experiences on duolingo.com
- July 23, 2012
-
Success
- July 01, 2012
-
Let's begin this...