News for hackers. Stuff that matters.
Re:The XSS Game by Google by fastest963 on Wednesday November 23, 2016 @10:25AM (#13023226)
For the last one, instead of actually uploading a file, you can just put data:text/javascript,alert('test') after the hash.
Re:The XSS Game by Google by wybiral on Wednesday November 23, 2016 @12:12PM (#13023993)
Good idea. I solved that one by using a "protocol relative url" (omitting the http[s] part).
Re:The XSS Game by Google by pault on Wednesday November 23, 2016 @03:24PM (#13025558)
This is why you should never embed user created SVGs in your site.
Re:The XSS Game by Google by nsgi on Wednesday November 23, 2016 @06:24PM (#13026632)
What if they're in an img tag?
Re:The XSS Game by Google by 9point6 on Wednesday November 23, 2016 @12:01PM (#13023908)
Ah I didn't know you could have it without the base64 encoding.

I did basically the same:

    data:text/javascript;base64,YWxlcnQoInRlc3QiKQ==
Re:The XSS Game by Google by et-al on Thursday November 24, 2016 @01:35AM (#13028641)
These are awesome, thanks.
Re:The XSS Game by Google by chadscira on Wednesday November 23, 2016 @11:52AM (#13023848)
I did

    data:text/javascript;base64,YWxlcnQoMSk=
I didn't know you could do stuff like this (not for XSS)

    data:text/html,<script>alert(window.location)</script>
Cool, you can store a whole website in a URL now.
Re:The XSS Game by Google by joshstrange on Wednesday November 23, 2016 @02:31PM (#13025133)
> Cool, you can store a whole website in a URL now.

As long as it's shorter than ~2000 characters [0]

[0] http://stackoverflow.com/questions/417142/what-is-the-maximu...

Re:The XSS Game by Google by chadscira on Wednesday November 23, 2016 @06:06PM (#13026514)
Seems like in chrome you can go much higher!

Here is a example of 5M

    data:text/html,<script>window.location='data:text/html,<!--'+new Array(5000001).join('a')+'!--><script>document.documentElement.innerHTML=window.location.protocol+\':\'+String(window.location).length;</'+'script>';</script>
I tried 110Mb and it actually worked as well! I'm not sure about the real limit.

You can store MASSIVE amounts of data in these things. It also seems to eventually break the url display and reverts to about:blank. It still retains protocol integrity though.