pirmdiena, 2013. gada 15. jūlijs

X-Forwarded-For un nepareizās IP adreses

X-Forwarded-For Header

Daži proxy serveri, lai identificētu lietotāja IP adresi, katram HTTP pieprasījumam header kabina klāt aptuveni šādu papildus parametru:

X-Forwarded-For: client, proxy1, proxy2

http://en.wikipedia.org/wiki/X-Forwarded-For

The X-Forwarded-For (XFF) HTTP header field is a de facto standard for identifying the originating IP address of a client connecting to a web server through an HTTP proxy or load balancer. This is an HTTP request header which was introduced by the Squid caching proxy server's developers. An effort has been started at IETF for standardizing the Forwarded HTTP header.


Nav grūti nojaust, ka tādu papildus X-Forwarded-For parametru var nosūtīt gandrīz jebkurš lietotājs pats.

Ar papildus X-Forwarded-For parametru būs tā, it kā tu lietotu proxy serveri un tava patiesā IP adrese arī ir redzama.

Piemēram, uz Firefox ir paplašinājums (extension, add-on), kas tā arī saucas X-Forwarded-For Header.

This extension inserts X-Forwarded-For field into the HTTP Request header. Some servers look at this field to identify the originating IP address. By inserting an IP address from another country you may fool some web servers to believe you are from that country.

Vai šis: Modify Headers. Šajā visi parametri jāsaraksta pašam.

Taču daži koderi savos skriptos kaut kā nepareizi nosaka IP adreses.

Uztaisa aptauju, kas it kā pārbauda balsotāju pēc IP adreses, bet nepareizi apstrādā X-Forwarded-For header, kas ir elementāri maināms lietotāja pārlūkprogrammas HTTP header parametrs.

It kā gribēdami izlobīt tavas IP adreses aiz proxy, paši sapinas meistarībā.

Piemēram, mammamuntetiem.lv tajā sānu aptaujā kaut ko pārbauda pēc IP adresēm, bet ņemot vērā arī X-Forwarded-For.
Balsotājam atliek tikai pamainīt X-Forwarded-For adresi un balso atkal.
Skriptā to izdarīt 50.000 reizes un aptauja vairs neeksistēs. Nebūs ticama.
Jācer vien, ka tas datubāzes IP lauks ir pasargāts pret SQLi.

X-Forwarded-For spoof


Uzskatāmāk to var redzēt pods.lv/whois IP adreses noteikšanas lapā:

X-Forwarded-For ups!


IP adrese ir sajaukta vietām ar proxy (8.8.8.8) adresi.

Var pamēģināt komandrindā:
curl -H "X-Forwarded-For: 8.8.8.8" http://pods.lv/whois/

Tā gadās.

Ja līdzīgi tiek kodēti tie balsojumi “balsot var vienu reizi no vienas IP adreses”, tad šovs var sākties.

Vēl viens Firefox ir paplašinājums X-Forwarded-For Spoofer.

Some clients add X-Forwarded-For to HTTP requests in an attempt to help servers identify the originating IP address of a request. Some clients, however, can set X-Forwarded-For to any arbitrary value. Some servers assume X-Forwarded-For is unassailable. No server should.

With this add-on, you can assign an arbitrary IP address to the X-Forwarded-For field, attempt to perform XSS by including HTML in this field, or even attempt SQL injection.

Un tādā garā.
55096709492717636122764348099568733188

Nav komentāru:

Ierakstīt komentāru

Jūsu komentārs tiks nosūtīts mājas lapas administratoram, līdz apstiprināšanai tas var nebūt pieejams šī bloga publiskajā daļā.