My conclusion: Theory, algorithms, cryptography, and machine learning.
There are tons of world experts in operating systems, graphics, databases, distributed systems, compilers, programming languages, computer architecture, security, and HCI without PhDs. In fact, I would argue some of these fields are dominated by non-PhDs (see: Ken Thompson, Linus Torvalds, etc.) I don't see a lot of non-PhDs doing cutting edge work in CS theory, algorithms, cryptography, or machine learning. Probably because these fields involve lots of theory and mathematics.
Just a thought.
Even standard web app problems can get quite complex on the UI. For example, recently I've had to use finite automona to verify that a combination of options on a form can result in all possible valid combinations. Since it was quite complex, I was worried that there was either: a) an invalid path in the options, or b) a valid but unreachable path.
That said, if you just want to do a Ph.D but are struggling to figure out what to do a Ph.D in, I would seriously re-evaluate why you want to do a Ph.D.
Why? Just personal preference, I think these are very interesting, & hold much potential.