c++ Generic space filtering exploit prevention









up vote
-4
down vote

favorite












so currently I am making a game that has the functionality to grab specific info from the host site. The issue is I am not sure if exploiters could get around my space check (which would let exploiters change header data), Here is my check currently in c++



 char* siteaccess = aaa.get();
for (size_t i = 0; i < aaa.length(); ++i)
{
if (aaa[i] != ' ')
*siteaccess = aaa[i];
siteaccess++;


currently I could not bypass the check myself so I think I am safe. But I am also a novice at c++ so I believe there is a way around it. I would like to figure out any potential workarounds before my game goes public, If this can be exploited please provide an example(this will help me fix it). Thanks!










share|improve this question





















  • Please clarify exactly what you want to achieve. It looks like you are trying to modify a string based on white-spaces?
    – Henning Koehler
    Nov 9 at 0:14










  • to Henning Koehler: I am modifying the string the user provides that makes a GET request to the url. The goal is that the user cannot make their url "example.com HTTP/1.1" and will get filtered to "example.comhttp/1.1" removing the space. This way the user cannot continue the rest of the request and modify headers, etc. because it will just 404 the request.
    – taxiphone9237
    Nov 9 at 0:19














up vote
-4
down vote

favorite












so currently I am making a game that has the functionality to grab specific info from the host site. The issue is I am not sure if exploiters could get around my space check (which would let exploiters change header data), Here is my check currently in c++



 char* siteaccess = aaa.get();
for (size_t i = 0; i < aaa.length(); ++i)
{
if (aaa[i] != ' ')
*siteaccess = aaa[i];
siteaccess++;


currently I could not bypass the check myself so I think I am safe. But I am also a novice at c++ so I believe there is a way around it. I would like to figure out any potential workarounds before my game goes public, If this can be exploited please provide an example(this will help me fix it). Thanks!










share|improve this question





















  • Please clarify exactly what you want to achieve. It looks like you are trying to modify a string based on white-spaces?
    – Henning Koehler
    Nov 9 at 0:14










  • to Henning Koehler: I am modifying the string the user provides that makes a GET request to the url. The goal is that the user cannot make their url "example.com HTTP/1.1" and will get filtered to "example.comhttp/1.1" removing the space. This way the user cannot continue the rest of the request and modify headers, etc. because it will just 404 the request.
    – taxiphone9237
    Nov 9 at 0:19












up vote
-4
down vote

favorite









up vote
-4
down vote

favorite











so currently I am making a game that has the functionality to grab specific info from the host site. The issue is I am not sure if exploiters could get around my space check (which would let exploiters change header data), Here is my check currently in c++



 char* siteaccess = aaa.get();
for (size_t i = 0; i < aaa.length(); ++i)
{
if (aaa[i] != ' ')
*siteaccess = aaa[i];
siteaccess++;


currently I could not bypass the check myself so I think I am safe. But I am also a novice at c++ so I believe there is a way around it. I would like to figure out any potential workarounds before my game goes public, If this can be exploited please provide an example(this will help me fix it). Thanks!










share|improve this question













so currently I am making a game that has the functionality to grab specific info from the host site. The issue is I am not sure if exploiters could get around my space check (which would let exploiters change header data), Here is my check currently in c++



 char* siteaccess = aaa.get();
for (size_t i = 0; i < aaa.length(); ++i)
{
if (aaa[i] != ' ')
*siteaccess = aaa[i];
siteaccess++;


currently I could not bypass the check myself so I think I am safe. But I am also a novice at c++ so I believe there is a way around it. I would like to figure out any potential workarounds before my game goes public, If this can be exploited please provide an example(this will help me fix it). Thanks!







c++ url whitespace






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 9 at 0:06









taxiphone9237

32




32











  • Please clarify exactly what you want to achieve. It looks like you are trying to modify a string based on white-spaces?
    – Henning Koehler
    Nov 9 at 0:14










  • to Henning Koehler: I am modifying the string the user provides that makes a GET request to the url. The goal is that the user cannot make their url "example.com HTTP/1.1" and will get filtered to "example.comhttp/1.1" removing the space. This way the user cannot continue the rest of the request and modify headers, etc. because it will just 404 the request.
    – taxiphone9237
    Nov 9 at 0:19
















  • Please clarify exactly what you want to achieve. It looks like you are trying to modify a string based on white-spaces?
    – Henning Koehler
    Nov 9 at 0:14










  • to Henning Koehler: I am modifying the string the user provides that makes a GET request to the url. The goal is that the user cannot make their url "example.com HTTP/1.1" and will get filtered to "example.comhttp/1.1" removing the space. This way the user cannot continue the rest of the request and modify headers, etc. because it will just 404 the request.
    – taxiphone9237
    Nov 9 at 0:19















Please clarify exactly what you want to achieve. It looks like you are trying to modify a string based on white-spaces?
– Henning Koehler
Nov 9 at 0:14




Please clarify exactly what you want to achieve. It looks like you are trying to modify a string based on white-spaces?
– Henning Koehler
Nov 9 at 0:14












to Henning Koehler: I am modifying the string the user provides that makes a GET request to the url. The goal is that the user cannot make their url "example.com HTTP/1.1" and will get filtered to "example.comhttp/1.1" removing the space. This way the user cannot continue the rest of the request and modify headers, etc. because it will just 404 the request.
– taxiphone9237
Nov 9 at 0:19




to Henning Koehler: I am modifying the string the user provides that makes a GET request to the url. The goal is that the user cannot make their url "example.com HTTP/1.1" and will get filtered to "example.comhttp/1.1" removing the space. This way the user cannot continue the rest of the request and modify headers, etc. because it will just 404 the request.
– taxiphone9237
Nov 9 at 0:19












1 Answer
1






active

oldest

votes

















up vote
0
down vote



accepted










It looks like your issue is not so much with bypassing your space-removal check in c++ (they cannot), but about finding a string without spaces that stuffs up your get request.



I'm not too familiar with code injection for GET requests, but my suggestion would be to use a library for building your request, as manually fiddling with it is very likely to leave you open to exploits. E.g. a tab character might have the same effect as a white-space?






share|improve this answer




















  • thank you for the fast reply. I am glad that the check is not vulnerable to any bypasses/exploits.
    – taxiphone9237
    Nov 9 at 0:31










Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53217986%2fc-generic-space-filtering-exploit-prevention%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes








up vote
0
down vote



accepted










It looks like your issue is not so much with bypassing your space-removal check in c++ (they cannot), but about finding a string without spaces that stuffs up your get request.



I'm not too familiar with code injection for GET requests, but my suggestion would be to use a library for building your request, as manually fiddling with it is very likely to leave you open to exploits. E.g. a tab character might have the same effect as a white-space?






share|improve this answer




















  • thank you for the fast reply. I am glad that the check is not vulnerable to any bypasses/exploits.
    – taxiphone9237
    Nov 9 at 0:31














up vote
0
down vote



accepted










It looks like your issue is not so much with bypassing your space-removal check in c++ (they cannot), but about finding a string without spaces that stuffs up your get request.



I'm not too familiar with code injection for GET requests, but my suggestion would be to use a library for building your request, as manually fiddling with it is very likely to leave you open to exploits. E.g. a tab character might have the same effect as a white-space?






share|improve this answer




















  • thank you for the fast reply. I am glad that the check is not vulnerable to any bypasses/exploits.
    – taxiphone9237
    Nov 9 at 0:31












up vote
0
down vote



accepted







up vote
0
down vote



accepted






It looks like your issue is not so much with bypassing your space-removal check in c++ (they cannot), but about finding a string without spaces that stuffs up your get request.



I'm not too familiar with code injection for GET requests, but my suggestion would be to use a library for building your request, as manually fiddling with it is very likely to leave you open to exploits. E.g. a tab character might have the same effect as a white-space?






share|improve this answer












It looks like your issue is not so much with bypassing your space-removal check in c++ (they cannot), but about finding a string without spaces that stuffs up your get request.



I'm not too familiar with code injection for GET requests, but my suggestion would be to use a library for building your request, as manually fiddling with it is very likely to leave you open to exploits. E.g. a tab character might have the same effect as a white-space?







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 9 at 0:27









Henning Koehler

1,102610




1,102610











  • thank you for the fast reply. I am glad that the check is not vulnerable to any bypasses/exploits.
    – taxiphone9237
    Nov 9 at 0:31
















  • thank you for the fast reply. I am glad that the check is not vulnerable to any bypasses/exploits.
    – taxiphone9237
    Nov 9 at 0:31















thank you for the fast reply. I am glad that the check is not vulnerable to any bypasses/exploits.
– taxiphone9237
Nov 9 at 0:31




thank you for the fast reply. I am glad that the check is not vulnerable to any bypasses/exploits.
– taxiphone9237
Nov 9 at 0:31

















 

draft saved


draft discarded















































 


draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53217986%2fc-generic-space-filtering-exploit-prevention%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

Edmonton

Crossroads (UK TV series)