mirror of
				https://github.com/mickael-kerjean/filestash.git
				synced 2025-11-04 13:35:46 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			278 lines
		
	
	
		
			47 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			278 lines
		
	
	
		
			47 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package plg_security_scanner
 | 
						|
 | 
						|
import (
 | 
						|
	"bytes"
 | 
						|
	"encoding/base64"
 | 
						|
	"github.com/gorilla/mux"
 | 
						|
	. "github.com/mickael-kerjean/filestash/server/common"
 | 
						|
	"io"
 | 
						|
	"math/rand"
 | 
						|
	"net/http"
 | 
						|
)
 | 
						|
 | 
						|
var (
 | 
						|
	gzipBomb *bytes.Buffer
 | 
						|
	billionsOfLol *bytes.Buffer
 | 
						|
)
 | 
						|
 | 
						|
func init() {
 | 
						|
	if plugin_enable := Config.Get("features.protection.enable").Schema(func(f *FormElement) *FormElement{
 | 
						|
		if f == nil {
 | 
						|
			f = &FormElement{}
 | 
						|
		}
 | 
						|
		f.Default = true
 | 
						|
		f.Name = "enable"
 | 
						|
		f.Type = "boolean"
 | 
						|
		f.Target = []string{}
 | 
						|
		f.Description = "Enable/Disable active protection against scanners"
 | 
						|
		f.Placeholder = "Default: true"
 | 
						|
		return f
 | 
						|
	}).Bool(); plugin_enable == false {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	b, err := base64.StdEncoding.DecodeString("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")
 | 
						|
	if err != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	gzipBomb = bytes.NewBuffer(b)
 | 
						|
	b, err = base64.StdEncoding.DecodeString("PD94bWwgdmVyc2lvbj0iMS4wIj8+CjwhRE9DVFlQRSBsb2x6IFsKIDwhRU5USVRZIGxvbCAibG9sIj4KIDwhRUxFTUVOVCBsb2x6ICgjUENEQVRBKT4KIDwhRU5USVRZIGxvbDEgIiZsb2w7JmxvbDsmbG9sOyZsb2w7JmxvbDsmbG9sOyZsb2w7JmxvbDsmbG9sOyZsb2w7Ij4KIDwhRU5USVRZIGxvbDIgIiZsb2wxOyZsb2wxOyZsb2wxOyZsb2wxOyZsb2wxOyZsb2wxOyZsb2wxOyZsb2wxOyZsb2wxOyZsb2wxOyI+CiA8IUVOVElUWSBsb2wzICImbG9sMjsmbG9sMjsmbG9sMjsmbG9sMjsmbG9sMjsmbG9sMjsmbG9sMjsmbG9sMjsmbG9sMjsmbG9sMjsiPgogPCFFTlRJVFkgbG9sNCAiJmxvbDM7JmxvbDM7JmxvbDM7JmxvbDM7JmxvbDM7JmxvbDM7JmxvbDM7JmxvbDM7JmxvbDM7JmxvbDM7Ij4KIDwhRU5USVRZIGxvbDUgIiZsb2w0OyZsb2w0OyZsb2w0OyZsb2w0OyZsb2w0OyZsb2w0OyZsb2w0OyZsb2w0OyZsb2w0OyZsb2w0OyI+CiA8IUVOVElUWSBsb2w2ICImbG9sNTsmbG9sNTsmbG9sNTsmbG9sNTsmbG9sNTsmbG9sNTsmbG9sNTsmbG9sNTsmbG9sNTsmbG9sNTsiPgogPCFFTlRJVFkgbG9sNyAiJmxvbDY7JmxvbDY7JmxvbDY7JmxvbDY7JmxvbDY7JmxvbDY7JmxvbDY7JmxvbDY7JmxvbDY7JmxvbDY7Ij4KIDwhRU5USVRZIGxvbDggIiZsb2w3OyZsb2w3OyZsb2w3OyZsb2w3OyZsb2w3OyZsb2w3OyZsb2w3OyZsb2w3OyZsb2w3OyZsb2w3OyI+CiA8IUVOVElUWSBsb2w5ICImbG9sODsmbG9sODsmbG9sODsmbG9sODsmbG9sODsmbG9sODsmbG9sODsmbG9sODsmbG9sODsmbG9sODsiPgpdPgo8bG9sej4mbG9sOTs8L2xvbHo+")
 | 
						|
	if err != nil {
 | 
						|
		return
 | 
						|
	}
 | 
						|
	billionsOfLol = bytes.NewBuffer(b)
 | 
						|
 | 
						|
	Hooks.Register.HttpEndpoint(func(r *mux.Router, _ *App) error{
 | 
						|
		// DEFAULT
 | 
						|
		r.HandleFunc("/index.php", WelcomePackHandle)
 | 
						|
		r.PathPrefix("/html/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/public/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/webdav/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/www/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/MAMP/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/xampp/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/web/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/scripts/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
 | 
						|
		// CMS
 | 
						|
		r.PathPrefix("/blog/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/cms/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/wordpress/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/wp/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/wp-admin/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/wp-content/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.HandleFunc("/wp-config.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/wp-login.php", WelcomePackHandle)
 | 
						|
		r.PathPrefix("/wp1/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/wp2/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/wp3/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/wp4/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/wp5/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/wp6/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/wp7/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/wp8/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/images/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/joomla/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/libraries/joomla/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/administrator/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/components/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/templates/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/includes/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/modules/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/plugins/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.HandleFunc("/drupal/", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/Drupal.php", WelcomePackHandle)
 | 
						|
		r.PathPrefix("/core/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.HandleFunc("/web.config", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/server.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/composer.json", WelcomePackHandle)
 | 
						|
		r.PathPrefix("/cacti/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/thinkphp/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
 | 
						|
		// SQL
 | 
						|
		r.PathPrefix("/phpmyadmin/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/pma/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/phpMyAdmin/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/mysqladmin/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/sql/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/myadmin/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/mysql/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/db/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/phpmy/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/phppma/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
 | 
						|
		// OTHER
 | 
						|
		r.HandleFunc("/echo.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/composer.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/uploader.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/shell.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/freenode-proxy-checker.txt", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/cmd.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/muhstiks.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/muhstik.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/jmx-console", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/status.php", WelcomePackHandle)
 | 
						|
		r.PathPrefix("/TP/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/HNAP1/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/manager/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/program/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/shopdb/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/programs/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/jenkins/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.HandleFunc("/w00tw00t.at.blackhats.romanian.anti-sec:)", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/judge.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/muieblackcat", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/.env", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/log", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/configs", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/config", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/cfg", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/gs", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/gsProvision", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/overrides", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/polycom", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/spa.xml", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/yealink", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/help.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/java.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/_query.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/test.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/db_cts.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/db_pma.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/logon.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/help-e.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/license.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/log.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/hell.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/pmd_online.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/x.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/htdocs.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/b.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/desktop.ini.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/z.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/lala.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/lala-dpr.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/wpc.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/wpo.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/t6nv.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/text.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/muhstik2.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/muhstik-dpr.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/lol.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/cmv.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/cmdd.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/knal.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/appserv.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/d7.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/rxr.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/1x.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/home.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/undx.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/spider.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/payload.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/composers.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/izom.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/hue2.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/new_license.php", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/up.php", WelcomePackHandle)
 | 
						|
		r.PathPrefix("/pmd/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/PMA/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/PMA2/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/pmamy/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/pmamy2/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/dbadmin/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/tools/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/phpma/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/php-my-admin/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/websql/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.PathPrefix("/dbadmin/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.HandleFunc("/xmlrpc.php", WelcomePackHandle)
 | 
						|
		r.PathPrefix("/user/").Handler(http.HandlerFunc(WelcomePackHandle))
 | 
						|
		r.HandleFunc("/vuln.htm", WelcomePackHandle)
 | 
						|
		r.HandleFunc("/webconfig.txt.php", WelcomePackHandle)
 | 
						|
		return nil
 | 
						|
	})
 | 
						|
}
 | 
						|
 | 
						|
func WelcomePackHandle(res http.ResponseWriter, req *http.Request) {
 | 
						|
	Log.Info("Attack attempt %s %s %s", req.RemoteAddr, req.URL.String(), req.Header.Get("User-Agent"))
 | 
						|
	r := rand.Intn(100)
 | 
						|
	if r < 5 {
 | 
						|
		HandleWrongContentSmall(res, req)
 | 
						|
	} else if r < 15 {
 | 
						|
		HandleWrongContentLarge(res, req)
 | 
						|
	} else if r < 20 {
 | 
						|
		HandleWrongGzipSmall(res, req)
 | 
						|
	} else if r < 30 {
 | 
						|
		HandleWrongGzipLarge(res, req)
 | 
						|
	} else if r < 40 {
 | 
						|
		HandleRedirectLocalhost(res, req)
 | 
						|
	} else if r < 50 {
 | 
						|
		HandleRedirectOwnIP(res, req)
 | 
						|
	} else if r < 55 {
 | 
						|
		HandleRedirectGeo(res, req)
 | 
						|
	}else if r < 70 {
 | 
						|
		HandleXMLBomb(res, req)
 | 
						|
	} else {
 | 
						|
		HandleGzipBomb(res, req)
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
func HandleWrongContentSmall(res http.ResponseWriter, req *http.Request) {
 | 
						|
	res.Header().Set("Content-Length", "1000")
 | 
						|
	res.Write([]byte(""))
 | 
						|
}
 | 
						|
 | 
						|
func HandleWrongContentLarge(res http.ResponseWriter, req *http.Request) {
 | 
						|
	res.Header().Set("Content-Length", "10000000000000")
 | 
						|
	io.Copy(res, billionsOfLol)
 | 
						|
}
 | 
						|
 | 
						|
func HandleWrongGzipSmall(res http.ResponseWriter, req *http.Request) {
 | 
						|
	res.Header().Set("Content-Encoding", "gzip")
 | 
						|
	res.Header().Set("Content-Type", "text/html")
 | 
						|
	res.Write([]byte("WAZAAAA"))
 | 
						|
}
 | 
						|
 | 
						|
func HandleWrongGzipLarge(res http.ResponseWriter, req *http.Request) {
 | 
						|
	res.Header().Set("Content-Encoding", "gzip")
 | 
						|
	res.Header().Set("Content-Type", "text/html")
 | 
						|
	io.Copy(res, billionsOfLol)
 | 
						|
}
 | 
						|
 | 
						|
func HandleRedirectLocalhost(res http.ResponseWriter, req *http.Request) {
 | 
						|
	req.URL.Host = "127.0.0.1"
 | 
						|
	if req.URL.Scheme == "" {
 | 
						|
		req.URL.Scheme = "http"
 | 
						|
	}
 | 
						|
	http.Redirect(res, req, req.URL.String(), 301)
 | 
						|
}
 | 
						|
 | 
						|
func HandleRedirectOwnIP(res http.ResponseWriter, req *http.Request) {
 | 
						|
	req.URL.Host = req.RemoteAddr
 | 
						|
	if req.URL.Scheme == "" {
 | 
						|
		req.URL.Scheme = "http"
 | 
						|
	}
 | 
						|
	http.Redirect(res, req, req.URL.String(), 301)
 | 
						|
}
 | 
						|
 | 
						|
func HandleRedirectGeo(res http.ResponseWriter, req *http.Request) {
 | 
						|
	http.Redirect(res, req, "geo:37.786971,-122.399677", 301)
 | 
						|
}
 | 
						|
 | 
						|
func HandleXMLBomb(res http.ResponseWriter, req *http.Request) {
 | 
						|
	// https://en.wikipedia.org/wiki/Billion_laughs_attack
 | 
						|
	if rand.Intn(100) < 50 {
 | 
						|
		res.Header().Set("Content-Type", "text/xml")
 | 
						|
	} else {
 | 
						|
		res.Header().Set("Content-Type", "application/xml")
 | 
						|
	}
 | 
						|
	io.Copy(res, billionsOfLol)
 | 
						|
}
 | 
						|
 | 
						|
func HandleGzipBomb(res http.ResponseWriter, req *http.Request) {
 | 
						|
	// https://rehmann.co/blog/10-gb-27-kb-gzip-file-present-http-scanners/
 | 
						|
	res.Header().Set("Content-Encoding", "gzip")
 | 
						|
	res.Header().Set("Content-Type", "text/html")
 | 
						|
	io.Copy(res, gzipBomb)
 | 
						|
}
 |