Skip to content

🚿 #21

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 95 commits into from
Aug 27, 2016
Merged

🚿 #21

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
dd462ff
md link dir
cirosantilli Nov 6, 2014
e922254
markdup-in-link
cirosantilli Nov 6, 2014
02c7e68
Img in link.
cirosantilli Nov 6, 2014
f4fc921
Markup inside link.
cirosantilli Nov 6, 2014
429ebfd
-r
cirosantilli Nov 6, 2014
e36c719
Empty
cirosantilli Nov 6, 2014
07cf599
Its typo readme.
cirosantilli Nov 11, 2014
d1dffcd
Update links to long filename repos.
cirosantilli Nov 11, 2014
defaceb
SHA that begins with deface.
cirosantilli Nov 13, 2014
e7fe6ca
Issue markdown.
cirosantilli Nov 13, 2014
07dc5a8
no-preview
cirosantilli Nov 17, 2014
65e3a5d
image
cirosantilli Nov 19, 2014
bffbcc9
Image in subdir.
cirosantilli Nov 19, 2014
bfa199b
Clean up a bit.
cirosantilli Nov 20, 2014
b641149
Improve links.
cirosantilli Nov 20, 2014
8c6ef6e
mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm…
cirosantilli Nov 20, 2014
76c0fc9
Wide stuff, 7 char SHA.
cirosantilli Nov 20, 2014
971294f
bitbucket
cirosantilli Nov 21, 2014
d128743
images
cirosantilli Nov 21, 2014
2144a93
svg with js, png with no ext.
cirosantilli Nov 21, 2014
0fd6c43
Link to SF, Google Code, Assembla and remote setup script.
cirosantilli Nov 22, 2014
d751214
XSS branches.
cirosantilli Nov 22, 2014
c10de4b
issue-markdown
cirosantilli Nov 22, 2014
25a3b6c
<script> file
cirosantilli Nov 22, 2014
4a913d8
Injection branch.
cirosantilli Nov 22, 2014
98446c7
长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长长…
cirosantilli Nov 22, 2014
1c3a2e8
Better XSS without slash, more dangerous filenames.
cirosantilli Nov 24, 2014
39b915b
Weird filenames to toplevel.
cirosantilli Nov 24, 2014
5b55102
Control chars.
cirosantilli Nov 24, 2014
ff01c7d
;:
cirosantilli Nov 24, 2014
a006114
More XSS.
cirosantilli Nov 25, 2014
0be7166
Remove control chars because breaks GL, add atlas remote.
cirosantilli Nov 25, 2014
45cdd93
remotes executable.
cirosantilli Nov 25, 2014
2d03cf6
Remotes variable repo.
cirosantilli Nov 25, 2014
eea22c5
Symlinks, link to other interesting repos.
cirosantilli Nov 25, 2014
eb30932
linus
torvalds Nov 27, 2014
c14f53d
pdf
cirosantilli Nov 27, 2014
2abeddf
sym-readme
cirosantilli Nov 27, 2014
04d0df6
Symlink containing a NUL character
cirosantilli Nov 27, 2014
8039e0c
test-symlink-start-nul
cirosantilli Nov 27, 2014
88b9f2e
rm sym-nul-char
cirosantilli Nov 27, 2014
d5f94ed
Fix markdown link
cirosantilli Dec 5, 2014
12b6339
Txt file
cirosantilli Dec 5, 2014
428359b
Abs link that is Md file to attack compilers
cirosantilli Dec 6, 2014
4883d36
Move sym-self to separate repo
cirosantilli Dec 6, 2014
cd8b6ec
img oneror xss
cirosantilli Dec 6, 2014
9c1a255
_git
cirosantilli Dec 12, 2014
caf6c70
Fix readme
cirosantilli Dec 13, 2014
58038f5
Asciidoc toc test
cirosantilli Dec 16, 2014
0c62f5b
Test large file
cirosantilli Dec 18, 2014
d954df8
Upper case .git repo
cirosantilli Dec 20, 2014
181cc8f
Link to SVG with XSS
cirosantilli Dec 20, 2014
089135d
Add contributing
cirosantilli Dec 20, 2014
5420328
Case insensitive conflict
cirosantilli Dec 20, 2014
ce8394f
Raw HTML
cirosantilli Dec 22, 2014
f98c131
Entities
cirosantilli Dec 24, 2014
9231564
a.X to X.X for easier finding
cirosantilli Dec 29, 2014
70ce284
readme headers, more name conflicts
cirosantilli Dec 29, 2014
f5826ca
codeplane
cirosantilli Dec 29, 2014
406832b
invalid-utf8
cirosantilli Dec 29, 2014
2196f85
Girocco
cirosantilli Jan 2, 2015
19bd713
gitorious
cirosantilli Jan 3, 2015
8cf849a
kiln
cirosantilli Jan 3, 2015
1c4839b
sym-xss
cirosantilli Feb 1, 2015
6022121
1970
cirosantilli Jan 1, 1970
d3c245d
Explain early commit
cirosantilli Mar 26, 2015
5ac11f0
issue zero padded
cirosantilli Mar 27, 2015
1f7372a
Improve at mention
cirosantilli Apr 2, 2015
06a12d8
New name same email
cirosantilli Apr 2, 2015
44f2a9e
Visual studio
cirosantilli Apr 28, 2015
71220fc
--
cirosantilli Aug 27, 2015
62bc790
gitignore bzr
cirosantilli Aug 28, 2015
de4daa2
Add Launchpad attempt
cirosantilli Aug 29, 2015
e10df0c
txt autolinks
cirosantilli Sep 8, 2015
91ba4bb
README autolinks
cirosantilli Sep 8, 2015
20553ab
adoc include
cirosantilli Sep 23, 2015
e06c1e8
adoc path transversal
cirosantilli Sep 23, 2015
75c6f2a
Codeplex and Beanstalk
cirosantilli Sep 24, 2015
504d212
Autolink with single quote
cirosantilli Nov 1, 2015
fc0bf02
﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽…
cirosantilli Nov 24, 2015
cfd3b60
basmala
cirosantilli Nov 24, 2015
de4a8e7
cirosantilli Nov 24, 2015
4b57f8c
Thai combining characters
cirosantilli Nov 24, 2015
1bd521c
notabug.org
cirosantilli Feb 6, 2016
b8df704
git commit many parents
cirosantilli May 16, 2016
c01a2a3
Split reamde, start fast commit generation
cirosantilli May 17, 2016
723d8e3
Move in some generation scripts
cirosantilli May 17, 2016
22d8ed1
Basic manual sha calculation works
cirosantilli May 17, 2016
47ee254
Duplicate parent lowlevel
cirosantilli May 17, 2016
c135ab0
1m commits
cirosantilli May 18, 2016
864d809
Use my email, make util.py more general
cirosantilli May 18, 2016
fb21c34
future
cirosantilli Aug 17, 292278994
f4145ae
future explain
cirosantilli Mar 26, 2015
03e039c
future-max
cirosantilli Dec 4, 292277026596
ff86a7b
Explain future max
cirosantilli Apr 2, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Empty file added "
Empty file.
Empty file added ";alert("xss");"
Empty file.
Empty file added #
Empty file.
Empty file added '
Empty file.
Empty file added ';alert("xss");'
Empty file.
Empty file added -
Empty file.
Empty file added --
Empty file.
File renamed without changes.
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions .bzrignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.git
Empty file added .gitattributes
Empty file.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.bzr
Empty file added 1970
Empty file.
1 change: 0 additions & 1 deletion 3

This file was deleted.

Empty file added :
Empty file.
Empty file added ;
Empty file.
Empty file added ;alert("xss");
Empty file.
Empty file added ;alert('xss');
Empty file.
Empty file.
Empty file added <script>
Empty file.
Empty file added <script>alert('xss')
Empty file.
Empty file added <script>alert('xss');
Empty file.
Empty file added ?a=b&c=d
Empty file.
Empty file added CASE
Empty file.
Empty file added CASE-DIR/.gitkeep
Empty file.
1 change: 1 addition & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Contributing
1 change: 1 addition & 0 deletions HEAD
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ref: refs/heads/master
3 changes: 3 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
http://example.com

[email protected]
43 changes: 9 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,11 @@
Tests to see how GitHub and GitLab work exactly and to detect bugs with them.
# Test

Tests that are very large will not be included here to keep this repository small:
Tests to see how Git web interfaces like GitHub and GitLab work exactly detect bugs.

- <https://github.com/cirosantilli/test-deep>
- <https://github.com/cirosantilli/test-diff-many-files>
- <https://github.com/cirosantilli/test-pr-many-commits>

There are also some tests that could not be included here conveniently:

- <https://github.com/cirosantilli/test-empty-commit>
- <https://github.com/cirosantilli/test-empty-subdir>
- <https://github.com/cirosantilli/test-long-filename>

This repository is mirrored at:

- <https://github.com/cirosantilli/test>
- <https://gitlab.com/cirosantilli/test>

Other similar repos from other people:

- <https://github.com/joernchen/evil_stuff>

The most interesting files on this repository are:

- [markdown.md](markdown.md)

- whitespace filename edge cases:

- [single whitespace filename](%20)
- [double whitespace directory name](%20%20/) and [it's README](%20%20/README.md)
- [a b](a b)

Some interesting branches include:

- [`hasslash/a`](../hasslash/a): branch inside sub-directory
1. [Other test repos](other-test-repos/README.md)
1. [Mirrors](mirrors.md)
1. [Generate commits fast](generate-commits-fast.md)
1. Tests
1. [Files](files.md)
1. [Refs](refs.md)
1. [Other CMS](other-cms.md)
Empty file added \
Empty file.
File renamed without changes.
1 change: 1 addition & 0 deletions _git/HEAD
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ref: refs/heads/master
13 changes: 13 additions & 0 deletions _git/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Git automatically treats certain directories as Git repositories when certain files are present.
<http://stackoverflow.com/questions/2044574/determine-if-directory-is-under-git-control>

In normal circumstances, this happens for test repos that are kept inside git related repositories,
e.g. <https://github.com/schacon/grack/tree/613acd237ab7f522a02953c310aad0d484873bd7/tests/example>

When there is a `.git` directory in the current directory,
it takes precedence over the current directory being a bare repo:
`git` commands without explicit `--git-dir` will use it.

If however git finds a directory that it recognizes to be a git bare repo and there is no `.git`,
it will be used. Try `git log` in this directory. If some system fails to check for that,
it is a great vector for arbitrary code execution.
2 changes: 2 additions & 0 deletions _git/objects/17/3a852893f2dac5b79dd5862e5a032777477567
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
x5��
1 =�+r��b6�_�n��������\g��o�k��<2I\W��}8�a�.~c 5����%��t����X�t�'���3��|�A��!W�
Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions _git/refs/heads/master
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
173a852893f2dac5b79dd5862e5a032777477567
2 changes: 0 additions & 2 deletions a

This file was deleted.

5 changes: 0 additions & 5 deletions a.md

This file was deleted.

3 changes: 0 additions & 3 deletions a.rba

This file was deleted.

16 changes: 16 additions & 0 deletions adoc.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
= h1

:toc:
:toc-placement: preamble

Preamble. This paragraph has some magic properties just because it is before the first h2. E.g., the Toc will go after it.

== h2

== include

GitHub renders it as a link as of 2015-09-23: no path transversal :-(

include::.git/HEAD[]

include::include.adoc[]
File renamed without changes.
1 change: 0 additions & 1 deletion b

This file was deleted.

1 change: 0 additions & 1 deletion brancha

This file was deleted.

3 changes: 3 additions & 0 deletions by-linus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Ciro, keep up the good work!

Linus.
Empty file added case
Empty file.
Empty file added case-dir/.gitkeep
Empty file.
2 changes: 0 additions & 2 deletions commit.md

This file was deleted.

File renamed without changes.
2 changes: 1 addition & 1 deletion d/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# h
# Inner tree tests

[""]()

Expand Down
Binary file added d/png.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions deface.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
The SHA of this commit begins with `deface`.

It is used to test conflicts between SHA issue references and regular words.

This commit was generated with:

https://github.com/bradfitz/gitbrute
3 changes: 1 addition & 2 deletions diff
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
This file is named `diff` to try and conflict with the GitLab diff URL.
2
Try and conflict with the GitLab diff URL: https://github.com/gitlabhq/gitlabhq/pull/7977
Empty file added empty
Empty file.
File renamed without changes.
88 changes: 88 additions & 0 deletions files.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
## Files

The most interesting files on this repository are:

Markup tests:

- [md.md](markdown.md)
- [issue-md.md](issue-markdown.md): markdown on issues
- [adoc.adoc](adoc.adoc)
- [rdoc.rdoc](rdoc.rdoc)

Routing conflict attempts:

- [atom.atom](atom.atom)
- [diff](diff)
- [diff.diff](diff.diff)
- [patch.patch](patch.patch)

Weird stuff and attacks based on the filenames.

The only filenames which are not valid are:

- contain forward slash `/`
- `.git`
- `.` and `..`, but not `...`

Everything else goes:

- [?a=b&c=d](?a=b&c=d)

- ["](")

- [#](#)

- ['](')

- [:](:)

- [;](;)

- [\\](\\)

- [-](-)

- [--](--)

- [-start-with-slash](-start-with-slash)

- [\.md](\.md)

- whitespace filename edge cases:

- [single whitespace filename](%20)
- [double whitespace directory name](%20%20/) and [its README](%20%20/README.md)
- [a b](a b)

- Case insensitive filename conflict attempt: [CASE](CASE), [case](case) and [CASE-DIR](CASE-DIR), [case-dir](case-dir). Interestingly, however, `.GIT` fails: <https://gitlab.com/cirosantilli/test-GIT/tree/master>

- Very tall or wide Unicode glyphs. [More details](https://www.quora.com/What-are-the-coolest-Unicode-characters/answer/Ciro-Santilli-%E5%85%AD%E5%9B%9B%E4%BA%8B%E4%BB%B6-%E6%B3%95%E8%BD%AE%E5%8A%9F-%E7%BA%B3%E7%B1%B3%E6%AF%94%E4%BA%9A-%E5%A8%81%E8%A7%86).

- Basmala ﷽

<https://github.com/cirosantilli/test-git-web-interface/blob/fc0bf02b85e42e649127d964057e594361c4f305/%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD%EF%B7%BD>

- Unicode Thai combining characters ส็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็็

<https://github.com/cirosantilli/test-git-web-interface/blob/de4a8e71fe6a1fe7f6e95b864c833b0e6965996b/%E0%B8%AA%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87%E0%B9%87>

Magic Git files:

- Git directory inside Git directory: [_git](_git).

For further mischief, the files in that directory were copied to the top-level of the repository.

- [.gitattributes](.gitattributes): TODO empty

Does not seems to lead to arbitrary code execution, as available diff and merge drivers must be set on the config.

GitHub seems to ignore it: <http://stackoverflow.com/a/24382933/895245>

Other interesting things to do are the uppercase `.Git` and the `.git` file, which did not fit well in this repository.

XSS attempts:

- [<script>](<script>)
- `<script src="data:text;utf8,alert('xss')">`
- [svg.svg](svg.svg), with an XSS attempt
- [sym-xss](sym-xss). It's path is an XSS attempt.
Empty file added future
Empty file.
Empty file added future-max
Empty file.
16 changes: 16 additions & 0 deletions generate-commits-fast.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
## Generate many commits fast

It is sometimes interesting to generate a ton of commits to test some edge case, but it is not trivial to go way above 1000 commits in a reasonable amount of time.

Bottom line: don't use `git`. The manual Python code under [other-test-repos](other-test-repos/) presents a huge speedup. TODO: try gitlib2.

1000 operations take on a my computer:

- echo to file, add and commit: 43s
- empty commit with `--allow-empt`: 23s
- `openssl dgst -sha1`: 22s
- `git hash-object --stdin -w`: 21s
- `git hash-object --stdin`: 20s
- `sha1sum` Coreutils: 1.4s.
- touch: 0.9s (same on ramfs).
- `time python3 <(printf 'import hashlib; import sys;\nfor i in range(1000): print(hashlib.sha1(str(i).encode("ascii")).hexdigest())')`: 0.14s TODO: why so much faster than `hash-object`? This is minimum bottleneck per CPU.
Binary file added gif.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
3 changes: 0 additions & 3 deletions huge_table.md

This file was deleted.

1 change: 1 addition & 0 deletions include.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*bold*
62 changes: 62 additions & 0 deletions issue-md.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
- GitHub: https://github.com/cirosantilli/test/issues/4
- GitLab: https://gitlab.com/cirosantilli/test/issues/1

# Line breaks at newline

line1
line2

# References

commit SHA reference:

- full URL: https://github.com/cirosantilli/test/commit/429ebfd5c2aebc7debe32347cb7b19869fa4dd29 https://gitlab.com/cirosantilli/test/commit/429ebfd5c2aebc7debe32347cb7b19869fa4dd29
- full SHA: 429ebfd5c2aebc7debe32347cb7b19869fa4dd29
- 7 char SHA: 429ebfd
- 6 char SHA: 429ebf deface
- 4 char SHA: 429e defa

Commit non-SHA reference:

- tag: https://github.com/cirosantilli/test/commit/annotated https://gitlab.com/cirosantilli/test/commit/annotated
- branch: https://github.com/cirosantilli/test/commit/branch-8 https://gitlab.com/cirosantilli/test/commit/branch-8

Issue reference:

- full URL: https://github.com/cirosantilli/test/issues/5
- zero padded: #000000000000000000000000000000000000000000000000005 , https://github.com/isaacs/github/issues/372

MR reference:

- full URL https://github.com/cirosantilli/test/pull/1 https://gitlab.com/cirosantilli/test/merge_requests/1
- hash id: #1

Tag reference: https://github.com/cirosantilli/test/releases/tag/annotated

## At mention

- regular one to another user that exists: @cirosantilli-puppet

- reserved GitHub usernames which don't 404.
- the at mention link gets created as of 2015-04-01: @about @pricing
- blacklisted that don't 404: @account @c @explore @help @jobs @login @logout @plans @security @settings @shop @signup @status @styleguide @wiki

- Blacklist as of 2010 by an employee: http://www.quora.com/How-do-sites-prevent-vanity-URLs-from-colliding-with-future-features/answer/Kyle-Neath GitHub simply renames squatters. As of 2015-04-01, better was unblacklisted. @account @admin @api @better @blog @cache @changelog @codereview @compare @enterprise @gist @help @hosting @jobs @jobs @lists @login @logout @mine @news @organizations @plans @popular @projects @security @shop @signup @status @stories @styleguide @tour @translations @wiki

- invalid usernames that don't 404 @README.md @CONTRIBUTING.md @500 @404

# Wide stuff

mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm

|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|

# Links

Absolute go to domain: [/README.md](/README.md)

Relative just break: [README.md](README.md).

On GitHub 2015-01, existing files break to 406, and non existent ones to 404. Interesting.
Empty file added javascript:alert('xss')
Empty file.
Binary file added jpg.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
7 changes: 7 additions & 0 deletions long-chinese-commit-msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
This file was created for the long Chinese commit message.

Never modify it so it will always show on the tree.

The message was generated with:

git commit -m `python -c 'print "长" * 255'`
Empty file added long-commit-msg
Empty file.
Loading