A list of questions that bounty hunters frequently DM me about. 😄
I have a simple philosophy that I share with everyone:
- Learn to make it. Then break it!
- Read books. Lots of books.
| sudo apt-get -y update | |
| sudo apt-get -y upgrade | |
| sudo apt-get install -y build-essential libssl-dev libffi-dev python-dev | |
| sudo apt-get install -y python-setuptools | |
| sudo apt-get install -y libldns-dev | |
| sudo apt-get install -y python3-pip | |
| sudo apt-get install -y python-pip | |
| sudo apt-get install -y python-dnspython | |
| sudo apt-get install -y git |
| #!/bin/bash | |
| # Usage : ./scanio.sh <save file> | |
| # Example: ./scanio.sh cname_list.txt | |
| # Premium | |
| function ech() { | |
| spinner=( "|" "/" "-" "\\" ) | |
| while true; do | |
| for i in ${spinner[@]}; do | |
| echo -ne "\r[$i] $1" |
| #!/usr/bin/python | |
| import mechanize | |
| import itertools | |
| br = mechanize.Browser() | |
| br.set_handle_equiv(True) | |
| br.set_handle_redirect(True) | |
| br.set_handle_referer(True) | |
| br.set_handle_robots(False) |
adapted from the article "Crawling anonymously with Tor in Python" by S. Acharya, Nov 2, 2013.
The most common use-case is to be able to hide one's identity using TOR or being able to change identities programmatically, for example when you are crawling a website like Google and you don’t want to be rate-limited or blocked via IP address.
Install Tor.
| /* Useful celery config. | |
| app = Celery('tasks', | |
| broker='redis://localhost:6379', | |
| backend='redis://localhost:6379') | |
| app.conf.update( | |
| CELERY_TASK_RESULT_EXPIRES=3600, | |
| CELERY_QUEUES=( | |
| Queue('default', routing_key='tasks.#'), |
Web Application Hacker's Handbook Task checklist as a Github-Flavored Markdown file
| # -*- coding: utf-8 -*- | |
| """ | |
| Obtiene un listado de objetos de Regiones y Comunas con su relacion Region de | |
| Chile | |
| @author: misalabs | |
| """ | |
| import requests | |
| from bs4 import BeautifulSoup | |
| import asyncio | |
| import aiohttp | |
| import bs4 | |
| import tqdm | |
| @asyncio.coroutine | |
| def get(*args, **kwargs): | |
| response = yield from aiohttp.request('GET', *args, **kwargs) | |
| return (yield from response.read_and_close(decode=True)) |