What if you cant use in certain situations SQL injection and XSS?
nobody's gonna answer that question, firstly because it's the answer would be wide as hell, and secondly because it's mainly up to you research it. If you start doing basic challenges, they usually give you a direction where to start your research, and you will learn basic vulnerabilities/exploits, eg. LFI RFI, different types of XSS and SQL,and many more… then you can move on realistic and pen testing, where you can apply these skills in controled environment…. GL and HF :P
If you want to know about other kinds of vulnerabilities, there's a small list available at
http://en.wikipedia.org/wiki/Vulnerability_%28computing%29#Examples_of_vulnerabilities
search for more vulnerabilities,test out the system to see how it works and see if you can discover more.it makes no sense to give up because the system is impervious to sql and xss exploits .i mean after all, these exploits are well known and you should expect there to be counter measures to these exploits.This is why you must try to be innovative