You are on page 1of 4

HTTP Injector

1 de 4

HTTP Injector
Mobile proxy server with the ability to modify requests and access blocked
websites behind firewall, etc.

Payload Keyword

Inject Method



Before we get started, let's understand the meaning





HTTP header data payload that will be injected

Remote Proxy

Remote HTTP proxy (ex: Squid proxy/APN proxy)

Debug Mode

Show your data that you send/received in app log (Please turn off during
normal usage)

Battery Saver

Disable Wakelock that prevent your CPU from sleeping

Google DNS

Use Google DNS to bypass blocked websites and prevent your ISP from
knowing what websites you're visiting.

Start SSH

Start SSH connection upon starting injection.

Connect Mode

There's two modes, iptables (root) which will require root and it only tunnel
port 80 and 443 traffic.
VPN Service mode is for Android 4.0+ and will tunnel all traffic to your server.
(Please use root mode, if you are having issue with VPN Service mode)


Secure Shell is a encrypted network protocol for initiating text-based shell

sessions on remote machines in a secure way.

SSH Host

SSH IP/hostname


SSH Port
Evozi -

The port for your SSH server, normally will be port 22 (Normally public
squid/http proxy will block port 22)

19/07/2016 08:51 a.m.

HTTP Injector

2 de 4




SSH username


SSH password


Compress data packet using zlib.


HTTP Injector currently is using port 8989 (fixed), you have to enable and set for the SSH to connect to HTTP Injector local proxy server.

Payload Keyword
Using the below keyword, the app will automatically replace with relavent data upon injection, you don't need
to replace the word inside the square bracket unless you know what you are doing.

Supported keyword: [host] [port] [host_port] [protocol] [netData] [cr] [lf] [crlf] [lfcr]

Assume that is your SSH Server IP and 22 is your SSH port


Auto Replaced



Destination host



Destination port


Destination host and port, seperated by colon :


SSH server ip and port that you set at settings


HTTP\1.0 or HTTP\1.1

HTTP protocol version


CONNECT [host_port] [protocol]

Short form of three keywords



Carriage Return, U+000D



Line Feed, U+000A



CR (U+000D) followed by LF (U+000A)



LF (U+000A) followed by CR (U+000D)



To indicate the end of HTTP header

19/07/2016 08:51 a.m.

HTTP Injector

3 de 4

Inject Method
Notice: In this example we are using "CONNECT" & "HEAD" request method and as the host you
want to spoof, you might need to use GET/POST/DELETE/CONNECT/HEAD...
Make sure your remote HTTP proxy allow the request method else you will get 403 error.

Tips: Use "Payload Generator" inside HTTP Injector app instead of writing manually. Normally we just need to
use "CONNECT" request method




CONNECT [host_port] [protocol][crlf]Host:[crlf][crlf]

Front Inject

GET HTTP/1.1[crlf]Host:[crlf][crlf]CONNECT [host_port] [protocol]


Back Inject

CONNECT [host_port] HTTP/1.1[crlf][crlf]GET [protocol][crlf]Host:[crlf][crlf]


CONNECT[host_port][crlf]GET [protocol][crlf]Host:[crlf][crlf]


CONNECT [host_port][crlf]GET [protocol][crlf]Host:[crlf][crlf]

302 Error code - If you are getting 302 HTTP header code that means your ISP is redirecting your request to
their captive portal page. Normally ISP blacklisted your remote proxy or the HTTP Payload
400 Error code - This indicate that your payload is invalid and can't be understand by remote proxy
Connection timeout - It could be that your network connection is slow or the remote proxy is slow

Psiphon - To use with psiphon (uncheck Start SSH), you can't use [host_port] in your payload, you need to get
the SSH IP of psipon and hardcode it (not tested)

19/07/2016 08:51 a.m.

HTTP Injector

4 de 4

OpenVPN - Disable "Start SSH" and use HTTP Injector with your OpenVPN if you don't have SSH server.
You have to add http-proxy 8989 and bypass route route replace_to_your_remote_proxy_ip net_gateway (change "replace_to_your_remote_proxy_ip" to IP) to your VPN config.

19/07/2016 08:51 a.m.