News for hackers. Stuff that matters.
Re:NeverSSL by bisby on Tuesday January 10, 2017 @04:48PM (#13369421)
It's sad, because these are the kinds of things that confuse the hell out of "common folk" and explaining requires explaining HTTPS, HSTS, how captive WiFi portals work, and then ultimately, why there isn't a better solution... which maybe doesn't have a great answer.

I feel like this "workaround" site is designed to draw attention to the problem at hand more than it is meant to be useful for the task at hand?

Re:NeverSSL by hannob on Tuesday January 10, 2017 @04:52PM (#13369462)
> why there isn't a better solution...

There is a better solution: No captive portals.

Re:NeverSSL by colmmacc on Tuesday January 10, 2017 @10:14PM (#13371443)
My real plan with NeverSSL.com is to use the access logs to publish an up-to-date database of broken networks and what the rough popularity of each broken network is.

I'm hopeful that these kinds of public analytics could lead to solutions, or at least who to start talking to.

Re:NeverSSL by gumby on Tuesday January 10, 2017 @10:33PM (#13371531)
Since this involves information capture, you should let people know on the page. Although admittedly the naive user, for whom this is intended, may be confused by that.

Good idea by the way!

Re:NeverSSL by Buge on Wednesday January 11, 2017 @01:27AM (#13372167)
A link to a privacy policy at the bottom shouldn't confuse anyone.
Re:NeverSSL by IsmaOlvey on Wednesday January 11, 2017 @07:00AM (#13373317)
Keep in mind that you'll also get hits from users with devices that completely lack automatic captive portal detection.
Re:NeverSSL by ar0 on Wednesday January 11, 2017 @03:14AM (#13372513)
> No captive portals.

The problem isn't even so much with captive portals, but only with those actively trying to circumvent captive portal detection provided e.g. by iOS (as pointed out above). "Regular" captive portals will be captured by iOS and you can log-in via the mini browser before any requests to Facebook etc. go through - problem solved (albeit in a very hacky way).

The problem only (re-)materialises when some smartass developers actively try (and succeed) to break portal detection (my guess is that they do it because iOS will close the portal once the Internet connection works, so all the nice ads they want to display just disappear).

Re:NeverSSL by jandrese on Wednesday January 11, 2017 @04:33PM (#13377678)
IIRC the big problem is that Apple severely restricts the captive portal displaying minibrowser, so the tracking cookies they want to inject don't work.
Re:NeverSSL by Filligree on Tuesday January 10, 2017 @05:44PM (#13369922)
What would you suggest for the case of someone wanting payment for the connection?

Like it or not, a lot of places do that.

Re:NeverSSL by omginternets on Tuesday January 10, 2017 @08:09PM (#13370907)
Honestly? It's 2017. Just throttle bandwidth and give your internet away for free.

There are some obvious cases in which this is unacceptable, but they are few and far between. The overwhelming majority of captive portals I see are just trying to get your contact info... so now you have two reasons why they should disappear.

Re:NeverSSL by BillyParadise on Tuesday January 10, 2017 @10:24PM (#13371490)
Ah, first world problems. Where I am, data connections are out of reach for the vast majority of the population (yet somehow, they all seem to have smartphones - go figger).

Everyone goes to the mall, not to shop, it would seem, but to use the free wifi and bask in the comfort of free aircon.

Captive portals are here to stay in places around the world, and like it or not, they are a widely used solution that is not going away any time soon. I for one applaud the author of this website's attempts to shine light on the problem of authenticating to this network type.

Re:NeverSSL by innocenat on Wednesday January 11, 2017 @12:11AM (#13371921)
There are still part of the world where you are require by law to log who is accessing the internet, in case he/she does something illegal.
Re:NeverSSL by slang800 on Wednesday January 11, 2017 @05:58AM (#13373093)
Yet another fantastic reason to get rid of captive portals. They spy on you _and_ are frequently broken.
Re:NeverSSL by lloeki on Wednesday January 11, 2017 @02:52AM (#13372451)
> The overwhelming majority of captive portals I see are just trying to get your contact info...

IIRC in some countries they're required (by law) to do so, because, y'know, terrorists.

Re:NeverSSL by Semaphor on Wednesday January 11, 2017 @05:27AM (#13372977)
Far worse than terrorists, filesharers.
Re:NeverSSL by jandrese on Wednesday January 11, 2017 @04:38PM (#13377713)
Most captive portals I run across are trying to verify that you are in fact a paying customer. Typically by making you enter your hotel room number and name or something.

Normally you would think it would just be easier to set a wifi password and skip the captive portal nonsense, but so many vendors harbor the fantasy that other people will pay for the wifi so they have to leave it open and put a "buy 24 hours of internet for only $30!" link in there.

I hate captive portals. They are such a nuisance, especially when you have your machine configured to always connect via VPN.

Re:NeverSSL by arjie on Wednesday January 11, 2017 @12:15AM (#13371939)
I don't want your shitty slow internet. I want to pay $20 for fast enough Internet on a plane, not some 56.6kbps bullshit.
Re:NeverSSL by pmontra on Wednesday January 11, 2017 @03:59AM (#13372669)
$20 is one month worth of broadband in some countries. Anybody can do what he wants with his money, but $2 would be a more appropriate price tag for a few hours of Internet. If you're working, $20 could be OK though because you're gaining more.
Re:NeverSSL by atomwaffel on Wednesday January 11, 2017 @05:08AM (#13372908)
It also depends on where you are. Getting high-speed, low-latency internet to a shopping centre in the middle of a metropolitan area is probably a bit easier and cheaper than getting it to a plane flying 40000 feet above the Atlantic. And while I probably wouldn't pay $20 for eight hours of internet on a plane (unless I really needed it), I don't find the price tag entirely unjustified.
Re:NeverSSL by raverbashing on Wednesday January 11, 2017 @05:08AM (#13372907)
On a plane?

> but $2 would be a more appropriate price tag for a few hours of Internet

Correct. That's (one of the reasons) why Starbucks coffee is pricier.

Re:NeverSSL by samtho on Tuesday January 10, 2017 @05:48PM (#13369955)
WPA/WPA2 Enterprise supports a multi user environment. You can require a unique login per user and thus associate payment with that. It also alleviates the problem with mac address whitelisting.
Re:NeverSSL by michaelmior on Tuesday January 10, 2017 @07:45PM (#13370774)
Then people either have to pay offline or you need to set up a different unencrypted network with a captive portal to facilitate payment.
Re:NeverSSL by hannob on Tuesday January 10, 2017 @06:36PM (#13370330)
What would you suggest if someone wants payment for a water tab? Ever seen that?

I think we should move towards considering Internet access as a general service that people make available for their guests/customers.

Re:NeverSSL by droopybuns on Tuesday January 10, 2017 @07:07PM (#13370553)
How do you see this scaling?

Do you think hotels and restaurants can deliver reliable internet without charging for it?

Is it reasonable to assume that companies that don't charge for wifi can afford the staff to make sure that users don't abuse it?

I am considering your proposal & I don't see it working at all.

Re:NeverSSL by jzwinck on Tuesday January 10, 2017 @08:15PM (#13370936)
I wonder why this seems so intractable in some countries. In others, such as Indonesia or Vietnam or Taiwan, WiFi really is free in most establishments and nobody seems to have a problem with customers abusing it. Even a $10 hotel has WiFi. Versus say London where a $300 hotel charges $25 for WiFi. In many places nobody would ever expect to pay one cent for WiFi in a place where they are already a paying customer unless it's an Internet cafe.
Re:NeverSSL by Turing_Machine on Tuesday January 10, 2017 @09:51PM (#13371361)
"Versus say London where a $300 hotel charges $25 for WiFi."

It's almost an inverse relationship, in my experience. The economy to medium-priced "business travel" hotels (the sort found near most U.S. airports) usually have free wifi, while the fancy "luxury" hotels often charge for it.

Re:NeverSSL by snug on Tuesday January 10, 2017 @10:17PM (#13371454)
Because it's usually people that can afford it, or a business trip, where the company will pay for it.
Re:NeverSSL by isostatic on Wednesday January 11, 2017 @04:37AM (#13372810)
My company will pay for it, but it's a hassle to pay for it, submit the receipt, etc.

I simply choose better hotels.

Re:NeverSSL by bastawhiz on Tuesday January 10, 2017 @09:00PM (#13371152)
> Do you think hotels and restaurants can deliver reliable internet without charging for it?

Absolutely. 100% of the hotels that I've stayed at in the last five years have had free wifi. Almost half of those have still had captive portals.

Hell, my gym provides free wifi. The captive portal is literally just a button that says "Continue to the Internet" and redirects you to their Facebook page (not even a terms of use).

Every Starbucks I've been in recently has free wifi. Every library I've visited has had captive portal-free wifi.

I don't understand what sort of "scaling" you're referring to.

Re:NeverSSL by Nullabillity on Tuesday January 10, 2017 @07:47PM (#13370783)
> Do you think hotels and restaurants can deliver reliable internet without charging for it?

Yes. Because most already do.

Re:NeverSSL by lelandbatey on Tuesday January 10, 2017 @07:32PM (#13370711)
> Do you think hotels and restaurants can deliver reliable [[tap water]] without charging for it?

> Is it reasonable to assume that companies that don't charge for [[tap water]] can afford the staff to make sure that users don't abuse it?

Sorry to post the snarky response, but with internet access, as with all shared goods like access to water or noise in a semi-shared space such as a hotel, yes, I do expect they can handle it and not have it be a big deal.

Re:NeverSSL by a3n on Tuesday January 10, 2017 @09:26PM (#13371256)
I was thinking the same thing, with [[lights]].
Re:NeverSSL by derekp7 on Tuesday January 10, 2017 @09:39PM (#13371308)
More like mustard and ketchup and napkins, along with a functional (clean, stocked) washroom.

Internet WIFI should be treated as a condiment. A business that can't afford condiments probably shouldn't be in business.

Re:NeverSSL by smsm42 on Tuesday January 10, 2017 @07:28PM (#13370681)
> Do you think hotels and restaurants can deliver reliable internet without charging for it?

Many do. I've never seen a restaurant charging for Wifi, and I've seen plenty offering it for free. Quality varies, some are good, some suck. Hotels are all over them map, but I just stayed at the hotel that advertises free high quality Wifi (and it indeed was fine) as one of the amenities.

US-centric, of course, in some places I guess it many be too expensive for restaurants to do this.

Re:NeverSSL by OriginalPenguin on Tuesday January 10, 2017 @08:46PM (#13371077)
It shouldn't be too expensive for a restaurant to do.

Although a restaurant can get by without wifi, most modern restaurants have it for managing OpenTable, monitoring yelp reviews, ordering supplies online, etc.

I guess the signal might get a bit worse the farther away you get from the wifi router, but in general, providing wifi to customers shouldn't cost any additional money.

Re:NeverSSL by seirim on Tuesday January 10, 2017 @11:18PM (#13371710)
I think the real cost isn't that they use wifi, but that they actually sit around longer but purchase less in their time spent at the establishment. It's really important for restaurants to turn tables over quickly.
Re:NeverSSL by smsm42 on Friday January 13, 2017 @02:46AM (#13389136)
People usually don't lurk in those places anyway, I think. Usually there are coffee shops etc. that are much more open to that kind of thing.
Re:NeverSSL by Turing_Machine on Tuesday January 10, 2017 @09:52PM (#13371367)
"It shouldn't be too expensive for a restaurant to do."

Heck, most McDonalds restaurants have free wifi these days, and that's about as cheap as it comes.

Re:NeverSSL by gumby on Tuesday January 10, 2017 @10:34PM (#13371540)
I see it scaling the same way hannob's example does, with water. Who charges for a drink of water?
Re:NeverSSL by photon-torpedo on Wednesday January 11, 2017 @01:22AM (#13372155)
Most restaurants in Germany do. You'd have to explicitly and sometimes adamantly request "tap water" to get access to free water, otherwise you'll be served and charged for fancy "mineral water".
Re:NeverSSL by WildUtah on Wednesday January 11, 2017 @04:32AM (#13372795)
Most restaurants in most countries charge extra for a glass of plain water. The USA impresses foreigners with its free universal iced water.
Re:NeverSSL by basicplus2 on Tuesday January 10, 2017 @07:29PM (#13370691)
Cost of internet can priced into the prices for goods and services provided
Re:NeverSSL by JoshTriplett on Tuesday January 10, 2017 @09:23PM (#13371241)
Almost none of the captive portals I run into want payment of any kind; they almost always just have a click-through for "don't abuse this network" or similar terms.

If you really want payment, then post a URL wherever you post a sign about the SSID, and/or make the SSID "Go To example.com after connecting".

Re:NeverSSL by ploxiln on Tuesday January 10, 2017 @05:48PM (#13369951)
put the payment url on a sign, just enforce an ip whitelist until customer has paid. Or in extreme sign-less situations put it in the ssid e.g. "pay at portalpage.com"
Re:NeverSSL by bastawhiz on Tuesday January 10, 2017 @09:05PM (#13371169)
> put the payment url on a sign, just enforce an ip whitelist until customer has paid. Or in extreme sign-less situations put it in the ssid e.g. "pay at portalpage.com"

This is a captive portal. But worse, because even HTTP sites don't send you to the portal.

Re:NeverSSL by ploxiln on Wednesday January 11, 2017 @03:30PM (#13377250)
But on the plus side:

  * no MITM attack
  * no TLS cert errors
  * no "do I need to hard-refresh? what's the key for that?"
  * no question if network access is working or not
  * one reliable clear action to get access
See the various comments about work-arounds for work-arounds. Random plain-http intercept-check sites because some captive portals try to make iOS not pop up the mini sandboxed captive portal browser. The endless confusion.

This stuff would be a lot simpler if people weren't always trying to make it needlessly "easy" and fucking it up even more every time.

Re:NeverSSL by est on Tuesday January 10, 2017 @08:30PM (#13371012)
802.11 standard could come up with some kind of captive portal standard.
Re:NeverSSL by swiley on Tuesday January 10, 2017 @04:51PM (#13369445)
I still think having people connect to something handed out by dhcp would be really great, that's what dhcp is for in the first place. If that's too complicated you could always try connecting to the gateway.
Re:NeverSSL by JoshTriplett on Tuesday January 10, 2017 @09:22PM (#13371238)
RFC 7710 specifies a way for DHCP servers and router advertisements to specify a portal page: https://tools.ietf.org/html/rfc7710
Re:NeverSSL by Already__Taken on Wednesday January 11, 2017 @06:00AM (#13373102)
So is there a matching method to neatly introduce MITM in the connection? Our portal would let you log on but you'll still fail to connect to anything as we have to inspect it.
Re:NeverSSL by JoshTriplett on Wednesday January 11, 2017 @11:59AM (#13375379)
> So is there a matching method to neatly introduce MITM in the connection?

No, for fairly obvious reasons. If you MITM traffic, clients will correctly flag security errors. No method exists or ever should exist for a network to cause clients to not flag such security errors. Any such method would defeat one of the primary purposes of TLS: to protect against hostile networks.

> Our portal would let you log on but you'll still fail to connect to anything as we have to inspect it.

For what purpose? I have not seen any legal jurisdiction sufficiently draconian to impose such a requirement. (I've seen a few terrible ones that might require logging IP addresses.)

Re:NeverSSL by Already__Taken on Tuesday January 17, 2017 @11:32AM (#13418847)
For what purpose? > Schools and BYOD.

I know MITM should never be silent of course but some kind of interaction flow would be good. When you try to add a school account to your android it won't let you if you don't install the MDM client. A similar thing for the network would be great (of course, the MDM will install the cert).

I'd love if I could also pin our MITM cert to only be valid when the client is on our IP address' which if using ipv6 could work very nicely.

Re:NeverSSL by CaliforniaKarl on Wednesday January 11, 2017 @02:04AM (#13372301)
Do you know if any clients (iOS, Android, etc.) have implemented support for this RFC?
Re:NeverSSL by JoshTriplett on Wednesday January 11, 2017 @03:54AM (#13372650)
Not yet; too recent.
Re:NeverSSL by makomk on Tuesday January 10, 2017 @05:36PM (#13369860)
This isn't generally a problem on smartphones and tablets because they can usually detect captive portals and prompt the user appropriately.
Re:NeverSSL by pfranz on Tuesday January 10, 2017 @06:53PM (#13370476)
Do you travel? I often have problems and am running out of non-https sites to test against. Best I can figure is that they're whitelisting certain domains so the captive portal detection isn't triggered. I think this is so certain things like iMessage or email work (hence, whitelisting apple.com), but blocking out the rest of the web.

I don't travel often (Christmas and maybe once or twice a year outside of that), but it's when I encounter this. It's very frustrating because I'll be walking, pass a store I've previously connected to Wifi, and suddenly lose Internet, then hunt for a website to get the portal to pop up.

I'm annoyed that captive portals have been commonly using DNS hacking since 802.11b and I'm surprised a better solution hasn't been standardized. I have no idea where in the stack it should go (DHCP, wireless standards, or whatever) but DNS hacking drives me nuts.

Re:NeverSSL by jandrese on Wednesday January 11, 2017 @04:42PM (#13377744)
I just make up fake sites to see if I'm stuck behind a captive portal because too many times I've accidentally loaded a cached version instead and not realized that I'm being blocked. fjiodfakliew.com or something.

The most sensible option would be a DHCP extension that indicates you are behind a portal and gives the IP to load, but this requires updates to every DHCP server and client, so it would take many years before it works reliably. Also, it fails for IPv6, but a modification to the Router Advertisement message could maybe do the same thing. It's a little scarier in this regard because it would be even easier to abuse.

Re:NeverSSL by Gaelan on Tuesday January 10, 2017 @07:29PM (#13370688)
Apple uses a large amount of domains to avoid this problem.
Re:NeverSSL by pfranz on Tuesday January 10, 2017 @08:33PM (#13371024)
Really? My point was, I have no specific idea why, but I /constantly/ have problems. My solution is to go to a non-https website in Safari and use the clickthrough. It seems to be on certain networks (not just a % of the time on all networks).

The experience has gotten a lot better. I see Apple's pop up covering a lot more corner cases, but after years I see have problems almost every time I travel.

Re:NeverSSL by HappyTypist on Tuesday January 10, 2017 @10:56PM (#13371630)
Some networks started sniffing for the user agent 'CaptivePortalAssist' instead of domain.
Re:NeverSSL by Viper007Bond on Tuesday January 10, 2017 @06:22PM (#13370228)
Windows does the same thing, at least in 10. I get a notification that further action is required and clicking it opens a no-SSL Microsoft URL that Will redirect.
Re:NeverSSL by poizan42 on Wednesday January 11, 2017 @01:48AM (#13372251)
It's go.microsoft.com. I Think you can be pretty sure that will forever be without https as well since it is hardcoded into several Windows versions
Re:NeverSSL by squidi on Wednesday January 11, 2017 @07:01AM (#13373325)
Re:NeverSSL by mikehollinger on Tuesday January 10, 2017 @06:25PM (#13370249)
The question that I always ask family is, "Can you get to www.purple.com if you're having trouble?" It does what it says, is easy to understand, and is obvious if it's not functional.
Re:NeverSSL by bisby on Thursday January 12, 2017 @10:54AM (#13383173)
My family always rhetorically asks "Why is this so hard?" or "Why does this never seem to work?" - which I never answer, because they are asking rhetorically, but also because there are a lot of deep technical issues you need to know about before you understand the common implementation and then I'm not sure I can explain why we dont have a better implementation.
Re:NeverSSL by EGreg on Tuesday January 10, 2017 @10:57PM (#13371636)
How DO captive wifi portals work?

Can I set one up on a home network with a regular router without WifiDog or some other OpenWRT firmware?

Maybe somehow use one of the computers on the network to run a DNS server that all requests go through??

Re:NeverSSL by johncolanduoni on Wednesday January 11, 2017 @02:00AM (#13372290)
Usually they let DNS resolve normally (because intercepting at this level will break the website even after you've satisfied the captive portal) and intercept any HTTP connections, responding with a temporary redirect to a controlled domain. Doing this with a mere DNS server will only work if you don't visit the website you initially tried to access for a while after you connect. It's also super easy to bypass; just pick a public DNS server instead of the one the network tries to assign to you.

To do this properly either your router or switch/AP need to be configured to do the necessary rewriting as well as maintain a list of authenticated clients. Your best bet to do this with something in the consumer(ish) price range without a custom firmware like OpenWRT is something like a Uni-Fi access point which can handle the captive portal interception itself.

Re:NeverSSL by EGreg on Wednesday January 11, 2017 @03:29AM (#13372569)
Can't I use a regular consumer router but hook up a computer on the LAN to do something? Intercept DNS? Intercept HTTP requests like you said? But the problem is what if the user makes https requests?

All I want to do is make a system which "takes attendance" via the phones automatically trying to join the local network, and I use the session is to look up the user. People would have accounts where they log in once via the captive portal and then the attendance would happen automatically.

Basically I want to make a captive portal with regular routers so I can sell the solution to regular venues.

How do these guys do it:

https://www.fusionwifi.com/

There are a lot of social wifi solutions now

Re:NeverSSL by johncolanduoni on Wednesday January 11, 2017 @02:28PM (#13376741)
Think about it this way: if you could do it with a random computer on the network without special cooperation from the router, what would stop someone from connecting to your network with this software you propose and doing the same? As I explained, telling your router to instruct your clients to use a particular DNS server isn't nearly enough.

The closest you could get would be to use another computer with 2 network cards as the actual router (running something like PFSense), and set up a consumer WiFi router as an access point instead of a router. This would only work as long as you don't mind the clients being able to connect to the rest of you local network; if that's an issue you really need something like a captive portal aware AP/switch or a VLAN.

However this solution doesn't make much sense in the end, as it would be much cheaper to buy one of the cheaper commercial-grade APs (UniFi's are around $80) and use your "regular router" with WiFi disabled than it is to buy a computer for that purpose. Those APs are also better quality than any consumer router you could find, and scale up much better for larger venues.

Also TBH if you're not aware of how captive portals work and why it can't be done by a random computer on your network, this is probably not a good business venture for you. This isn't an unsolved (or expensive to solve) problem to begin with.

Re:NeverSSL by EGreg on Wednesday January 11, 2017 @07:05PM (#13378690)
I know it isn't an unsolved problem. That's my point. I have the software to run on a local area network and now I just want to explore the right ways to actually set up our own captive portals on those networks.

Consider a building or cruise ship with an existing network. It's a much harder sell to say "replace all your routers" or "flush all your routers and install our firmware" than to say "use your existing router and just set up our DNS server on a computer".

Re:NeverSSL by johncolanduoni on Wednesday January 11, 2017 @07:55PM (#13379000)
What networks have you seen that have more than one router and use consumer routers? Even medium sized networks often have only one router and multiple switches. You can get a router that can handle a captive portal and push a million packets per second for around $100. How little are you going to charge for your solution that it's going to be cheaper than that?
Re:NeverSSL by brainfire on Wednesday January 11, 2017 @10:36AM (#13374634)
You must be able to MitM something to get this to work.

If you can MitM connections on your network just by connecting a client to it, with no particular participation from the router, your network sucks.

Your linked site notes that they provide the router hardware.

Re:NeverSSL by fragmede on Tuesday January 10, 2017 @11:59PM (#13371870)
You could set one up with a regular router but you need something you can customize, be it the router itself, a raspberry pi, or a desktop PC acting as a server. And yeah, you've got it, the router needs to allow DNS to be customized so clients get pointed to a system that (intentionally) MiTMs requests and returns a http 302 redirect to go to the portal page.