这里首先判断是否输入一个存在的目标文件,否则就将读取系统输入os.Stdin作为参数进行输入。
func (runner *Runner) prepareInput() {
var (
finput *os.File
scanner *bufio.Scanner
err error
)
// check if file has been provided
if fileutil.FileExists(runner.options.InputFile) {
finput, err = os.Open(runner.options.InputFile)
if err != nil {
gologger.Fatalf("Could read input file '%s': %sn", runner.options.InputFile, err)
}
scanner = bufio.NewScanner(finput)
} else if fileutil.HasStdin() {
scanner = bufio.NewScanner(os.Stdin)
} else if runner.options.InputURI !="" {
//判断是否输入了-u参数
s := runner.options.InputURI
p := make([]byte, len(s))
url, err := strings.NewReader(s), p
if err != nil {
fmt.Println(err)
}
scanner = bufio.NewScanner(url)
}else {
gologger.Fatalf("No input provided")
}
type Options struct {
CustomHeaders customheader.CustomHeaders
CustomPorts customport.CustomPorts
matchStatusCode []int
matchContentLength []int
(省略一点点...)
InputURI string
}
func ParseOptions() *Options {
options := &Options{}
flag.IntVar(&options.Threads, "threads", 50, "Number of threads")
flag.IntVar(&options.Retries, "retries", 0, "Number of retries")
flag.IntVar(&options.Timeout, "timeout", 5, "Timeout in seconds")
(省略一点点...)
flag.StringVar(&options.InputURI, "u", "", "url containing domains")
flag.Parse()
(省略一点点...)
return options
}
END
本文始发于微信公众号(NOVASEC):给HTTPX增加url输入参数
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论