Add web framework: github.com/gofiber/fiber#539
Conversation
|
I think these are fine to go into non-experimental. Also, I think we should save the spec files for these somewhere in case we want to regenerate them for some reason. @smowton do you know if there's a problem with including them inside |
|
Similar to the FastHTTP PR, Before we make this non-experimental we should evaluate the results on all projects -- @sauyon would you mind kicking off XSS and OpenRedirect restricted to the sinks/sources specified in this package and see what we get? Same goes for FastHTTP. |
Should I include the spec in each PR? |
|
Yes, I think it would make sense to have. |
|
I added the specs. To use them, run: make run-linux spec=/path/to/codemill-specs/web-frameworks/FastHTTP.json dir=generated http=true gen=trueor GOPACKAGESDEBUG=true GO111MODULE=on GOOS=linux GOARCH=amd64 go run main.go --spec=/path/to/codemill-specs/web-frameworks/FastHTTP.json --dir=generated --http=true --gen=true --summary=trueor a variation of that. |
Any news on that front? |
|
Hey, any news here? |
|
Stuck in limbo waiting for a change to LGTM which may or may not happen. On that note: are you intending to make the changes that |
Are the suggested changes necessary for the LGTM compare? For the time being (if those changes aren't immediately necessary) I'll stand by and wait to have some clarity about the next steps in the evolution of the bug bounty program 🤔 This "little" project is taking waaay much longer to complete that I expected 😰 |
|
The LGTM runs looks fine to me; let me know if you'd prefer that we finished up these frameworks ourselves. |
I'd like to wait a few more weeks before jumping ship. |
|
It think if you address the comment
Then this is likely good to go |
|
Awesome! I'll fix that today
|
The A client can specify any protocol and the server will accept it because it doesn't care (in many cases). Example: Server: package main
import (
"fmt"
"log"
"github.com/valyala/fasthttp"
)
func main() {
listenAddr := "127.0.0.1:8087"
requestHandler := func(ctx *fasthttp.RequestCtx) {
fmt.Fprintf(ctx, "Hello, world! Request protocol is %q", ctx.Request.Header.Protocol())
}
if err := fasthttp.ListenAndServe(listenAddr, requestHandler); err != nil {
log.Fatalf("error in ListenAndServe: %s", err)
}
}and let's send a request with the printf "HELLO whatever DONUT/123\r\n\r\n" | nc 127.0.0.1 8087which outputs: As for the argument "Everyone uses a load balancer in front of their services", I could assume that about any vulnerability and mitigation. |
|
🥳 🎊 |

Part of github/securitylab#335
CodeQL Module Summary for
Fiber:Packages:
Model kind
TaintTracking:FUNCS:Model kind
HTTP::Redirect:FUNCS:Model kind
HTTP::HeaderWrite:FUNCS:Model kind
HTTP::ResponseBody:FUNCS:Model kind
UntrustedFlowSource:FUNCS:STRUCTS: