MCPcopy Create free account
hub / github.com/devploit/nomore403 / TestVerbTamperingPreservesQueryString

Function TestVerbTamperingPreservesQueryString

cmd/bypass_test.go:887–921  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

885}
886
887func TestVerbTamperingPreservesQueryString(t *testing.T) {
888 resetTestState()
889
890 ts, getRequests := testServer(t, nil)
891 defer ts.Close()
892
893 payloadsDir := setupPayloadsDir(t)
894
895 opts := RequestOptions{
896 uri: ts.URL + "/admin?token=abc123&role=user",
897 headers: []header{{"User-Agent", "test"}},
898 method: "GET",
899 proxy: &url.URL{},
900 folder: payloadsDir,
901 timeout: 5000,
902 rateLimit: false,
903 redirect: false,
904 verbose: true,
905 }
906
907 requestMethods(opts)
908
909 reqs := getRequests()
910 if len(reqs) == 0 {
911 t.Fatal("expected requests, got 0")
912 }
913
914 // All requests should preserve the query string
915 for _, r := range reqs {
916 rawURI := r.URL.RequestURI()
917 if !strings.Contains(rawURI, "token=abc123") || !strings.Contains(rawURI, "role=user") {
918 t.Errorf("query string lost in verb tampering request: %s", rawURI)
919 }
920 }
921}
922
923func TestHeadersIncludesHostVariations(t *testing.T) {
924 resetTestState()

Callers

nothing calls this directly

Calls 4

resetTestStateFunction · 0.85
testServerFunction · 0.85
setupPayloadsDirFunction · 0.85
requestMethodsFunction · 0.85

Tested by

no test coverage detected