-[Project Services](project_services/project_services.md) Integrate a project with external services, such as CI and chat.
-[Project Services](project_services/project_services.md) Integrate a project with external services, such as CI and chat.
-[Public access](public_access/public_access.md) Learn how you can allow public and internal access to projects.
-[Public access](public_access/public_access.md) Learn how you can allow public and internal access to projects.
-[SSH](ssh/README.md) Setup your ssh keys and deploy keys for secure access to your projects.
-[SSH](ssh/README.md) Setup your ssh keys and deploy keys for secure access to your projects.
-[Webhooks](web_hooks/web_hooks.md) Let GitLab notify you when new code has been pushed to your project.
-[Webhooks](user/project/integrations/webhooks.md) Let GitLab notify you when new code has been pushed to your project.
-[Workflow](workflow/README.md) Using GitLab functionality and importing projects from GitHub and SVN.
-[Workflow](workflow/README.md) Using GitLab functionality and importing projects from GitHub and SVN.
-[Git Attributes](user/project/git_attributes.md) Managing Git attributes using a `.gitattributes` file.
-[Git Attributes](user/project/git_attributes.md) Managing Git attributes using a `.gitattributes` file.
-[Git cheatsheet](https://gitlab.com/gitlab-com/marketing/raw/master/design/print/git-cheatsheet/print-pdf/git-cheatsheet.pdf) Download a PDF describing the most used Git operations.
-[Git cheatsheet](https://gitlab.com/gitlab-com/marketing/raw/master/design/print/git-cheatsheet/print-pdf/git-cheatsheet.pdf) Download a PDF describing the most used Git operations.
If you have non-GitLab web services running on your GitLab server or within its local network, these may be vulnerable to exploitation via Webhooks.
If you have non-GitLab web services running on your GitLab server or within its local network, these may be vulnerable to exploitation via Webhooks.
With [Webhooks](../web_hooks/web_hooks.md), you and your project masters and owners can set up URLs to be triggered when specific things happen to projects. Normally, these requests are sent to external web services specifically set up for this purpose, that process the request and its attached data in some appropriate way.
With [Webhooks](../user/project/integrations/webhooks.md), you and your project masters and owners can set up URLs to be triggered when specific things happen to projects. Normally, these requests are sent to external web services specifically set up for this purpose, that process the request and its attached data in some appropriate way.
Things get hairy, however, when a Webhook is set up with a URL that doesn't point to an external, but to an internal service, that may do something completely unintended when the webhook is triggered and the POST request is sent.
Things get hairy, however, when a Webhook is set up with a URL that doesn't point to an external, but to an internal service, that may do something completely unintended when the webhook is triggered and the POST request is sent.
...
@@ -10,4 +10,4 @@ Because Webhook requests are made by the GitLab server itself, these have comple
...
@@ -10,4 +10,4 @@ Because Webhook requests are made by the GitLab server itself, these have comple
If a web service does not require authentication, Webhooks can be used to trigger destructive commands by getting the GitLab server to make POST requests to endpoints like "http://localhost:123/some-resource/delete".
If a web service does not require authentication, Webhooks can be used to trigger destructive commands by getting the GitLab server to make POST requests to endpoints like "http://localhost:123/some-resource/delete".
To prevent this type of exploitation from happening, make sure that you are aware of every web service GitLab could potentially have access to, and that all of these are set up to require authentication for every potentially destructive command. Enabling authentication but leaving a default password is not enough.
To prevent this type of exploitation from happening, make sure that you are aware of every web service GitLab could potentially have access to, and that all of these are set up to require authentication for every potentially destructive command. Enabling authentication but leaving a default password is not enough.
@@ -573,7 +573,7 @@ A [model](http://www.umsl.edu/~hugheyd/is6840/waterfall.html) of building softwa
...
@@ -573,7 +573,7 @@ A [model](http://www.umsl.edu/~hugheyd/is6840/waterfall.html) of building softwa
### Webhooks
### Webhooks
A way for for an app to [provide](https://docs.gitlab.com/ce/web_hooks/web_hooks.html) other applications with real-time information (e.g., send a message to a slack channel when a commit is pushed.) Read about setting up [custom git hooks](https://gitlab.com/help/administration/custom_hooks.md) for when webhooks are insufficient.
A way for for an app to [provide](https://docs.gitlab.com/ce/user/project/integrations/webhooks.html) other applications with real-time information (e.g., send a message to a slack channel when a commit is pushed.) Read about setting up [custom git hooks](https://gitlab.com/help/administration/custom_hooks.md) for when webhooks are insufficient.
"title":"Tempora et eos debitis quae laborum et.",
"created_at":"2015-03-01 20:12:53 UTC",
"updated_at":"2015-03-21 18:27:27 UTC",
"milestone_id":11,
"state":"opened",
"merge_status":"cannot_be_merged",
"target_project_id":5,
"iid":1,
"description":"Et voluptas corrupti assumenda temporibus. Architecto cum animi eveniet amet asperiores. Vitae numquam voluptate est natus sit et ad id.",
"title":"Tempora et eos debitis quae laborum et.",
"created_at":"2015-03-01 20:12:53 UTC",
"updated_at":"2015-03-21 18:27:27 UTC",
"milestone_id":11,
"state":"opened",
"merge_status":"cannot_be_merged",
"target_project_id":5,
"iid":1,
"description":"Et voluptas corrupti assumenda temporibus. Architecto cum animi eveniet amet asperiores. Vitae numquam voluptate est natus sit et ad id.",